在开发一个系统或者说软件,需求分析、软件设计、程序编码、软件测试、运行维护,这些阶段必不可少。整个周期中,作为测试人员,不是只在测试阶段才能发挥作用,也不是仅有测试对软件质量负责,一个项目团队,常有的五种角色,产品、UI、开发、测试、运维,只有整个项目团队所有成员有对质量负责的意识,才能形成良性循环,不然就是一个甩锅的团队!测试作为软件到上线的最后一道关卡,测试人员至关重要,那测试人员在软件生命周期究竟能做哪些事?
下面我用一张图作为测试人员的工作路径,介绍下测试人员应当做哪些事。
暂且将软件测试分为三个阶段,测试左移、测试中、测试右移。
测试左移:尽可能将测试工作提前,所谓兵马未到粮草先行,来看看测试需要准备哪些粮草?
在需求分析阶段,产品常常会讲用户故事,根据用户故事,宣讲做此类功能或需求的目的,这些就是测试所需的粮草之一。当然,需求评审会议,测试人员不能只做一个听众,因为里面有些坏的粮草很有可能造成严重影响,测试人员应当分析需求是否合理、是否模糊,易用性如何,后期实现后能发便于测试,乃至预测到可能产生的bug。在评审通过后应当将最终确定的需求归档,以便后期回溯。在博主的工作中,原型图是随着需求一起出来的,做做好需求分析的同时,也应当对原型图评审,常常会有一些反人类的操作。
在软件测试阶段,会有前端高保真的图和后台数据库设计、接口设计等,注重参加评审,多提问题,这些都是后期测试重要的参考资料
在软件编码阶段,有能力的可以做单元测试或者白盒测试;后台接口开发完成可以直接介入接口测试,根据接口文档,测试正确性以及健壮性;测试人员可以准备测试方案/用例等
在软件测试阶段,1.提前和开发产品一起联调,在未提测时,先改一版,这过程屡试不爽,可减轻测试压力缩短测试周期 2.严格准入,对新版提测的代码、配置以及部署方式等资料进行规范归档
3.严格测试方法、用例来执行,bug关闭完后务必要做核心功能回归测试 4.准出后的测试报告,开会评审遗留问题
在运行维护阶段:1.上线前运维开发测试三方需要讨论升级步骤以及注意事项 2.升级完,测试应该验证线上系统情况,及时反馈尽量找开发当时修复 3.搜集用户反馈的使用情况 4.对此版本进行复盘,总结做得好的地发以及哪些是可以提前规避的问题