1. 最简单也是最复杂的做法是automation~但是这个要基于coding的稳定性,软件在开发过程中,代码变动性大, 需求也可能随时改变(我们那个软件是一直在改需求,可能是个例外吧,,). 所以, 这边提到的公共模块的修改, 要做automation就要有前提了, 比如总的结构不变, 界面不变, and so on.
2. 不能满足做automation的条件, 并且时间比较紧的时候
在制定test schedule的时候, 测试经验丰富并了解系统的QA lead就会从release note上知道,哪块功能会有影响, 这个时候,就应该把相关的功能都测了, 并且为high priority. 而剩下的功能可以是low priority的测试,至于力度,就取决与测试时间.
1) Work with BA, DEV, & PM, 根据risk或者potential loss来选择high priority tasks, 进行risk测试
2) Ad hoc testing, 我们项目有个用户常用操作的workflow图, 所以先把basic workflow跑了, 保证customer在现实环境中的操作没问题, 剩下的再把之前选的high priority的测了,再是low的
3) 有个test cost curve图-根据cost of testing / loss due to untected defects /testing time来决定什么时候stop test (cost > loss的时候), 也就是制定optimum test的策略