摘要:
我经常看到其它网站论坛上有测试菜鸟在问怎么学习软件测试,也经常遇到面试新丁在软件测试认知上的严重不足,以及一部分测试员对未来的迷茫。下面我会对如何入门软件测试,理论的重要性,学习的方法和职业发展等提下自己的一些意见和想法。我相信你认真读完后,会对怎么入门测试,学习测试,以及未来的测试发展之路有一个更为清晰的认识。
怎么入门软件测试?
软件测试说简单,也确实简单。说难,也确实很难。简单是通常如大家所说的,软件测试很容易上手,难是很少有人能做好做深。那对于一个打算从事这份职业的新人,应该怎么入门呢?如果你打算花钱找一个专门的培训机构进行学习,那也许这部分内容不适宜你,请跳过。下面我主要针对个人谈下应如何入门软件测试。
软件测试并不是门外汉想的“敲敲键盘,点点鼠标”,我相信你已经明白这点,就如一个好的程序员也不是说“就是对着电脑屏幕码字一样的码农”一样。软件测试入门,我这里有些建议:
- 学习软件测试基本理论,如清楚什么是黑盒测试,什么是白盒测试,它们的测试方法有哪些?
- 至少了解SQL、编程、网络基础知识,这在定位bug,以及和开发沟通时很有用。
- 培养自己的沟通表达能力,优秀的程序员都必须有较强的文字表达能力和沟通交流能力。这部分可以参考《软件测试沟通技巧》一文。
- 了解一些常用的测试及测试管理工具。测试工具如httpwatch,IETester等,测试管理工具如bugzilla、QC等。这些可以在网上去搜罗一下,熟悉并使用它们。
- 每天至少花一到两个小时用于学习,不仅仅是测试,包括开发等相关知识。
软件测试理论的重要性
在上面的建议中,我把测试基本理论放在了第一条。为什么我认为测试基础理论非常重要呢?我在面试时经常遇到新丁,以及一部分做了相当一段年限(如两年至更久)的测试员对测试基础理论知识的匮乏,而匮乏的基础理论知识也造成他们在回答我问题时的混乱逻辑。理论决定思想,思想决定成败。因而我在进人时,更注重他(她)对测试基础理论的掌握情况。我认为人只有思想上去了,做事情才能有条不紊,才能避免遗漏,才能把事情做好,也更有上升空间。而从实际来看,一般基础知识掌握的更为扎实的测试员,往往做事情也确实更为让人可靠放心。所以如果你打算从事这个行业,那建议你认真对待测试基础理论,可能会比较枯燥,但它是保证你工作效率和质量的前提。(软件测试理论学习可以移步专题《小酋测试 - 软件测试入门到精通》)
安排好工作任务和空隙时间
善于安排你的工作
大家都知道2/8原则,即决定一个事情成败的往往取决于20%的关键因素。因此大家在做事情时,也应该把自己的主要精力放在20%的关键因素上。如分配给你的测试任务,你应该根据任务的重要程度,紧急程度划分优先级,先保证那部分完成好。
养成记日记的习惯,我们每天工作之前,都应该把自己当天要做的事情列出来,根据上面的2/8原则进行排序,以确保工作有条不紊的进行。当一件事情做完后,最好在那条任务后面备注上完成情况,方便我们后续的工作汇报。
不要肆意挥霍空隙时间
通常情况下,在测试完一个项目后都有一段空隙时间。往往部分测试人员会因为没事情做,把过多的精力放在手机聊天、浏览与技术无关的网页以及其它一些事情上。实际上,这时上面不给你安排具体任务,是希望你能自己对前面的工作做一个梳理和总结,能够查漏补缺,并能主动去学习一些新的技术知识。优秀的测试员,乃至其它优秀的技术人员,都会聪明的利用好这段时间,这也是他们越加优秀的关键因素之一。
软件测试的进阶
学习软件测试不是一件容易的事情。进入软件测试一段时间后,我们也应该对自己的专业技术能力进行提高,以便我们能胜任更加关键性的项目测试,提高自己在团队中的位置。那软件测试应该如何进阶呢?
说到软件测试进阶,那首先说下软件测试的进阶方向。不同的人因为性格不同,知识背景不同等。往往会往适合往不同的测试方向发展。这些方向包括业务功能测试、界面及友好性测试,自动化测试,性能测试,安全测试等。
如果你要进阶,可以根据自己的情况选好一个方向并深入进去。如业务功能测试,你可能需要更多去挖掘业务方面的知识,了解更多优秀的功能测试方法等;界面及友好性测试,那可能你需要了解更多浏览器兼容性,用户心理行为,视觉和感官,审美等方面的知识;自动化测试,那可能需要你去了解自动化框架,脚本语言(如Python)、测试工具等方面的知识;性能测试,那可能会要求更多,包括编程语言、数据库、中间件、计算机原理、网络基础、深挖怎么设计场景等相关知识;安全测试也是一个不错的选择,那就需要你了解常见的安全测试内容,漏洞扫描,渗透测试等相关知识。
我们不可能做到面面都精通,为了更好的发展,我们可以先去精通一方面。然后再提高自己知识的广度,这样我们不至于在遇到突发情况时而措手不及。往往最优秀的测试员,会有自己最擅长的一方面,同时具备广博的计算机工程技术知识及其它领域知识。
软件测试的职业发展
软件测试我认为也是可以做一辈子的职业,至少在美国来看确实是这样。我相信随着国内对软件质量这块的重视程度,这方面也会有所改善。优秀的软件公司,也应希望自己拥有资深的质量专家来指导自己的产品研发。所以,如果可能的话,你也可以努力把自己朝测试专家去发展。
对于一个优秀的测试人员,应该不会对自己的职业发展有太多迷茫。一个优秀的测试人员,往往也是一个多方面能手,出色的编程人员、安全专家、QA,需求分析师等,所以他们有更多的选择和机会。包括带领项目团队,或作为一名高级技术顾问等。
总结:
学习测试技术不难,学好测试技术不简单。可能你在做测试过程中有着迷茫和选择的考验,如果要改变这种情况,那请首先保证你变得足够优秀。测试这个职业有着广阔的前景,就看你怎么去认识它。测试仍然没有任何定论,一切看我们自己。
关注公众号“51ste软件测试部落”,在后台输入“测试资料”可获取一套软件测试学习资料(长期更新)。