场景测试是基于场景的软件测试。

什么是场景?

场景是假设的故事,用来帮助人们理解一个复杂的问题或者系统。

一个完美的场景测试有几个特征:

1. 基于一个用户怎么使用软件的故事,包括用户的动机

2. 故事具有感染力,有影响力的干系人会促使这个场景测试失败的程序得到修复

3. 故事要可信,不仅在真实的世界中可能发生,而且将很可能发生。

4. 故事包含对软件的复杂的使用,或者复杂的环境或者一套复杂的数据

5. 测试结果容易评估

为什么使用场景测试?

1. 学习产品

2. 将需求文档和测试联系起来

3. 暴露产品却吸纳

4. 探索程序的专业用法

5. 将需求相关的问题引出到台面上

创建好场景的12个方法:

1. 写出系统中对象的生命历程。

2. 列出可能的用户,分析他们的兴趣和目标

3. 考虑恶意用户,他们可能怎么攻击你的程序

4. 列出系统事件, 系统怎么处理这些事件?

5. 列出特殊事件,系统怎么容纳这些事件?

6. 列出收益并创建端到端的任务来检查他们。

7. 与用户面谈,找出老系统中他们不满意的地方。

8. 与用户一起工作,观察他们怎么工作,做什么。

9. 阅读类似的系统会做什么。

10. 研究对这个系统以前版本和竞争对手的抱怨。

11. 创建一个模拟业务,认真对待这个模拟业务并处理相关的数据。。

12. 试着把竞争对手和以前版本的真实数据转换到新的系统。

场景测试的风险

1. 在早期,不稳定的代码上,场景测试的效果不如其他方式,因为场景测试比较复杂,包含许多特性,一旦第一个特性出错,会阻碍其他特性的测试。

2. 场景测试不是为了全部覆盖整个程序。

3. 场景测试经常发现的是设计问题,而不是代码问题,代码问题更适合由其他的测试来发现。