黑盒测试-场景法
1.场景法
1.1简介
1.简介:软件系统要想获得用户的认可,必须站在用户的角度, 以用户的使用逻辑及操作习惯为出发点,设计测试用例时 考虑用户使用软件的流程。然后,依据这些流程设计用例 设计才能更贴近实际,才能在最大程度上满足用户的需求。
现在的软件几乎都是由事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果形成事件流。
场景法适用于业务流程或事件比较复杂的程序。主要是 从用户的角度出发,考虑用户是怎样使用软件的。通过分 析用户的使用过程,形成各种事件流,然后设计测试用例 来覆盖这些事件流。因此,场景法测试的流程性比较强。
当然,在实际的测试过程中,我们也不能只是一个功能 点一个功能点的测试,当所有功能点单独执行没有问题后, 我们也需要考虑各功能点之间的数据流的流动是否正常
2.案例:假设要测试一个创建贺卡的功能。
从功能测试的角度出发,要测试的功能点大致为:
1.为卡片添加文本信息
2.为卡片添加图片
3.从卡片库中获取草图
4.发送卡片:
- 1) 通过email发送
- 2) 打印卡片。
这些可以通过我们常用的等价类等手段进行测试
站在用户使用的角度出发则偏重于:
1.发送生日贺卡
2.发送圣诞贺卡
3.从一张空白卡片开始制作贺卡, 并通过前面提供的这一堆功能创建一张自己需要的卡片。
这就是场景 测试的一个缩影,场景其实就是对每一个活动进行再细化描述活动执行的过程。
1.2场景
1.简介:场景就是事件流,一个场景描述 了一种事务的流程。流程分基本流程和备选流程。比如:提款操作。 基本流就是用户插入卡片——输入密码——输入提款额——提款成功。 备选流有很多,代表了各种异常情况,比如先查询后取款、密码输入错误、提款机没钱等等。
1.3案例:场景法案例-ATM取款机
1.3.1生成基本流
ATM取款操作:
- ATM 处于准备就绪状态。
- 准备提款 - 客户将银行卡插入 ATM 机的读卡机。
- 验证银行卡 - ATM 机从银行卡的磁条中读取帐户代码,并检查它 是否属于可以接收的银行卡。
- 输入密码 - 客户输入密码,系统验证帐户代码和密码以确定该帐 户是否有效以及所输入的 密码对该帐户来说是否正确。对于此事 件流,帐户是有效的而且密码对此帐户来说正确无误。
- ATM 选项 - ATM 显示在本机上可用的各种选项。在此事件流中, 银行客户通常选择“提款”。
- 输入金额 - 要从 ATM 中提取的金额。
- ATM 通过将卡ID、PIN、金额以及帐户信息作为一笔交易发送给银
行系统来启动验证过程。对于此事件流,银行系统处于联机状态,
而且对授权请求给予答复,批准完成提款过程,并且据此更新帐户余额。 - 出钞 - 提供现金。
- 返回银行卡 - 银行卡被返还。
- 收据 - 打印收据并提供给客户。ATM 相应地更新内部记录。
- 用例结束时 ATM 又回到准备就绪状态。
1.3.2生成备选流
1.3.3生成场景
1.3.4设计测试用例覆盖每一个场景
1.4场景法总结
- 根据规格说明,描述出程序的基本流及各项备选流
- 根据基本流和各项备选流生成不同的场景,基本流是一个场景,各备选流分别生成一个或多个场景
- 对每一个场景生成一个相应的测试用例
- 对生成的测试用例重新复审,去掉多余的测试用例