在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
目前,在IT行业中测试的职位数量仅次于开发,可以说是第二大技术就业岗位。然而许多人对测试师工作的理解还停留在,只需要像用户一样使用产品,然后发现有问题提交报告就行了。其实这是极其不准确的,软件测试师在测试产品前后通常有很多工作要做。下面我们就一起来看看软件测试师的工作流程。
1、需求分析阶段
当我们需要确定产品功能的时候,通常是产品经理和开发经理讨论制定需求细节,开发人员和测试人员参与评审。比如要做一个K12在线教育系统,需要具体实现哪些具体功能,和功能的细节需求。功能要一一列出来,比如:直播课程,录播课程,学生老师注册,学生考试等等。每个功能点要不断细化,直到可以给开发人员没有什么疑问,可以着手开发工作。比如学生考试功能,考试功能包括哪些子功能?创建试卷、学生答题、批改方式、结果呈现、数据分析等等。每个子功能还要继续细化。试卷要包含多少题?题目是系统自动选择还是人工挑选?系统自动选择题目的时候,注意根据哪些要素?考完是自动批改吗?
这个阶段测试人员需要做如下事情:评审需求文档,通过评审了解需求,甚至参与需求分析讨论,看看需求有没有错误、矛盾、遗漏的地方。整理测试需求,就是通过需求文档的评审分析(产品、开发人员往往会写的比较乱,不全面),从测试的角度进行需求和场景的分类。其实这是更加具体的、有条理的需求文档。相当于测试用例的提纲,为后续编写测试用例准备测试需求。
2、设计阶段
开发工程师不是一上来就编码的,需求阶段只是做了高层需求的设计,完成这个高层需求,还需要开发人员进行系统设计、子系统设计、接口设计等。比如,要开发Web网站,需要开发人员根据需求文档,设计系统的前端和后端的信息交互接口等。通常也要设计文档,这些是开发编码的依据。
这个阶段,测试人员根据开发人员的设计文档,和开发人员多交流,得知产品的细节功能。包括系统的细节功能、界面原型,这些是写测试用例的依据。有条件的,甚至应该了解系统内部设计,比如分为一个大的子系统,之间接口,如何通讯。这对写出更有针对性的测试用例非常有帮助。流程比较细致的企业,测试人员也会参与设计文档的评审,甚至代码评审。搞清楚产品设计细节(甚至一部分实现细节)后,测试团队就应该制定写测试计划,编写测试用例。
3、开发阶段
开发阶段当然就是开发工程师(码农们)加班加点、没日没夜的根据设计开发了。这时,测试工程师不要闲着,有些事情可以做。比如下面的工作流程:
(1)评审测试用例;
(2)准备测试工具、学习使用测试工具;
(3)准备测试环境;
(4)和开发人员保持沟通,因为开发过程中开发人员随时可能推翻原来的设计,修改功能,你要相应改变测试用例。
4、发布测试版本阶段
到了终于发布测试版本的阶段,软件测试师的主要工作,当然就是根据前面写的测试用例进行测试了。测试发现的问题(bug)提交的问题跟踪系统,比如:BugZilla、JIRA之类。当一轮测试结束后,会发现一批bug,当然开发人员需要修改这些bug。并不是所有的bug都会立刻修改,根据发现bug的严重程度和出现几率,开发人员确定优先级,修复一批bug。修改后会发布一个新的测试版本。测试人员需要根据这个新的测试版本进行测试,这次测试有两个目的,一是验证开发工程师修复的bug正确修复了,二是确保在修复的过程中没有引入其他bug。
5、自动化测试阶段
一个复杂的产品,要经过很多轮的回归测试,才能最终发布。每轮回归都有大量的测试用例需要重测,防止修复bug的过程中引入新的bug。这样的反复测试,非常耗费测试工程师的精力。一盒经典的解决方法,就是使用自动化测试系统,代替人工测试。有经验的测试经理会在合适的时机,组件自动化团队,开发自动化系统。并且合理的分批次挑选用例,进行自动化,从而有效的提高测试效率。
以上就是软件测试师的具体工作流程介绍,在产品需求分析、设计、开发、上线运营各个阶段,软件测试师都有相应的工作要做。而一个合格的软件测试师,首先要理解产品各个阶段的总体目标,然后明白自己各阶段应该做什么,这样才能做好本职工作。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
软件测试工程师待遇如何?工资是多少?
软件测试工程师待遇如何?工资是多少?这个问题如果细心的朋友直接在各大招聘网站上查询,就会知道。现在软件测试工程师薪资一般在10000元以上。因为整个互联网行业对软件测试的重视程度越来越大,所以软件测试工程师的薪资也水涨船高。那价值1000元以上的软件测试人员需要掌握哪些技术呢?如果培训去哪家机构比较好呢?
6949
2019-08-08 14:08:33
软件测试面试题汇总:测试计划(1)
随着移动互联网的发展,软件测试求职者越来越多,针对许多同学的需求,我们来复习一下有关测试计划的知识点。测试计划是软件测试面试的常见问题,也是同学们必须掌握的基础知识。
8179
2019-07-03 10:53:10
自动化测试是什么?为什么要做自动化测试?
自动化测试是什么?相信对软件测试有一定了解的朋友都不会感到陌生。自动化测试正如字面上理解得那样,是一种自动完成测试工作的测试方式。虽然是说的自动化,但是也是需要测试员手动编写代码去完成测试工作。那么,为什么要做自动化测试呢?下面我们来深入了解一下,自动化测试的定义以及其在软件测试工作中无可比拟的优势。
8062
2020-02-10 20:07:09
Pytest框架如何快速入门?
众所周知,Pytest框架作为一个功能全面的Python测试框架,它的优点是显而易见的,简单灵活易上手的操作方式,加上支持参数化和简单的单元测试、复杂的功能测试,以及可以自定义扩展的第三方插件,都成为了软件测试从业者不得不学习它的理由。那么,Pytest框架如何快速入门呢?
4723
2020-04-09 23:28:48
自动化测试是什么?应用在哪儿?
软件测试是一个涉及很广的领域,本质是质量保障,所以不是要求你去专研某一个知识而是去专研其实用性,如何更可能的节省测试成本和保证测试质量。想要做好软件测需要对系统业务、编程、系统框架搭建有所专研,更需要在测试流程与平台建设方面有所认识。
3964
2021-03-19 11:11:36