功能性测试方法的多个子方法中都提到了运行,该如何理解“运行”这个概念呢?
运行:在软件测试中,测试者模拟的用户的“操作”或“行为”。
单运行:在软件测试中,测试者模拟的用户的“一个操作”或“一个行为”。
多运行:在软件测试中,测试者模拟的用户的“多个操作”或“多个行为”。
从用户的角度来看,“运行”是对系统做出一个操作,系统会给用户回馈一个满足用户预期的、有意义的反馈,所以针对一次运行,一般具有固定的输入和输出。

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

多运行指用户对系统做出了多种操作,如图。用户收到了电子邮件,然后将邮件设置为重要;用户添加了购物车,然后提交了订单。

系统在单运行的情况下一切正常,但是在多运行的情况下就会出问题,例如用户只打电话时一切正常,只接收短信时也一切正常,但是正在打电话的时候接收到一条短消息就会出现问题,所以我们需要在测试中充分考虑多运行。
摘取自刘琛梅老师的《测试架构师修炼之道:从测试工程师到测试架构师 第2版》
网友评论