测试分析是软件产品生命周期中,测试角色对软件进行的“系统设计”,主要目的是明确测试的覆盖范围和重点。
测试分析的输入一般是产品需求文档,有时候在类瀑布模型下,输入还可能包括系统设计文档;输入为对该产品(系统)的需要测试的点圈定和分析,包括安全性测试,压力测试的必要性等。
测试分析的主要方式包括边界值,等价类划分等方式,这些方法应用较多,不是本文讨论的重点,下面主要说下基于“场景分析”法进行的测分。场景分析法既可以是白盒的,又可以是黑盒的,后面具体举例说明。场景分析法一般可以采取如下步骤:
1.场景原子化
尽量细化场景,争取拆分后的场景不可再拆。这样的目的是保证产品的是全覆盖的。而且基于不同的场景有不同的侧重点,如展示层和数据交互层的测试重点差别就比较大。
2.场景正反向分析
针对单个测试场景做正向/反向或者说是正常/异常流程的场景设计。分析该场景的触发条件是什么,该场景被触发后的下一个场景是什么,如果本场景出现异常,应该进入到哪个场景。
3.场景串联
最后针对重要的场景,做一个串联,两个或者多个场景的串联构成一个功能链路(业务流),加上2中分析的场景,构成一个场景测试集。
具体举例,针对黑盒测试场景,举一个典型的Android app。
先描述下:默认进入主页面,主页面上左上角是返回键,右上角是设定键,下面操作栏分为三个子tab。<