测试左移什么意思

Z, ZLW 1869

测试左移意思是将关键的测试实践移至开发生命周期的早期,在测试阶段到来之前,尽可能地抓紧开发前(需求分析)和开发中的时间做测试,提前发现问题,防微杜渐,避免积重难返。测试左移的思想本质是越早发现不合理的地方,出问题的几率就越低。

一、测试左移的概念

测试左移是指将关键的测试实践移至开发生命周期的早期。左移是在软件交付过程中尽早发现和防止缺陷的一种实践方法,目的是尽量在软件开发生命周期中尽早将测试任务左移,以提高产品质量。

测试左移的思想本质是越早的发现不合理的地方,出问题的几率就越低。

二、测试左移的内容

PRD评审

这一点相信很多测试同学都有参与过,需求的PRD评审,但是很多时候可能只是局限于听需求,而缺少了分析or测试需求的部分。测试一方面是熟悉需求的内容,另一方面也是找出需求的问题,确认需求的合理性,判断需求是否全面、正确,上下文具备不二性。

研发设计评审

这一点当我们测试在做测试方案、用例设计的时候,研发也在做研发设计,做好了之后通常会有研发设计的评审。测试在这个阶段是非常有必要参与研发设计的评审的。

有的同学可能会觉得,研发设计评审说的都是研发如何实现整个需求,自己去听也听不太懂,浪费时间。其实不然,虽然不一定我们能全部听懂所有的研发技术,但是至少我们能听到研发去开发整个需求的整体设计思路,听完对于我们熟悉整个需求的架构图非常有帮助,也就能帮助测试更好的去设计对应的测试用例,提高测试用例的覆盖率。

避免纯粹从黑盒的角度去设计测试用例,导致有一些个别情况下的缺失测试用例覆盖的情况。当然,如果测试具备走读研发代码的能力,参与研发的设计评审,对于提升测试用例覆盖率,会更加的事半功倍!

单元测试

这一点现在应该只有一些大厂会执行得好一些,很多中小公司都没有严格要求研发必须做单元测试。一方面是中小公司流程上要求普遍不会那么严格,另一方面也是需求开发时间越来越短,导致研发们普遍都没有很多的时间去执行单元测试的工作,为保障按时交货,都直接开发完成就扔给测试去做相应的测试。

在这一点上我依然坚持研发为主、测试为辅的思路。测试辅助研发更好的完成单元测试。为什么不是测试直接去做单元测试呢?因为这一方面需要测试具备白盒测试。

模块集成联调测试

这一点我们测试可以做一个mock平台或者mock服务提供给研发,帮助研发可以快速mock接口内容,提高联调测试的效率。

代码规范检查

这一点也是提高研发提测质量的手段,可以通过各类代码检查工具来规范提高研发的代码质量。比如Java系比较流行的SonarQube, 可以结合进CICD的流程,作为代码提测的必查项。

代码复杂度检查

这一点也一样,只是很多公司目前不太在意这一点。其实越复杂的代码,也就意味着其存在bug的可能性越高。同样代码越复杂,也意味着编码质量可能不高或者后期代码维护成本的升高。SonarQube目前也能扫描代码的复杂度,编译器Idea的也有类似的插件提供该项检查,因此这一点也可以列为流程中的必查项。

自动化测试

这一点就是测试最熟悉的了,自动化测试,目前主要包括UI自动化和接口自动化,实现的方式也是多种多样,编写脚本的方式、录制回放的方式,用平台、不用平台都OK。重点在于选择适合自身组织的方式,以及如何自动化是否真的提升了测试的效率,避免为了自动化而自动化。

拓展阅读

测试左移的好处

自动化:左移可以提高自动测试的能力。测试自动化的主要好处包括:

  • 显著减少人为错误
  • 扩展测试范围(可以同时进行多个测试)
  • 测试人员能够专注于更有趣、更有意义的任务
  • 减少生产问题

加快交付速度:越早发现缺陷、越能快速修复它们,从而:

  • 大大缩短两次产品发布之间的时间间隔。
  • 提高软件质量。

提高满意度:更快地交付具有更少缺陷的软件是左移方法的一个主要优点,能够有效提高客户满意度。

测试右移是什么?

测试右移常见于敏捷测试中,且敏捷测试模型必须进行测试的左移和右移。一般都认为测试的周期是单元测试到验收测试,但是测试人员在验收测试结束之后,绝不意味着测试已经结束,软件系统是脆弱的,还需要测试人员跟踪测试,这个跟踪测试的过程就是测试右移。

推荐阅读:

7大软件测试管理工具 | 软件测试管理的5大方面

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部