功能测试方法-测试架构师修炼之道(5)

发表于:2016-9-23 09:02

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:刘琛梅    来源:51Testing软件测试网原创

  4.3.2 功能测试方法
  功能测试方法,顾名思义,就是对产品功能进行测试的方法。
  本节中讨论的功能测试方法,是一些通用的测试方法,和具体业务无关,包括:
  · 单运行正常值输入法。
  · 单运行边界值输入法。
  · 多运行顺序执行法。
  · 多运行相互作用法。
  1. 什么是“运行”?
  功能测试方法中都提到了运行,我们该如何理解“运行”这个概念呢?
  定义:
  运行:在软件测试中,测试人员模拟的用户的“操作”或“行为”。
  单运行:在软件测试中,测试人员模拟的用户的“一个操作”或“一个行为”。
  多运行:在软件测试中,测试人员模拟的用户的“多个操作”或“多个行为”。
  也就是说,“运行”是指从用户的角度来
  看,有意义的操作或行为。从功能的层面来说,一个“运行”确定了“输入”和“输出”的一种可能的情况,如图4-11所示。
  其中“输入A1”和“输入A2”代表“功能1”允许输入的参数;“单运行操作1”的输入是“A1”,输出为“B1”;“单运行操作2”的输入是“A2”,输出为“B2”。
  实际中,“用户写了一封电子邮件”“用户发送了一封电子邮件”“用户打了一个电话”“用户发了一条短消息”“用户提交了一个购物订单”等行为,都可以被称为一个“运行”。
  有时候,我们会从设计的角度来划分功能,不能为用户提供一个完整的、有意义的行为,例如“用户和邮件服务器建立了一个新的连接”“邮件服务器删掉了和用户的连接”,这种细粒度的功能即使确定了输入和输出,都不算作“运行”。这时,可以将多个功能组合起来,直到这个功能能够为用户提供完整的、有意义的行为为止。图4-12描绘了在这种情况下,功能和运行的关系。

  
  其中“输入A1”和“输入A2”代表“功能1”允许输入的参数;“输入C1”和“输入C2”代表“功能2”允许输入的参数。“单运行操作1”的输入是“A1”和“C1”,输出为“B1”;“单运行操作2”的输入是“A2”和“C2”,输出为“B2”,它们都涉及了“功能1”和“功能2”。
  将多个“单运行”操作放在一起考虑,得到的结果就是“多运行”操作。图4-13就是“多运行”操作示意图。
  实际中,“用户在发送电子邮件的时候又收到了一封电子邮件”“用户正在打电话的时候收到了一条短消息”都是“多运行”的例子。
  理解了“运行”之后,我们就可以开始讨论功能测试方法了。
  2.单运行正常值输入法
  对图4-14来说,单运行正常值输入法就是测试时输入的“A1”和“A2”是系统允许的“正常值”的测试方法。
  例如,对“用户发送电子邮件”来说,“收件人的邮箱名”“发件人的邮箱名”“邮件标题”“邮件内容”和“邮件优先级”都是测试输入。使用“单运行正常值输入法”来进行测试时,我们只需要测试正确“收件人地址”“发件人地址”“邮件标题”“邮件内容”和“邮件优先级”即可。
  对一个功能的输入值来说,有时候系统允许输入的正常值的个数是有限的,例如“邮件优先级”的输入就是有限的(优先级分别为“高”“中”和“低”);有时候系统允许输入的正常值的个数又是无限的,例如“收件人的邮箱名”的输入就是无穷尽的。
  对输入个数有限的情况,我们需要遍历这些取值;对输入个数无限的情况,我们可以使用“等价类”的思想将输入值分类,然后在每一类中选取一些测试值来进行测试,变无限为有限。
  在实际中更常见的情况是,一个“运行”中存在很多输入,这些输入有些个数是有限的,有些个数无限的,而且这些输入之间可能还存在某种逻辑关系。我们将在后续讨论测试设计方法时,在“参数类”“数据类”和“组合类”中(4.4.4节)继续和大家一起讨论相关内容。
  3.单运行边界值输入法
  对图4-15来说,单运行边界值输入法就是测试时输入的“A1”和“A2”是系统的“边界值”的测试方法。
  相信大家对“边界值”的概念不会感到陌生,最经典的例子是,假设某处允许的输入值是一个范围 [1、10],这时0、1、10和11就是我们所说的“边界值”。
  和“单运行正常值输入法”相比,“单运行边界值输入法”的测试数据包含了“正常输入”(如1和10)和“非法输入”(如0和11)。因此它既能测试到正常处理,又能测试到非正常处理。
  以测试“用户发送电子邮件”为例,我们考虑的边界值是:
  · 收件人的数目为系统支持的最大数。
  · 收件人的数目为系统支持的最大数+1。
  · 收件人的数目为1位。
  · 收件人为空。
  · 邮件名为系统支持的最大长度。
  · 邮件名为系统支持的最大长度+1。
  · 邮件名为空。
  · 邮件长度为系统支持的最大长度。
  · 邮件长度为系统支持的最大长度+1。
  · 邮件长度为空。
  ……
  既然“单运行边界值输入法”也能够测试正常值,是不是“单运行边界值测试法”能够替代“单运行正常值输入法”呢?
  对于与此相关的测试设计方法,我们还将在4.4.4节中继续和大家一起展开讨论。
本文选自《测试架构师修炼之道:从测试工程师到测试架构师》第四章,本站经机械工业出版社和作者的授权。
版权声明:51Testing软件测试网获机械工业出版社和作者授权连载本书部分章节。任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号