为安全性/访问控制测试生成测试用例
主角和用例一同说明系统外部用户与系统所执行的动作之间的交互,以便为特定主角生成测试结果。复杂系统包含许多主角,所以我们编制测试用例时必须确保只有指定执行用例的主角可以进行此操作,这一点非常关键。在基于主角类型的用例事件流存在差别时,尤其如此。
例如,在 ATM 用例中,如果主角“银行客户”的卡和帐户有的属于拥有这个 ATM 机的银行,有的是竞争银行的银行卡(和帐户),或是企图使用该 ATM不支持的银行卡,则将对该主角“银行客户”执行不同的用例事件流。
对于功能性测试用例,请同样遵循上面列举的指南。
关于安全性和访问控制测试用例的示例:
TC(测试用例)ID 号 | 条件 | 卡 (V 表明卡有效) | 读卡机 (V 表明读卡机工作正常) | 银行的网络 | 预期结果 |
ACW1. | 在银行网络之内 | V | V | V | 所有用例都可用 |
ACW2. | 银行网络之外 | V | V | I | 只有提款用例可用 |
ACW3. | 无法读卡 | I | V | V | 警告消息,卡被退出 |
ACW4. | 因被盗,卡已挂失 | I | V | V | 警告消息,卡予保留 |
ACW5. | 卡已过期 | I | V | V | 警告消息,卡予保留 |
为配置测试生成测试用例
在典型的分布式系统中,允许存在许多种受支持的硬件和软件组合。为了核实测试目标在不同的配置情况下(如不同的操作系统、浏览器或 CPU 的速度)能否正常工作或执行,应该对此进行测试。此外,测试还应涵盖构件的组合,以便检测在不同构件的交互中产生的缺陷。例如,确保由应用程序安装的 DDL 版本不会与另一个应用程序需要的相同 DDL 的版本发生冲突。
采用下列指南来生成用于配置测试的测试用例:
※ 确保对每个关键配置,应至少存在一个测试用例可用于对其进行确定。这是通过确定测试目标的环境所要求的硬件和软件配置以及确定这些配置的优先级来完成的。应确保最先测试最常见的配置,包括:
◆ 打印机支持
◆ 网络连接 - 局域网和广域网
◆ 服务器配置 - 服务器驱动程序、服务器硬件
◆ 台式机和/或服务器上安装的其他软件
◆ 所有已安装软件的软件版本
※ 确保对于每个可能有问题的配置至少存在一个测试用例。这些配置可能包括:
◆ 具有最低性能的硬件。
◆ 历史上存在兼容性问题的共驻内存的软件。
◆ 通过最慢的 LAN/WAN 连接访问服务器的客户机。
◆ 资源不足(缓慢的 CPU 速度、最小的内存或分辨率,磁盘空间不足等等)
为安装测试生成测试用例
安装测试需要核实测试目标可以在所有可能的安装情况下安装。安装情况可以指首次安装测试目标,或是在装有较早版本的机器上安装测试目标的某个较新的版本或工作版本。安装测试还应确保在遇到异常情况时(如磁盘空间不足),测试目标的执行情况仍可接受。
测试用例应包含以下各种软件的安装情况:
◆ 分发介质,例如磁盘、CD-ROM 或文件服务器。
◆ 首次安装。
◆ 完全安装。
◆ 自定义安装。
◆ 升级安装。
客户机服务器软件的安装程序具备一组特定的测试用例。不同于基于主机的系统,服务器和客户机上的安装程序是有所不同的。因而,安装测试应执行构成测试目标的所有构件的安装,包括客户机、中间层以及服务器,这一点至关重要。
为其他非功能性测试生成测试用例
理论上,应找到所有必需的输入来生成测试用例模型、设计模型以及补充规约工件的测试用例。不过,如果此时您需要补充已有的输入,那也不足为奇。
示例如下:
◆ 操作测试(用以检验在某次故障发生后以及在下一次故障发生前“较长时间”内软件的运行情况)的测试用例。
◆ 对性能瓶颈、系统容量或测试目标的强度承受能力进行调查的测试用例。
大多数情况下,您可以通过先前所确定的测试用例生成的某些测试用例来构建其变体或聚合关系体,借此来查找测试用例。