请问软件测试工程师需要把握哪些技术?
第一步,测试基础:
测试基础是软件测试最最最重要的部分,只要你是做测试,不管是什么测试,测试的基础、理论知识都是必须学会的。可能就包括:测试计划编写、设计测试用例、编写测试报告、编写BUG报告单、跟踪BUG修复情状、还需要良好的沟通能力、以及各种测试阶段所使用的测试 *** 、单元测试、功能测试、集成测试、系统测试等。
通用技能上:1.基本计算机知识(操作系统,数据库,通讯协议原理,熟悉至少一门编程语言)2.基本软件测试知识(各种测试理论,测试 *** 论,测试用例编写,缺陷界定准则,软件质量评估)3.简单项目治理知识产品、系统认知:1.熟悉所测产品功能,能够将产品文档内描述的UC转化成TC,这个最最基本2.熟悉所测产品的一些隐躲需求或者功能(业务上的进阶能力)打个比方,支付公司上一种新的支付渠道,熟悉业务的测试人员应当可以预见到这次升级可能会对前段界面、系统账务、各类报表等各个模块造成影响,从而一并纳进测试范畴。要知道,很多时候,即便是接进这些渠道的产品经理,也不一定会在Prd或者UC中对这些可见影响项一一列出,这需要体会和责任心。性格上:1.有牛皮糖属性的为佳,越“不要脸”越好测试工程师,在很多公司,和研发是有业务上对立属性的(虽然从宏看角度上来说,都是为了提高软件质量服务)。测试工程师提交的BUG越多,意味着研发工程师工作质量越差,需要返工的工作量也越大,甚至会影响绩效,所以测试工程师有时候很轻易得罪研发部门。一个可以相对坚持原则(比如3级BUG以上一定要改),又能拉下脸和不愉快的研发工程师保持较好关系的测试工程师,会对项目质量起到很要害作用。说到底,又能做事(发现BUG并督促修改),又会做人(该进的不让,该退的绝对给面子,最大化消除部门间矛盾)的测试工程师,是十分难得的。2.有异想天开属性的为佳这个只可意会,不好言传的。在我带过的团队里,的确有那种奇葩……经常会用令人匪夷所思的方式找出BUG,这是天赋。3.会“偷懒”的为佳这里的偷懒不是指上班发微博谈天混日子,而是能够利用已知资源对枯燥乏味的测试工作进行优化的同学。说个实例:我以前公司曾经上过一个“授信”项目,做过金融类项目的同学大家都知道。授信项目的测试用例真可以说是相当变态,随着账期、滞纳金率、手续费率、利息率、本金、还款情状的不同,可以衍生出无比多的用例,同时每个用例进行编写时,都要仔细依据规则计算预期结果的资金状况,非常费力。咱部门一个小伙子,头一天晚上拿了PRD,第二天晚上就利用Excel写了一个固定某些账期下不同情状下的各项资金计算工具(有一些小BUG,无伤大雅)……大大减少了兄弟们按计算器的工作时间。这种“懒”员工,你是领导你喜欢不?事情没完,在实际测试的过程中,我们发现一旦研发修改了BUG,会引发其他用例的大崩溃(这类项目真悲剧,牵一发动全身),每次版本升级我们都不得不进行全面的 *** 测试。太坑爹了,这不是要命么?聪明的测试同事们又想偷懒了,他们在数据库端写了一个数据匹配工具,每次新跑用例就拿正确的(已保存)数据文件自动往比对新产生的文件,自动返回比对结果。兄弟们再也不用每次 *** 都一行行打SQL往查数据了,棒极了。在研发修改BUG之余,他们自己写了一套存储过程,可以实现数据的自动 *** 和增量备份,再也不用每次把所有数据擦光从第一个交易日跑起了,棒极了!说了那么多,其实就一句话:干一行,爱一行。