软件测试流程

        一个完整的软件测试流程至少包括以下几个环节:

1. 需求评审。在需求评审阶段,产品会向开发、测试等介绍当次迭代的需求,但需求评审除了产品介绍需求外,还有一个重要目的就是评审出需求的优先级,砍掉非核心的、设计有缺陷的需求,对小瑕疵的需求提出建议,明确当次迭代的需求。因此,需求评审阶段,作为开发、测试,也一定要学会向产品问问题,需求评审上问题理得越清楚,实际开发及后期测试中,问题就会越少。但在不少互联网公司中,需求评审往往流于形式,一个重要的原因在于需求评审阶段,开发、测试等问的问题不多;而开发、测试之所以问不出高质量的问题,一个重要原因也是因为开发、测试并没有去提前阅读需求文档。因此,要做好需求评审,一定要提前阅读需求文档,批判性地阅读需求文档,多问几个“这样设计会不会有逻辑Bug?这个需求有必要吗?产品文档写清楚了吗?我看懂了吗?”等问题。然后带着问题去需求评审会,提出建设性的建议和意见,解除疑惑,明确需求,我相信这样会让需求评审更有价值。

2. 测试需求分析。这也是非常关键的一步,是测试工程师的重要分水岭。拿到产品需求后,我们要把一个特定的产品需求转换为多个测试需求,再把每个测试需求转换为多个测试点,基于每个测试点写去设计测试用例。一个产品需求和多个测试需求是一对多的关系,一个测试需求和多个测试用例也是一对多的关系。例如登录功能,这个产品需求就对应了登录的功能测试需求、安全测试需求、性能测试需求、兼容性测试和UI界面测试需求。而功能测试需求,又分为输入正确的用户名和密码进行登录、输入错误的用户名和密码进行登录、不输入密码登录等测试用例。安全测试需求则有登录成功后长期不使用软件是否会自动登出、是否支持多端登录(如果不支持,一端登录会导致另一端登出)等测试用例。性能测试和UI界面测试同理(如下图)。测试需求分析,经常会借助思维导图或Excel等工具。此外,优秀的测试工程师是一定要非常熟悉业务的,如果在需求评审阶段对需求不是很熟悉很理解,那需求分析阶段就一定要熟悉需求、理解需求,明确有疑问的、模糊的、设计有缺陷的需求。

3. 安排测试计划、设计测试方案。在传统互联网公司,由于迭代周期长达1-2个月,因此测试负责人会基于当次迭代的需求安排测试人员分工、时间计划等。在节奏快、经常1-2个礼拜一迭代的互联网公司,测试计划和测试方案的比重不会太大,但作为测试负责人,要对整个测试节奏、测试进度有把控。

4. 测试用例设计。这块是核心环节,测试团队一定要产出高质量、全面不遗落的测试用例。

5. 用例评审。用例评审一般会先后进行测试部内部评审和部门间评审。测试部内部评审主要是测试人员交叉评审,部门间评审的参与人员主要是产品、开发、测试;不管是部门内评审还是部门间评审,用例评审的目的都是对用例进行查漏补缺以及确保产品、前后端开发、测试等对需求理解是否一致。

6. 开发转测-冒烟测试。开发同学开发完一个个功能模块后,会逐步把相关需求转给测试同学,测试同学在新版本上测试。但注意了,在真正执行完整的测试用例前,测试同学先跑一遍当次需求的核心流程,以防止出现转测的版本流程不通过的情况。如果核心流程不通过,就打回给开发(核心流程不通过,执行完整的测试用例是没意义的)。这就是冒烟测试了。

7. 用例执行。用例执行阶段,测试同学基于之前设计并评审的用例,一条条仔细、耐心执行即可。

8. 提交Bug。执行用例过程中,如果出现问题,测试同学要定位清楚是前后端哪块的问题,并尽可能定位出产生问题的原因。最后再以结构化的语言向开发提交缺陷报告(大白话就是提交Bug),以让开发同学修改Bug(怎样提交Bug可参考如何提交一个清楚的Bug?

9. 回归Bug。开发同学修好Bug后,测试同学要对修好的Bug进行回归,回归时如果Bug未修复,则把Bug打回给开发同学继续修改;如果Bug已修复,还要多测试一下直接相关的功能、思考下会不会带来新的问题。因为在实际工作中,出现不少情况开发同学为了修改一个Bug,带来了其他新的Bug。

10. 发布流程。当次迭代所有需求都完成、所有Bug都已修复后,就进入到产品发布流程了。

       最后非常重要的是,适用于一切项目的完美流程是不存在的,以上测试的几个环节只是软件测试的通用流程。在实际工作中,我们还要根据每个公司、每个项目的实际情况针对性地优化测试流程(不断优化测试流程也是中高级测试人员的素质之一),比如有的公司需求设计的问题比较多(需求功能遗漏、需求设计逻辑Bug、需求对用户的意义不大),那需求评审环节、测试需求分析环节就要多花时间去提出需求设计上的问题,提醒产品同学补充遗漏的功能、改进有逻辑缺陷的功能、砍掉对用户意义不大的不必要的需求等;再如,软件常见问题反复出现,那就需要整理一份软件常见缺陷的checkList(即错误推断法),作为每次迭代,用例设计完后的查漏补缺;再如,测试环境没有问题,生产环境时不时出现问题,那么就需要增加预生产环境的测试,以及加大生产测试的比重;接着如,生产测试也无法保障产品在生产环境的质量,那么也很有必要增加生产环境的质量监控。优化测试流程,总的原则就是哪里薄弱优化哪里,哪里问题多优化哪里(步步高点读机,哪里不会点哪里)。

提交评论

您尚未登录,登录后方可评论~ 登录 or 注册

评论列表

暂无评论