大家好,我是阿萨。最近几年精准这个词很火,精准扶贫,精准防疫,精准测试等。那精准是什么意思呢?打个比方,有一面墙上的一块瓷砖坏了,需要修补。那么找到这块有问题的瓷砖,修补好,这个过程就是精准修葺。今天我们就来聊聊精准测试。
一.为什么要搞精准测试?
日常软件开发中普遍存在以下现象:
1. 需求频繁修改
2. 开发者交付问题多
3. 测试周期被缩短
4. 测试用例要求尽量少,发现问题要求尽量多
5. 回归测试时间少
6. 人力不足做交叉测试
7. 探索性测试居多
8. 测试场景遗漏
因为以上原因,所以测试经常测试范围比较大。没法聚焦在核心改动的靶心🎯上。
二.怎么搞精准测试?
基于风险测试的准则,我们重点验证开发代码改动的影响范围,聚焦在有风险的代码和功能模块上就叫精准测试。
怎么搞精准测试呢?
1.概要设计分析,需求分析时,明确需求影响范围。
2. 代码分支结构和自动化测试用例的test suits挂钩。这样开发动了对应模块的代码,自动化只运行对应改动模块的自动化。
3. 代码提交后代码review,明确影响范围。根据比较2次提交代码的差异化,明确开发代码影响范围。同时开发代码评审减少低级问题遗漏到测试阶段。
4. 测试根据开发代码修改范围,测试影响具体功能。开发改什么,测试测什么。
5. 形成user story/bug和测试用例以及代码挂钩,自动化测试和手动测试聚焦在影响范围上。
三. 精准测试的好处?
1. 聚焦在有风险的测试上。让测试工作聚焦。减少回归测试时间。
2. 开发代码提交时明确影响范围,减少代码的不可预知性错误。
3. 通过前期需求分析阶段的影响分析。开发对场景和影响面有初步了解。编码时场景范围明确,避免需求范围扩大,需求蔓延。
4.上线后风险可控。
5. 测试用例场景设计根据代码改动范围进行。也避免场景遗漏。
精准测试说白了就是让大家都明确哪里改动了,哪里有风险,哪里去验证。就跟砖砌墙的时候,动了那些地方的墙,就去验收那部分的墙,不用整体墙都验收。
你学会了吗?