一
除了纯后台测试或者纯接口测试外,我想大部分人都会接触业务测试,至少我们目前的客户端产品测试就是这样。
之前和我们组客户端测试同学沟通,总是会发现大家用例的关注点大部分都集中在业务逻辑的覆盖上,对具体逻辑的实现,以及底层实现原理的关注偏少。
这样做其实并没有错,用例不就是覆盖需求的么?而需求就是我们说的业务逻辑呀。
但是仔细想一下双 V 模型就会发现,我们缺少了概要设计(集成测试)和详细设计(单元测试)的阶段,直接进入了系统测试,而要求大家在系统测试阶段考虑单元测试和集成测试的点,确实不是每个人都能做到的,事实证明也确实如此。
前段时间看的《软件测试的艺术》刚好有提到三层应用系统的分层:表示层、业务逻辑层和数据访问层,我觉得可以利用这个分层理论,让我们也可以在系统测试阶段考虑到逻辑实现和底层原理的验证。
下面我根据我们当前项目的情况,以我的角度来按这个分层分别进行举例说明。
二
先说说表示层。
我把表示层对应到我们目前的系统测试阶段的需求覆盖上,所有的显性需求的覆盖,都属于表示层,部分基于需求本身的补充和完善的隐性需求也是属于表示层。
设计表示层的用例比较简单,直接和需求说明进行一一对应就行,保证用例覆盖的集合是需求说明集合的超集,那么对显性需求的覆盖率肯定是百分百了。
举个例子。
有个需求中有这么一个描述「该功能的入口是否展示,需要参考注册表 HKCU\Software\test[testvalue] 的值,值为 0 时不展示,值为非 0 时展示。」
针对显性需求的用例覆盖:
验证注册表 HKCU\Software\test[t