八、从补充规约中生成测试用例
并不是所有的测试目标需求都将在用例中有所反映。非功能性需求(如性能、安全性和访问控制)以及配置要求等将会说明测试目标的其他行为或特征。补充规约是为其他行为生成测试用例的主要来源。
关于如何生成这些其他测试用例的指南说明如下:
* 为性能测试生成测试用例
* 为安全性/访问控制测试生成测试用例
* 为配置测试生成测试用例
* 为安装测试生成测试用例
* 为其他非功能性测试生成测试用例
为性能测试生成测试用例
性能测试用例的主要输入是补充规约,补充规约中包含了非功能性需求(请参见工件:补充规约)。为性能测试生成测试用例时,请使用下列指南:
* 对于补充规约内阐明性能标准的各条说明都应确保至少要确定一个测试用例。性能标准通常表示为时间/事务、事务量/用户或百分数的形式。
* 对每个关键用例,都应确保至少要确定一个测试用例。关键用例是在上述说明中和/或在工作量分析文档中确定的、必须采用性能评测方法来评估的用例(请参见工件:工作量分析文档)。
与功能性测试的测试用例类似,通常对于每个用例/需求都会存在不止一个测试用例。常见的情况是:存在一个低于性能阈值的测试用例、一个处于阈值上的测试用例,还有一个测试用例高于阈值。
除了以上性能标准以外,确保已确定影响响应时间的特定条件,包括:
* 数据库的大小 - 存在多少个记录?
* 工作量 - 同时执行操作的最终用户的数量和类型,以及要同时执行的事务的数量和类型
* 环境特征(硬件、网件以及软件配置)
将用于性能测试的测试用例记录在类似于功能测试所使用的矩阵中。
以下是各种性能测试的一些示例:
对于负载测试:
TC(测试用例)ID 号 | 工作量 | 条件 | 预期结果 |
PCW1. | 1 | 完成提款交易 | 全部交易(不依赖于主角的时间)在 20 秒之内完成 |
PCW2. | 2 | 完成提款交易 | 全部交易(不依赖于主角的时间)在 30 秒之内完成 |
PCW3. | 3 | 完成提款交易 | 全部交易(不依赖于主角的时间)在 50 秒之内完成 |
对于强度测试:
TC(测试用例)ID 号 | 工作量 | 条件 | 预期结果 |
SCW1. | 2 | 数据库锁定 - 2 个 ATM 请求同一帐户 | ATM 请求排成队列 |
SCW2. | 2 | 无法实现银行系统的通信 | 交易排成队列或超时 |
SCW3. | 2 | 在交易过程中,银行系统通信被终止 | 显示警告消息 |