经常遇到测试同学提问,测试左移和测试右移到底是什么?本文就简要总结并阐述下测试左移和测试右移的 Why-How-What。
Why
软件测试技术应当贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,其核心目标是尽快尽早地发现软件产品中所存在的各种问题 bug—— 与用户需求、预先定义的不一致性。
然而,传统的软件测试流程是:
接到项目后参与需求评审,然后根据需求文档写写用例和准备脚本,等开发提测之后正式开始测试、提 Bug、回归测试,测试通过后就结束了。然后,项目交给运维上线,之后测试人员再投入下一个项目,继续重复这样的流程。
这样的流程看似没什么问题,但缺点是:测试过程是在一定时间间隔之内发生的,测试人员必须等待产品完全构建才能找到错误和故障。不可否认,花费的时间超过了可以商定的时间,测试人员就非常被动,因为等待代码成为测试人员的瓶颈。
而在移动互联网和 DT 时代,互联网产品迭代周期短、速度快、频次高,促进了敏捷开发和持续交付等研发模式的全面流行,这也给传统软件测试方式带来了更大的时间压力。
而测试左移以及测试右移的意义就在于能够让测试拥有更多的主动权,有更充足的时间进行测试,同时不会像之前因为质量差风险高每次都延期上线,并且产品的线上质量也能有保证。
不管是测试左移还是测试右移,都是为产品质量服务。测试人应该秉持这样的理念:不要把提测认为是测试活动的开始ÿ