测试架构师修炼之道:从测试工程师到测试架构师(第2版)
上QQ阅读APP看书,第一时间看更新

4.4.1 什么是“运行”

功能性测试方法的多个子方法中都提到了运行,我们该如何理解“运行”这个概念呢?

定义

·运行:在软件测试中,测试者模拟的用户的“操作”或“行为”。

·单运行:在软件测试中,测试者模拟的用户的“一个操作”或“一个行为”。

·多运行:在软件测试中,测试者模拟的用户的“多个操作”或“多个行为”。

换句话说,从用户的角度来看,“运行”是对系统做出一个操作,系统会给用户回馈一个满足用户预期的、有意义的反馈,所以针对一次运行,一般具有固定的输入和输出,如图4-19所示。

图4-19 用户的一次运行

用户发送了一封电子邮件,提交了一个购物清单,清空了购物车,等等,这些都可以称为一次运行。

运行一定是从用户层面来描述的,输入是系统层面的输入,输出也是对用户有价值、有意义的反馈。我们对系统内部组件或者接口的操作,不能称为一次运行,例如:系统数据库新增了一个表,系统新建了一个连接,等等。这就需要我们把这些组件拼接起来,直到可以从外部的角度为用户提供有意义的输入或输出。这些组件的组合就构成了系统的功能,系统的一个功能应该能够满足用户的一次完整运行,如图4-20所示。

图4-20 运行和功能、组件的关系

多运行就是指用户对系统做出了多种操作,如图4-21所示。

图4-21 用户多运行

我们看几个多运行的例子:用户收到了电子邮件,然后将邮件设置为重要;用户添加了购物车,然后提交了订单。

很多时候,系统在单运行的情况下一切正常,但是在多运行的情况下就会出问题,例如用户只打电话时一切正常,只接收短信时也一切正常,但是正在打电话的时候接收到一条短消息就会出现问题,所以我们需要在测试中充分考虑多运行。

理解了运行的基本概念后,我们就可以开始讨论功能性测试方法了。