四步测试设计法-测试架构师修炼之道(7)

发表于:2016-9-27 09:14

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

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

  4.4.3 对测试点进行分类
  在使用四步测试方法之前,我们首先要对测试点进行分类。分类的依据,就是看测试点是否有“流程”类的特征、“参数” 类的特征、“数据”类的特征、“组合”类的特征。
  1.流程类测试点有哪些特征
  流程类测试点,拥有流程方面的一些特征。具体来说,我们将测试点分成一些步骤,会因为输入的不同而进行不同的处理,全部分析完成后,能够将测试点绘成如图4-37所示的流程图。
图4-37 流程类测试点的流程图
  有时候,一个测试点可能只能绘出一个流程片段,我们可以把与此相关的测试点放到一起,使其能够表示一个较为完整的流程。
  我们来看一个实际的例子。
  举例:分析“PC连接WiFi”的测试点属于哪些类型
  “PC连接WiFi”这个功能包含表4-12所示的测试点。
  在分析测试点之前,我们先来了解一下“PC连接WiFi”的业务流程(这里只是为了举例说明测试设计的方法,并不是真正的PC连接WiFi的流程,而是一个简化的
  版本)。
  第一步,选择WiFi网络:PC会先判断首选的WiFi网络是否可用,如果不可用,就判断备选WiFi是否可用。
  第二步,判断WiFi是否需要加密:PC会判断连接的WiFi是否需要加密。
  第三步,连接网络:如果需要加密,就加密后再连接;如果不需要加密,就直接连接网络。
  从测试点的描述来看,测试点1和测试点2描述的是选择WiFi网络,测试点3和测试点4描述的是判断WiFi是否需要加密和连接网络。测试点1~测试点4每个测试点都描述了“PC连接WiFi”的一些操作步骤,共同描述了整个流程,它们属于“流程”类的测试点,并且在测试设计的时候,需要把这4个测试点放在一起进行分析。
  测试点5虽然可以归属于“判断WiFi是否需要加密”这个步骤中(如果配置了上述加密算法中的任意一种,就表示需要加密),但是这个测试点是从“支持的配置参数”这个角度去描述的,并没有去描述一个步骤或是一个流程片段。而且从流程上来说,无论我们选择哪种加密算法,都不会影响“判断WiFi是否需要加密”这个结果,所以它不属于流程类的测试点。
  2.参数类测试点有哪些特征
  如果测试点中主要包含的是一些参数,能够概括成和图4-38所示类似的样子(“A”表示参数,“a1”“a2”“a3”表示“A”的取值),就可以认为这个测试点是参数类的。
  例如,测试点“用户登录时可以使用‘用户名密码’‘数字证书’或‘短信验证’的方式来进行身份认证”,“用户登录方式”可以看成图中的“A”,“用户名密码”相当于 “a1”,“数字证书”相当于“a2”,“短信验证”相当于“a3”,这个测试点就是参数类的测试点。
  参数类的测试点有以下两个重要的特点:
  第一,“参数值”的个数是有限的,可以通过遍历的方式来测试覆盖到;
  第二,系统会对不同的“参数值”作出不同的处理或响应。
  理解这两个特点,能够帮助我们区分参数类和数据类(下一节就会讲到)测试点。
  有时候,一个测试点中可能会有好几个参数,如图4-39所示。
  有时候,“A”和“B”之间可能也会存在一些依赖关系,如“A要选择a1,B才能配置”“如果A选择了a1,B就必须选择b1”等。如果这样的关系存在于不同的测试点中,如图4-40所示,“A”和“B”分别存在于“测试点1”和“测试点2”中,在做“测试设计”的时候,我们就需要把“测试点1”和“测试点2”放在一起来考虑。
  我们还是来看“PC连接WiFi”这个例子。
  举例:分析“PC连接WiFi”的测试点属于哪些类型(续1)
  “PC连接WiFi”这个功能包含的测试点见表4-12。
  前面我们已经分析出测试点1~测试点4属于流程类测试点,而测试点5,主要是从“支持的配置参数”这个角度去描述的,其中“设置加密的WiFi网络的加密算法”就是参数,WEP、WPA和WPA2就是它的参数值,“测试点5”属于参数类的测试点。
  需要特别指出的是,测试点5和测试点1~测试点4是存在一定的内在关系的:
  测试点5要想测试成功,需要保证“首选WiFi网络”或者“备选WiFi网络”至少有一个可用,换句话说,测试点1或者测试点2是测试点5的测试条件。
  测试点1~测试点4在测试连接加密的WiFi网络的流程中,也需要输入任意一种加密算法,即测试点5为测试点1~测试点4提供输入值。
  我们在测试设计的时候,将测试点1~测试点4和测试点5分开来考虑的原因是,我们希望通过对测试点1~测试点4设计测试用例,来测试验证“PC连接WiFi”的连接流程的正确性,而不关注使用的是怎样的加密算法;对测试点5设计测试用例,来测试验证每个加密算法在实现上的正确性,而不关注对流程的覆盖。通过这样的归类,我们的测试变得很聚焦,突出了测试重点,弱化了我们不太关心的地方,同时也能减少测试设计的复杂性。
  当然,我们也可将测试点1~测试点5整个放在一起来考虑,这是后话,将在后面的章节中为大家介绍。
  3.数据类测试点有哪些特征
  如果测试点中主要包含的是一些数据,能够概括成和图4-41所示类似的样子(“A”表示参数,“amin”“amax”表示“A”的取值范围),就可以认为这个测试点是数据类的。
  例如,测试点“允许输入的用户名的长度为1~32个字符”,“用户名的长度”等同于图中的“A”,“amin”为“1个字符长度的用户名”,“amax”为“32个字符长度的用户名”,这个测试点就是数据类的测试点。
  和“参数”类相比,“数据”类的特点是:
  第一,数据的取值是一个范围,通常不能用遍历的方式来测试覆盖。
  就拿“允许输入的用户名的长度为1~32个字符”来说,如果要进行遍历测试,就需要依次测试“1个字符长度的用户名”“2个字符长度的用户名”……直到“32个字符长度的用户名”,这样的测试就显得很冗余。
  第二,系统对允许输入的“数据”作出的处理或响应往往是一样的。
  例如,系统在处理“1个字符长度的用户名”和“2个字符长度的用户名”时,往往是一样的。
  一个数据类的测试点中,也可能会有好几个数据,如图4-42所示。
  但是数据类的“A”和“B”之间是没有关系的,换句话说,我们可以将这个包含“A”和“B”的“测试点”直接拆为两个“测试点”,然后分别对测试点1和测试点2进行分析,如图4-43所示。
本文选自《测试架构师修炼之道:从测试工程师到测试架构师》第四章,本站经机械工业出版社和作者的授权。
版权声明:51Testing软件测试网获机械工业出版社和作者授权连载本书部分章节。任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号