时间:2025-03-04 00:40
人气:
作者:admin
大家熟悉的测试工作(也是传统的瀑布式),是接到项目后参与需求评审,然后根据需求文档写写用例和准备脚本,等开发提测之后正式开始测试、提bug、回归,测试通过后就结束了,项目交给运维上线,之后投入下一个项目继续重复这样的流程。
这样的流程看似没什么问题,但缺点是:
测试左移以及测试右移,能够让测试拥有更多的主动权,有更充足的时间进行测试,同时不会像之前因为质量差风险高每次都延期上线,并且产品的线上质量也能有保证。
不管是测试左移还是测试右移,都是为产品质量服务。不要把提测认为是测试活动的开始,上线是测试活动的结束,更不要认为质量只是测试同学需要关注的。
测试左移的思想,本质是越早的发现不合理的地方出问题的几率就越低。
测试左移的原则支持测试团队在软件开发周期早期和所有干系人合作。因此他们能清晰地理解需求以及设计测试用例去帮助软件“快速失败”,促使团队更早的修改所有的bug。
参与和理解会使测试人员获取产品完整的知识,彻底想清楚各种场景,根据软件行为设计实时的场景,这些都会帮助团队在编码完成之前识别出一些缺陷。
我看到过对于测试左移很好的理解
真正的测试左移就包含2个方面:
测试左移,其实就是通过一系列的活动,能提高质量的上限,缩短测试的周期,提高质量的下限,这样子,我们就可以在不断提高下限的过程中,始终将质量稳定在一个水平线上,而和团队一起追求更高的目标了。
从不重视代码质量的第一天开始,就埋下了问题修复,定位的成本和修复问题再次引入问题的成本。
当测试在周期的早期开始时,团队会更专注于质量,并且“让我们在第一时间获得正确的编码”前景。这有助于节省大量时间,并减少软件开发团队必须为特定代码执行的迭代次数。
对于测试左移其实我们还有很多东西要做,就好像一开始说到的都是为产品质量服务,那么在研发流程中的任何角色、人员都要为质量服务。
有哪些活动可以提高质量上限(举例)?
有哪些活动可以提高质量下限(举例)?
对于测试左移,也需要一个重要的基础,工程习惯,SDLC成熟度,测试分层,持续集成,链路上延展发布的节奏,纵深上需要贴合业务的专精领域的深度探索,代码扫描(规范,问题,安全,异常等),CR, 代码提交行为分析,test double(mock , fake, stub,dummy), UT, 自动化,验收测试等。左移需要工程效率具备不亚于研发的代码能力。
因此对于测试左移,笔者认为可以围绕质量服务思想展开,参与人员则不仅仅局限于测试人员
当然实践起来会存在一些问题,例如实践起来,就出现了
很多人都认为是测试在要求完成一些没必要的事情,测试在干预我的工作。
其实问题的矛盾点在于前面说过的一句话:不管是测试左移还是测试右移,都是为产品质量服务。不要把提测认为是测试活动的开始,上线是测试活动的结束,更不要认为质量只是测试同学需要关注的。
对于测试左移的落实,最重要的就是全员质量服务意识的培养。
左移是往测试之前的开发阶段移,右移是往发布之后移。也就是产品上线了之后也可以进行一些测试活动。当然在生产环境直接做测试是不推荐的,但是我们可以在生产环境做监控,监控线上性能和可用率,一旦线上发生任何问题,尽快反应,提前反应,给用户良好的体验。技术同学要比业务方先发现问题,如果业务方已经发现业务量明显下降,说明问题已经很严重了。测试右移其实还可以理解为如果线上发生任何问题,我们有没有能力第一时间发现问题并解决问题,并保证线上数据的一致性或尽可能少的影响线上用户,以及并且实时获取用户反馈。
对于测试右移,线上监控可以是突破点,举例:
因此对于测试右移,我认为可以围绕问题反馈、发现、定位、监控展开,参与人员则不仅仅局限于运维人员
当然一样的,实践起来也是存在问题,除了技术问题之外,还有例如:
测试右移的落实,除了质量服务的培养,更加重要的反而可能是:完善的反馈、发现、定位,在监控架构完善后,怎么更好的与项目流程结合,不要让其成为累赘。
参考资料如下:https://blog.csdn.net/baidu_36943075/article/details/100370527