今天聊一聊黑盒测试中的场景法,场景法就是模拟用户操作软件时的场景,主要用于测试系统的业务流程。当拿到一个测试任务时,我们并不是先关注某个控件的边界值、等价类是否满足要求,而是先要关注它的主要功能和业务流程是否正确实现,这就需要使用场景法来完成测试。当业务流程测试没有问题,也就是该软件的主要功能没有问题时,我们再重点从边界值、等价类等方面对控件进行测试。在冒烟测试时也主要采用场景法进行测试。
基本流是从系统某个初始态开始,经一系列状态后到达终止状态的过,程中最主要的一个业务流程。
备选流是以基本流为基础,在经过的每个判定节点处满足不同的触发条件而导致的其他事件流。
从下面的图可以很好的理解基本流和备选流:
那么我们可以根据业务需求对基本流和备选流进行组合:
现在的软件几乎都是由事件触发来控制流程的,事件触发时的情景便形成了场景。而同一事件不同的触发顺序和处理结果形成事件流。
将这种在软件设计方面的思想引入到软件测试中,生动的描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时测试用例也更容易的得到理解和执行。
在使用场景法设计测试用例时,需要覆盖系统用例中的主成功场景和扩展场景,并且需要适当补充各种正反面的测试用例和考虑出异常场景的情形。当使用场景法测试程序没有问题时,可以再使用边界值、等价类方法对账号、密码进行更加细致、完整的测试。
例如,使用场景法测试登录功能:
输入正确的账号和密码后点击“登录”按钮,程序能正常登录
输入正确的账号,错误的密码后点击“登录”按钮,程序应给出错误提示
输入正确的账号,不输入密码,点击“登录”按钮,程序应给出错误提示
不输入账号和密码,直接点击“登录”按钮,程序给出错误提示“请您输入账号后登陆”;
不输入账号,输入正确的密码,点击“登录”按钮,程序应给出错误提示
输入错误的账号,正确的密码,点击“登录”按钮,程序应给出错误提示
(更多……)
那么,我们可以用到如下测试用例: