本文详细介绍了如何通过等价类划分法有效测试一个单功能软件应用的核心需求。本篇文章参考黑马程序员1 单功能单功能指软件程序或应用程序专注于提供一项核心功能或特性,而不包含其他附加功能。 2 等价划分法①定义等价类划分法是一种软件测试技术,用于将输入数据划分为多个等价类,以减少测试用例的数量。 ④适用于单功能应用的测试简化测试:单功能应用通常有明确的输入和输出,等价类划分法可以帮助测试人员将输入数据分为有效和无效的类,减少测试用例的数量,从而简化测试过程。 覆盖不同场景:通过识别有效和无效的输入,等价类划分法确保测试覆盖了各种使用情况,包括边界条件和常见错误,帮助发现潜在缺陷。 提高效率:在单功能应用中,由于其关注点单一,使用等价类划分法可以更高效地选择测试数据,快速验证功能的正确性,避免冗余的测试。
测试用例之等价类划分法 测试用例之等价类划分 一、 关于测试用例的知识 1、 测试用例的基本概念: 测试用例(案例):test case / test instance 是在测试执行之前, 由测试人员进行编写的指导测试过程的重要文档,主要包括:用例编号,测试目的,测试步骤(用例描述),预期结果(期待结果)等(不同公司模板不同,但是大同小异) 2、 测试用例常用的方法(7种) 等价类划分 边界值 二、等价类划分 1、应用场合:在程序界面中有数据输入的地方,就可以使用等价类划分法。挑选少量的代表数据进行测试。 3、“等价类划分法”的基本测试思想: 从大量数据中划分范围(等价类),然后从每个范围中挑选代表数据,这些代表数据要能反应这个范围内数据的测试结果 4、 两个基本概念 1) 有效等价类: 对程序来说有意义的 、合理的输入数据集合 2) 无效等价类: 对程序来说无意义的、不合理的输入数据集合 软件的基本特征: 1) 功能实现—有效等价类 2) 很强的异常处理能力(健壮性)—无效等价类 三、案例:有一个注册的程序
前言 我们知道黑盒测试里面有很多的测试方法,有等价类划分,边界值分析,错误推测法,随机数,因果图,判定表,正交试验,场景法等等,今天来聊聊等价类划分 一、什么是等价类划分法 太专业的词汇可能不容易理解, 比如2里两位数先划分了[1,2,3,4...,99]这个有效等价类,假如我的程序对这个两位数的处理是: 奇数就+1,偶数就/2,。所以还需要对这个集合进行奇数和偶数的进一步划分。 三、设计测试用例步骤 1.分析确定等价类 2.建立等价类表,列出所有划分出的等价类 3.根据列出的等价类表,根据三个步骤设计用例 1) 为每个等价类规定唯一编号 2) 设计新的测试用例,尽可能的去覆盖未被覆盖的有效等价类 缺点:遇到组合的情况的话,等价类划分法是不足以解决问题的,同时等价类划分基于等价类中的输入都能产生相同的效果,在很多情况下用例选择不当会产生问题(如边界),还需要结合其他的方法来解决问题 五、小结 当出现边界值的时候 ,仅仅用等价类划分法是无法准确来判断的时候,就需要结合黑盒测试另外一个方法,边界值分析法。
概述 等价类划分是一种典型的黑盒测试方法,这一设计方法完全不用考虑程序的内部结构,也就是说其只根据需求规格说明书。 2. 最后,要想使用等价类划分这种方法来设计测试用例,一定要先根据需求规格说明划分等价类,列出等价类表。 3. 等价类和等价类表 >等价类 等价类就是指某个输入域的子集合,并且在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。并且合理的假定测试某等价类的代表值就等效于测试了这个等价类集合中的所有值。 >等价类表 在确定被测对象的输入域等价类后,就可以将有效等价类和无效等价类根据一定的格式形成等价类表,等价类表的绘制可以参考以下两个图: 4. 确定等价类的原则 在划分等价类时,我们遵循以下6个原则: 若输入条件规定了取值范围或值的个数时,可以确立一个有效等价类和两个无效等价类。
问题 构造下述三角形问题的弱健壮的等价类测试用例。 三角形问题:输入三个不超过100的正整数作为三角形的三条边,判断三角形是等边三角形、等腰不等边三角形、完全不等边三角形还是不能构成三角形。 解答 有效等价类划分: R1 = {<a, b, c>: the triangle with sides a, b, and c is equilateral} R2 = {<a, b, c>: the : sides a, b, and c do not form a triangle} Test Case a b c Expected Output WR1 5 5 5 Equilateral WR2 2 2 3 Isosceles WR3 3 4 5 Scalene WR4 4 1 2 Not a triangle WR5 -1 5 5 Value of a is out of range WR6
等价类划分法 等价类划分法是一种常用的、典型的黑盒测试方法。 由于做到穷举测试不可能,因此需要从大量的数据中选取一部分数据用于测试,这也是等价类划分法的意义所在。 等价类划分法概述 (1)等价类概念 等价类指输入域的某个互不相交的子集,所有等价类的集便是整个输入域。 (2)等价类划分 使用等价类划分法设计测试用例,首先必须在分析需求规格说明的基础上划分等价类,列出等价类表。 等价类可以分为有效等价类和无效等价类两种。 例如,某程序需要对月末最后一天进行处理,由于一年中有的月份是30天,有的月份是31天,如果为闰年则2月份是29天,否则2月份是28天。 这4种值相互间没有必然关系,都需测试到,就需有4个有效等价类。 (4)等价类划分法设计测试用例步骤 确立了等价类后,需要建立等价类表,列出所有划分出的等价类,用以设计测试用例。 ①为每个等价类规定一个唯一的编号。
步骤一:划分有效等价类和无效等价类 输入条件 有效等价类 无效等价类 报表日期的类型 ①数字字符 ②非数字字符 日期长度 ③6位 ④少于6位 ⑤多于6位 年份范围 ⑥1990年到1999年 ⑦小于1990 ⑧大于1999 月份范围 ⑨1月到12月 ⑩小于1 ⑾大于12 步骤二:为有效及无效等价类设计测试用例 1.有效等价类测试用例 测试数据 期望结果 覆盖范围 对应等价类 19920518 有效 1、3、6、9 ①数字字符 ③ 6位 ⑥1990年到1999年 ⑨1月到12月 2.每个无效等价类测试用例 测试数据 期望结果 覆盖范围 对应等价类 1992xxss 无效 2 非数字字符 199212
优先级从等价类划分法,边界值分析法方向排序。每种设计方法,我都会分析,今天我们先一起看看什么是等价类划分法。 等价类划分法: 官方定义:将程序所有可能的输入数据划分成若干个等价类。 举例说明: 拓展: 等价类划分法,基本上是测试人员耳熟能详的一种方法,所以这个方法是必须要掌握的,面试或笔试的时候都可能会被问到。 等价类划分法一般和边界值分析法相结合,来完善我们的测试用例。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
一、分析问题 如果我们需要对下面的这个两位数加法器设计测试用例,在测试了1+1,1+2,(-1)+1和(-1)+2之后,是否有必要测试1+3,1+4 ,1+(-3)和1+(-4)呢? 实践证明,这种假设是成立的,所以等价类划分法也是有效的。 等价类划分法是一种最常用、也是最重要的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。 2、建立等价类表 3、设计测试用例 在设计测试用例时,应同时考虑有效等价类和无效等价类测试用例的设计。 根据已列出的等价类表可确定测试用例,具体过程如下: (1)首先为等价类表中的每一个等价类分别规定一个唯一的编号。 (2)设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。 1、根据程序要求划分等价类 出生年份:4位整数,值的有效范围是1983-2003 出生月份:2位整数,值的有效范围是1-12 2、建立等价类表 3、设计测试用例 版权声明:本文内容由互联网用户自发贡献
问题 构造 NextDate 问题的弱一般的等价类测试用例。 解答 Test Case month day year Expected Output WN1 2 28 2008 2/29/2008 WN2 2 29 2008 3/1/2008 WN3 2 28 2009 3/1/2009 WN4 12 31 2008 1/1/2009 WN5 1 31 2008 2/1/2008 WN6 4 30 2008 5/1/2008 WN7 5 15 2008 5/16/2008
(2) 输出值域的等价类:R1={不构成三角形}、R2={一般三角形}、R3={等腰三角形}、R4={等边三角形}; <问题解答> (1) 列出等价类表并编号 (2) 设计覆盖有效等价类的测试用例 <问题解答> (1)划分法一 (1.1)划分等价类 A. 无效等价类 M2={mouth:mouth<1}、M2={mouth:mouth>12}; D2={day:day<1}、D3={day:day>31}; Y2={year:year<1912 【注:“强”是指含多缺陷假设,“强”是指含多缺陷假设;“健壮”是指考虑无效值】 (2)划分法二 显然地,在用划分法一测试NextDate函数时,既没有考虑2月份的天数问题,又没有考虑闰年的问题 在本问题中,变量mouth等价类数量为4、变量day等价类数量为4、变量year等价类数量为2,故强一般等价类测试用例数量为4*4*2=32。 (2.3) 健壮等价类测试 A.
(2)解决要测什么,怎么测和如何衡量的问题 3.测试用例方法 (1)等价类划分法 (2)边界值法 (3)因果图法 (4)判定表法 (5)正交排列法 (6)场景法 (7)测试大纲法 4.编写测试用例参考内容 (1)参考相关文档 需求文档 开发文档 用户手册 (2)参考已经开发出来的软件(或者早期版本) (3)与相关人员讨论 4.等价类划分法基本概念 等价类划分法属于典型的功能测试方法,根据程序对数据的要求 2)如果用户输入无效等价类中的数据,程序应该给予错误提示或者根本不允许用户输入 5.等价类划分法应用场合 只要有数据输入的地方就可以采用等价类划分法。 6.等价类划分发的步骤概述 (1)明确测试对象(测试什么) (2)划分等价类(按照需求分有效、无效) (3)细化等价类(有效、无效进行细化) (4)建立等价类表(将有效和无效等价类做表) (5) 编写测试用例 划分等价类: 细化等价类: 建立等价类表: 编写测试用例(有效): 编写测试用例(无效): 小结: 上面编写的测试用例,满足等价类划分法的要求
目录 等价类划分法概念 有效等价类和无效等价类 等价类设计测试用例步骤 案例1 案例2 案例3 ---- 等价类划分法概念 等价类划分法是把所有可能的输入数据,即程序的输入数据集合划分成若干个子集即等价类 等价类设计测试用例步骤 (1)划分等价类(有效等价类和无效等价类) (2)选取测试用例 ①对于有效等价类,使其尽可能多地覆盖尚未覆盖的有效等价类,直到所有的有效等价类均被覆盖。 输入数据要求:开头部分,后面部分,不超过6个 开头部分:{①:字母(有效)、②:非字母(无效)} 后面部分:{【③-1:字母,③-2:数字, ③-3:字母与数字】(有效)、④:非字母数字(无效)} 长度 :{⑤:2<=长度<=6(有效)、【⑥-1:长度<2,⑥-2:长度>6】(无效)} 有效等价类(尽量多的覆盖有效等价类) ①③-1② ①③-2② ①③-3② 无效等价类【一条测试用例只能覆盖一个无效等价类 ,其余部分为任意有效等价类】 ②③-1⑤ ①④⑤ ①⑥-2 ①③-2⑥ 案例2 以0开头的3位或4位数字 案例3 非0、非1开头的7位或八位数字 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人
今天我们就来看看最最最重要的测试理论:黑盒测试用例设计方法——等价类,可以说,这个不会,你的软件测试理论约等于0、 目录 1.为什么要掌握等价类用例设计方法 2.等价类划分法是什么 3.等价类划分法的设计步骤 4.等价类划分实例走起 步骤1:划分等价类 步骤2:设计用例覆盖有效等价类 步骤3:设计用例覆盖无效等价类 步骤4:确定用例 ---- 1.为什么要掌握等价类用例设计方法 先让我们问号三连击??? ,用较少的用例有效的发现问题 3.为什么必须掌握等价类划分法 因为等价类法师最常用的黑盒测试方法,难道不应该掌握一个最常用的方法吗? 2.等价类划分法是什么 等价类法把程序的所有可能的输入数据划分为为若干子集。每一子集的代表性数据在测试中的作用等价于这一子集的其他值。 每一个子集就是一个等价类。 3.等价类划分法的设计步骤 划分等价类,为每个等价类分配一个编号; 设计用例应覆盖尽可能多的尚未覆盖的有效等价类,直到所有有效等价类被覆盖; 设计用例覆盖一个无效等价类,直到所有无效等价类被覆盖。
基于上述需求,使用等价类划分法编写测试用例的步骤如下: 1.根据需求分析,建立“第一个数”和“第二个数”两个控件的等价类表。 注意:表格中字体颜色为红色的有效等价类可以组合成一条用例,是为了减少测试用例的数量,但是无效等价类只能一条一条编写测试用例,是为了避免“屏蔽”现象发生。 2.根据等价类表编写测试用例 在该案例中,使用等价类划分法并没有将所有测试点考虑周全,这将涉及到边界值法的使用。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。
输入条件 有效等价类 无效等价类 是否三角形的三条边 (A>0), (1) (B>0), (2) (C>0) (3) (A+B>C)(4) (B+C>A)(5) (A+C>B)(6) (A≤0), =B)and(B=C)and(C=A) (17) (A≠B), (18) (B≠C), (19) (C≠A), (20) 序号 【A,B,C】 覆盖等价类 输出 1 【3,4,5】 (1),(2),(3),(4),(5),(6) 一般三角形 2 【0,1,2】 (7) 不能构成三角形 3 【1,0,2】 (8) 4 【1,2,0】 (9) 5 【1, 2,3】 (10) 6 【1,3,2】 (11) 7 【3,1,2】 (12) 8 【3,3,4】 (1),(2),(3),(4),(5),(6),(13) 等腰三角形 9 【3,4,4】 (1) ,(2),(3),(4),(5),(6),(14) 10 【3,4,3】 (1),(2),(3),(4),(5),(6),(15) 11 【3,4,5】 (1),(2),(3),(4),(5),(6
B树一个节点可以拥有2个以上的子树,如2-3树、2-3-4树甚至2-3-4-5-6-7-8树,它们满足二分搜索树的性质,但它们不属于二叉树,也不属于二分搜索树。 2-3-4树查找算法 2-3-4树的查找类似二分搜索树的查找。 2-3-4树插入算法 2-3-4树的插入算法是消除当前节点是4-节点,将4-节点分解成多个2-节点,中间的2-节点与父节点合并成3-节点或4-节点。 沿着链接向下进行变换分解4-节点分为两种情况: 1)4-节点作为根节点,分解成3个2-节点,中间的2-节点作为根节点; 2)当前节点为4-节点,分解成3个2-节点,中间的2-节点与父节点合并成3-节点或 图:树底下插入一个元素 2-3-4树删除算法 2-3-4树的删除算法是消除当前节点是2-节点,向兄弟节点或父节点借一个元素过来。
有用 VS 无害 有人发现,Llama-2-chat 在安全过滤器方面表现出一些过于敏感的行为。 随着时间的推移,使用相同数据集微调 Llama 2 得到的模型几乎肯定会性能更好。 此外,Llama 2 还有一些值得关注的方面,包括: 工具的应用:Llama 2-Chat 仅通过语义就能够理解工具的应用和 API 参数,尽管其从未接受过使用工具的训练。 Llama 2 的论文中有很多关于温度参数的内容,不太清楚有多少是针对特定情况的。 以上就是 Nathan Lambert 关于 Llama 2 的第二篇分析文章的主要内容。 原文链接:https://www.interconnects.ai/p/llama-2-part-2
二分法查找 猜数字游戏 0-1000猜数字游戏: 普通查找:100,99,98,…,1,需要100步 二分法查找:100--->50--->25--->13--->7--->4--->2---> 需要7步 n个元素组成的列表,最多需要走log_2{n}步。 普通查找n步 attention:二分法查找仅对有序列表有用 思想 折半查找,比较次数少,速度快,只能作用于有序数组和顺序表,当查找范围内只有一个数据的时候,结束查找。 alist) - 1 while low <= high: # 查找的条件:只要范围没有缩小到只包含一个元素,就检查中间的元素 mid = (low + high) // 2 None # 递归版本 def binary_search(alist, item): n = len(alist) if n > 0: mid = // 2
等价类划分法等价类划分法是指依据需求对输入的范围进行分类,然后在分出的每一个区域内选取一个有代表性的测试数据开展测试。 等价类划分法是比较容易理解的,我们现在设计测试用例用等价类划分法比较多,它适用的场景也比较多。我们为什么使用等价类划分法呢? 等价类划分法的划分方法等价类是指某个输入域的子集合。分为有效等价类和无效等价类。 分析:有效等价类:0≤成绩≤100无效等价类:成绩<0 或 成绩>100在数轴上表示:等价类划分法常用方法2在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类 分析:有效等价类:字母a开头的用户名无效等价类:字母b开头的用户名、数字2开头的用户名等等等价类划分法常用方法6在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类