测试开发之路

不懂业务基础,做手动测试就是瞎做。自动化测试也是如此。

随着测试在软件开发周期中越来越受到重视,BAT大部分开始取消了测试工程师职位,全部变成了测试开发职位。需要在具有测试能力的基础上兼备开发能力;另一方面自动化测试成为趋势,利用开发的技巧解决测试中的问题以提高测试效率,降低QA与RD的人力比。

潜意识里面测试的技术含量没有开发高。客观地说,在软件编码方面测试开发的技术含量确实不如纯正的开发职位,更不用说测试职位了。如果希望在测试的职业生涯上有所发展的人,先参与几年的研发工作,毕竟那才是软件工程中的主体,然后在开发过程中培养测试意识,这也是程序员的职业素养。现在许多测试理论,无论白盒测试还是黑盒测试,无论单元测试、集成测试还是系统测试,大部分的方法论都是开发人员提出来的。再一次证明,不参与软件主体的研发工作是不可能深入理解测试的。

测试开发工程在公司一般有两种,一种是单纯为测试团队开发测试工具或者系统。另一种就是在测试过程中发挥主观能动,利用自动化把重复劳动降至最低,比如开发适用于特定场景的测试工具、测试脚本和测试用例。

测试可以涵盖的方面很多,但人的精力毕竟有限,测试开发工程师也必须拥有自己的核心竞争力,选定一个方向是个不错的做法,致力成为某方面的专家,比如单元测试(不要认为是开发人员做的,很多开发人员没有单测意识和技巧)、性能测试、安全测试。

测试开发工程师需要培养自己的大局观,这个是在职业过程中有意培养的,公司现阶段的任务是什么?侧重点是什么?在大公司需要顺势而为,QA的本职工作是保证质量,需要借助与流程、工具和其他外部资源,所以在工作的时候尽量与大方向契合。比如公司去年是QA内部水平提高的一年,需要QA具备单元测试、Code Review方面的能力,今年是保证质量的前提下,提高软件发布周期,主推持续集成。

2V(Validation和Verification)是QA的基本职责,即保证两点:Validation,软件按照既定的需求开发,没有偏离产品方向;Verification,软件在满足需求的基础上保证其正确性,从功能、性能、安全等各个方面验证。

软件背后是人,是PM制定的需求,是RD进行开发的, 那测试背后实际上测的是人而不是软件。人总是可能存在思维漏洞的,人总是可能犯错误的,所以永远会有bug,但有些人心细,有些人负责,自己开发完后会自己进行单测、功能测试,以致后续能发现他的bug已经很少了。

无论在大公司还是小公司,大家都有压力,都要发展,心态就很重要了,以创业者而不是打工者的心态来工作看待很多问题就截然不同了。

posted @ 2018-08-27 16:54  jaysonzxk  阅读(153)  评论(0编辑  收藏  举报