目前,在IT行业中测试的职位数量仅次于开发,可以说是第二大技术就业岗位。然而许多人对测试工程师工作的理解还停留在,只需要像用户一样使用产品,然后发现有问题提交报告就行了。其实这是极其不准确的,软件测试工程师在测试产品前后通常有很多工作要做。下面我们就一起来看看软件测试工程师的工作流程。

1、需求分析阶段

当我们需要确定产品功能的时候,通常是产品经理和开发经理讨论制定需求细节,开发人员和测试人员参与评审。比如要做一个K12在线教育系统,需要具体实现哪些具体功能,和功能的细节需求。功能要一一列出来,比如:直播课程,录播课程,学生老师注册,学生考试等等。每个功能点要不断细化,直到可以给开发人员没有什么疑问,可以着手开发工作。比如学生考试功能,考试功能包括哪些子功能?创建试卷、学生答题、批改方式、结果呈现、数据分析等等。每个子功能还要继续细化。试卷要包含多少题?题目是系统自动选择还是人工挑选?系统自动选择题目的时候,注意根据哪些要素?考完是自动批改吗?

这个阶段测试人员需要做如下事情:评审需求文档,通过评审了解需求,甚至参与需求分析讨论,看看需求有没有错误、矛盾、遗漏的地方。整理测试需求,就是通过需求文档的评审分析(产品、开发人员往往会写的比较乱,不全面),从测试的角度进行需求和场景的分类。其实这是更加具体的、有条理的需求文档。相当于测试用例的提纲,为后续编写测试用例准备测试需求。

2、设计阶段

开发工程师不是一上来就编码的,需求阶段只是做了高层需求的设计,完成这个高层需求,还需要开发人员进行系统设计、子系统设计、接口设计等。比如,要开发Web网站,需要开发人员根据需求文档,设计系统的前端和后端的信息交互接口等。通常也要设计文档,这些是开发编码的依据。

这个阶段,测试人员根据开发人员的设计文档,和开发人员多交流,得知产品的细节功能。包括系统的细节功能、界面原型,这些是写测试用例的依据。有条件的,甚至应该了解系统内部设计,比如分为一个大的子系统,之间的接口,如何通讯。这对写出更有针对性的测试用例非常有帮助。流程比较细致的企业,测试人员也会参与设计文档的评审,甚至代码评审。搞清楚产品设计细节(甚至一部分实现细节)后,测试团队就应该制定测试计划,编写测试用例。

3、开发阶段

开发阶段当然就是开发工程师(码农们)加班加点、没日没夜的根据设计开发了。这时,测试工程师不要闲着,有些事情可以做。比如下面的工作流程:

(1)评审测试用例;

(2)准备测试工具、学习使用测试工具;

(3)准备测试环境;

(4)和开发人员保持沟通,因为开发过程中开发人员随时可能推翻原来的设计,修改功能,你要相应改变测试用例。

4、发布测试版本阶段

到了终于发布测试版本的阶段,软件测试工程师的主要工作,当然就是根据前面写的测试用例进行测试了。测试发现的问题(bug)提交的问题跟踪系统,比如:BugZilla、JIRA之类。当第一轮测试结束后,会发现一批bug,当然开发人员需要修改这些bug。并不是所有的bug都会立刻修改,根据发现bug的严重程度和出现几率,开发人员确定优先级,修复一批bug。修改后会发布一个新的测试版本。测试人员需要根据这个新的测试版本进行测试,这次测试有两个目的,一是验证开发工程师修复的bug是否正确修复了,二是确保在修复的过程中没有引入其他bug。

5、自动化测试阶段

一个复杂的产品,要经过很多轮的回归测试,才能最终发布。每轮回归都有大量的测试用例需要重测,防止修复bug的过程中引入新的bug。这样的反复测试,非常耗费测试工程师的精力。一个经典的解决方法,就是使用自动化测试系统,代替人工测试。有经验的测试经理会在合适的时机,组建自动化团队,开发自动化系统。并且合理的分批次挑选用例,进行自动化,从而有效的提高测试效率。

以上内容为大家介绍了软件测试工程师的工作流程是什么?,本文由多测师亲自撰写,希望对大家有所帮助。https://www.duoceshi.com/xwzx-hydt/1174.html

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部