• 0
  • 0
分享
  • 功能测试的用例设计方法——软件测试圈
  • 恬恬圈 2023-04-25 11:12:23 字数 1515 阅读 1109 收藏 0

  等价类划分法

  等价类划分法即把所有可能输入的数据划分为若干个区域,然后从每个区域中取少数有代表性的数据进行测试。等价的意思就是说程序对它们的处理方式都是一样的。

  有效等价类

  有效:是因为它们都是符合需求文档中定义的数据;

  等价:是因为它们都是同一类型的数据。

  无效等价类

  无效:是因为它们都是不符合需求文档中定义的数据;

  等价:是因为它们都是同一类型的数据。

  等价类划分(测试点):

1-1.jpg

  等价类划分法设计测试用例

1-2.jpg

  边界值分析法

  在功能测试中,边界值分析法也是测试人员常用的一个方法,它通常被视为对等价类划分法的一种补充。边界值分析法是取稍高于或稍低于边界的一些数据进行测试。为什么要取这些数据进行测试呢?因为测试经验告诉我们,程序在处理边界数据的时候较容易出错。边界值分析法在以下两种情况下经常被用到。第一种情况:输入条件是一个取值范围,对于这个取值范围的边界要进行边界值测试。第二种情况:输入条件中规定输入的数据是一个有序集合,对这个有序集合的边界要进行边界值测试。

  边界值分析法设计测试用例

1-3.jpg

1.jpg

  错误推测法

  错误推测法也是测试人员常用的测试方法之一,指的是测试人员凭借自己的直觉、测试经验、发散思维去设计一些容易导致软件出错的测试点。错误推测法也可看作是对等价类划分法和边界值分析法的一个补充。

1-4.jpg

  总结

  最后把这3种方法设计出来的测试点统一整理到一个表中,就变成了一个较为完整的测试用例了。这里以年龄输入框的需求文档为例进行测试点的整合。

1-5.jpg

  因果判定法

  通俗来讲,因果判定法一般主要应用于页面中各类按钮之间存在组合和制约的关系,测试人员需要去分析它们的因果对应关系,并最终去检查输出结果的正确性。因果判定法需要进行以下几个步骤。

  (1)明确所有的输入条件(因)。

  (2)明确所有的输出结果(果)。

  (3)明确哪些条件可以组合在一起,哪些条件不能组合在一起。

  (4)明确什么样的输入条件组合可产生哪些输出结果。

  (5)通过判定表展示输入条件的组合与输出结果的对应关系。

  (6)根据判定表设计测试用例。

  例:

1-6.jpg

  按照以上6个步骤开展本例测试点的分析工作。

  (1)找出地铁卡充值模拟软件的所有输入条件,并编号。① 投币20元。② 充值20元。

  (2)找出所有输出结果,并编号。A:提示充值成功并退卡。B:退出纸币并提示超时。C:提示请先投入纸币,再单击充值按钮。

  (3)确定哪些输入条件可以组合在一起,哪些输入条件不能组合在一起。条件①可以单独出现,也就是用户可以做只投币,不充值的操作。条件②也可以单独出现,也就是用户可以做只充值,不投币的操作。条件①和条件②可以组合在一起,也就是用户可以做先投币,后充值的操作。在本例不存在输入条件不能组合的情况。

  (4)明确什么样的输入条件组合可产生什么样的输出结果,如图所示对应结果。

-7.jpg

  (5)通过判定表展示输入条件的组合与输出结果的对应关系,见下表。

1-8.jpg

  为了简便起见,可以用T或F来表示是否满足每一个输入条件:T表示条件为真,执行这个输入;F表示条件为假,不执行这个输入。当然也可以用1和0或Y和N来表示,1代表执行,0代表不执行;Y代表执行,N代表不执行。输出结果可以使用“√”这个符号来表示,“√”代表这个结果会出现。这样上面的判定表可以写成下表的格式。

1-9.jpg

  判定表分析完成后就可以根据判定表来写测试用例了,判定表中每一个组合就相当于一个测试点,有了测试点再转化测试用例就比较容易了,转化后的测试用例见下表。

1-10.jpg


作者:胖虎是个大脑袋    

来源:http://www.51testing.com/html/37/n-5099437.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   python 字符串切割  除了提取字符串中的单个字符外,还可以通过对字符串进行切片来选取字符组。切片的工作方式与索引非常相似,但您使用两个偏移量,用冒号 (: ) 字符分隔。第一个偏移量是Python应该从哪里开始切片;第二个偏移是它应该停止切片的地方。同样,将偏移量视为字符之间的空格,而不是字符本身。  第一行告诉 Python 在偏移量 2 和 4 之间切片。您可以从这些偏移量之间有两个字符:g 和 u。python 将它们作为单个字符串“gu”返回。第二行在偏移量 5 和 10 之间对字符串进行切片,并返回字符串“sashi”。如果省略第一个偏移量,Python 将使用字...
            0 0 699
            分享
          • 接《“我现阶段最在乎的是如何提升自己”(上)》,原文可在本人主页查看~通过什么提升?理论+实践。理论更多解决知识、态度问题,实践更多解决技能、经验问题。理论怎么提升?要读原著、学原文、悟原理,要学经典理论,要学榜样。学什么理论?经典理论,常识理论,就是千百年来大家公认的理论。哲学理论需要有,唯物辩证法需要有,公司的基本法需要有,部门的历史需要有,部门大事记需要了解,公司大事记需要了解,并列部门大事记需要了解。这些,应该能提升我们的理论认识水平。实践怎么提升?事上磨,事上练。领导交办的每一件事情,都拿出120分的热情来办,都拿出全力以赴来办,都拿出满怀的热忱来办。都遵循“凡事预则立不预则废”,都...
            1 1 761
            分享
          • 摘要:通过比较生产和测试代码版本之间的多个API响应来进行测试的方法非常有效,可以在一个版本一个版本地生成所需的结果。但是,需要改进和改变,以满足不断变化的需要。对于大多数(若不是所有)技术解决方案来说都是如此;“边际效用递减定律”的经济学原理也适用于软件。一种最初引入时让利益相关者兴奋不已的技术解决方案可能很快就会过时。需要修改或新的解决方案来匹配不断发展的期望。概述通过比较生产和测试代码版本之间的多个API响应来进行测试的方法非常有效,可以在一个版本一个版本地生成所需的结果。但是,需要改进和改变,以满足不断变化的需要。对于大多数(如果不是所有)技术解决方案来说都是如此;“边际效用递减定律”...
            1 0 893
            分享
          •   一、过硬的基础能力  其实所有的测试大佬都是从底层基础开始的,随着时间,经验的积累慢慢变成大佬。要想稳扎稳打在测试行业深耕,成为测试大牛,首当其冲的肯定就是拥有过硬的基础,所有的基础都是根基,后期所有的发展和提升都是基于测试基础铺垫的。  所以核心的测试理论、测试用例设计方法、测试的方向、测试的分类,从简单的功能测试到高效的自动化测试、再从接口的工具使用,到性能测试,不管是做web端的项目还是app端的移动测试,都是基于基础,基于理论,基于核心的使用方法,只有拥有过硬的基础能力才能有序的持续发展。所以所有涉及到测试相关的基础都必须有广度的掌握,然后再进利用经验的积累,进行深度挖掘,非常熟练...
            0 0 368
            分享
          • 第一章:什么是软件?计算机系统中与硬件相互依存的另一部分。软件包括程序、数据及其相关文档的完整集合。(1)能够完成预定功能呾性能的可执行指令(program)  (2)使得程序能够适当地操作信息的数据结构(data)  (3)描述程序的操作呾使用的文档(document)软件危机的定义?软件在开发和维护过程中遇到的一系列严重问题。软件危机包含两层含义:(1)如何开发软件 (2)如何维护数量不断膨胀的现有软件。软件危机的表现:(1)软件开发的迚度难以控制,经常出现经费超预算、完成期限拖延的现象。 (2)软件需求在开发初期不明确,导致矛盾在后期集中暴露,从而对整个开发 ...
            0 0 2215
            分享
      • 51testing软件测试圈微信