软件测试方法 - 等价类边界值

简介: 软件测试方法 - 等价类边界值

# 测试用例设计方法

测试用例的定义

测试用例是为了特定的目的而设计的一组测试输入、执行条件和预期的结果,以便测试是否满足某个特定需求。通过大量的测试用例来检验软件的运行效果,他是指导测试工作进行的依据。

下面我们介绍几种常用的黑盒测试方法

等价类划分法

定义:等价类划分是一种重要的、常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输入规格即可。它将不能穷举的测试过程进行合理分类,从而保证测试用例具有完整性和代表性

有效等价类验证系统功能,无效等价类验证错误处理能力
作用:在有限的测试资源的情况下,用少量有代表的数据得到比较好的测试效果。

缺陷:边界值的动态性。

步骤:

1、先确定有效和无效等价类

2、有效等价类就是题目条件

3、无效等价类先划分与条件相反的情况,再找到特殊情况。

设计测试用例

根据已列出的等价类表可确定测试用例,具体过程如下:

1、首先为等价类表中的每一个等价类分别规定一个唯一的编号

2、设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。重复这个步骤,直到所有的有效等价类均被测试用例所覆盖

3、设计一个新的测试用例,使它仅覆盖一个尚未覆盖的无效等价类。重复这一步骤,直到所有的无效等价类均被测试用例所覆盖。

划分等价类的原则

1、如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类

2、如果输入条件规定了输入值的集合,或者是规定了”必须如何“的条件,这时可确立一个有效等价类和一个无效等价类

3、如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类

4、如果规定了输入数据的一组值,而且程序要对每一个输入值分别进行处理,这时可为每一个输入值确立一个有效等价类,它是所有不允许的输入值的集合

5、如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)

6、如果规定了输入数据为整型,则可以划分出正整数、零和负整数等三个有效类

7、如果程序的处理对象是表格,则应该使用空表,以及含一项或多项的表。

举例:

在这里插入图片描述

我们以 QQ 为例,当客户在 QQ 号码要求是6-10位的整数,我们该怎么进行测试?

根据等价类划分,我们划分出有效等价类和无效等价类:
在这里插入图片描述

边界值分析法

边界值分析法就是对输入或输出的边界值进行测试的一种常用的黑盒测试方法。

为什么要有边界值分析法?

大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。
通常情况下,软件测试所包含的边界检验有几种类型:

数字、字符、位置、质量、大小、速度、方位、尺寸、空间等

相应地,以上类型的边界值应该在:

最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最长、空/满等情况下。 

采用边界值分析测试的基本思想是:故障往往出现在输入变量的边界值附近。

因此,边界值分析法利用输入变量的最小值(min)、略大于最小值(min+)、输入值域内的任意值(nom)、略小于最大值(max-)和最大值(max)来设计测试用例

用边界值分析设计测试用例应遵循的原则

1、如果输入条件规定了取值范围,则应对该范围的边界内附近,恰好在边界和在边界外附近(无效等价类)设计测试用例

如:规定金额输入框输入范围为0~100,应对 -1、0 、1、99、100、101 设计相应的测试用例

2、如果输入条件规定了数据的个数,则应对最少个数,最多个数,比最少个数少1,比最大个数多1等情况设计测试用例
如:输入文件有1~255个记录,则应分别设计0,1,255,256个记录的输入文件的测试用例
3、针对规格说明中的每个输出条件使用前面的1和2原则。
如:计算折扣量,最低折扣为0元,最高为1000元,则要设计使它们恰好产生0元或1000元的结果,以及负值或稍大于1000元的结果(如果可能的话)
4、如果程序规格说明中提到的输入或输出域是个有序的集合(如顺序文件,线性表等)。应选有序集的第一个和最后一个元素作为测试用例

举例:输入的两个参数值必须大于0同时小于100的整数,计算和

If Val(Test1.Test) >= 0 Or Val(Test1.Test) <=100 Then
    MsgBox("输入的参数值必须大于0同时小于100")
    Test1.SetFocus
ElseIf Val(Test2.Test) > =0 or val (Test2.Test) <= 100 then
    MsgBox("输入的参数值必须大于0同时小于100")
    Test2.SetFocus
Else
    Test3.Test = Val(Test1.Test) + Val(Test2.Test)
End If

如何解决这类问题
1、找到测试数据的边界点,也就是有效等价类和无效等价类的边界点,对边界点数据专门进行测试。
2、一般情况下,需要对边界值(0和100)以及边界值两边的数(-1和1以及101和99)分别进行测试。
因此我们可以设计测试用例:
在这里插入图片描述
而我们仔细看一下:
在这里插入图片描述
程序员在边界条件设置错误:把>写成了>=,把<写成了<=,所以我们可以得出预期结果与实际结果不符合的结论。
所以:有效数据和无效数据的分界点,往往作为程序员编写程序的判断点,是程序员容易犯错误的地方,也是测试人员重点测试的内容。

边界值和等价类的区别:

1、边界值分析不是从等价类中随便挑一个作为代表,而是选一个或几个特定值,使这个等价类的每个边界都作为测试的目标。
2、边界值分析不仅要考虑输入条件,而且要考虑输出条件(输出等价类)。
一般联合使用等价类划分和边界值分析两种方法。

目录
相关文章
|
2月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
213 1
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
如何让AI更“聪明”?VLM模型的优化策略与测试方法全解析​
本文系统解析视觉语言模型(VLM)的核心机制、推理优化、评测方法与挑战。涵盖多模态对齐、KV Cache优化、性能测试及主流基准,助你全面掌握VLM技术前沿。建议点赞收藏,深入学习。
438 8
|
5月前
|
测试技术
软考软件评测师——可靠性测试测试方法
软件可靠性是指软件在规定条件和时间内完成预定功能的能力,受运行环境、软件规模、内部结构、开发方法及可靠性投入等因素影响。失效概率指软件运行中出现失效的可能性,可靠度为不发生失效的概率,平均无失效时间(MTTF)体现软件可靠程度。案例分析显示,嵌入式软件需满足高可靠性要求,如机载软件的可靠度需达99.99%以上,通过定量指标评估其是否达标。
|
5月前
|
消息中间件 缓存 监控
性能测试怎么做?方法、流程与核心要点解析
本文系统阐述了性能测试的核心方法论、实施流程、问题定位优化及报告编写规范。涵盖五大测试类型(负载验证、极限压力、基准比对、持续稳定性、弹性扩展)与七项关键指标,详解各阶段任务如需求分析、场景设计和环境搭建,并提供常见瓶颈识别与优化实战案例。最后规范测试报告内容框架与数据可视化建议,为企业级实践提出建立基线库、自动化回归和全链路压测体系等建议,助力高效开展性能测试工作。
|
9月前
|
编解码 缓存 Prometheus
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
本期内容为「ximagine」频道《显示器测试流程》的规范及标准,我们主要使用Calman、DisplayCAL、i1Profiler等软件及CA410、Spyder X、i1Pro 2等设备,是我们目前制作内容数据的重要来源,我们深知所做的仍是比较表面的活儿,和工程师、科研人员相比有着不小的差距,测试并不复杂,但是相当繁琐,收集整理测试无不花费大量时间精力,内容不完善或者有错误的地方,希望大佬指出我们好改进!
558 16
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
|
9月前
|
人工智能 自然语言处理 测试技术
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
AxBench 是由斯坦福大学推出,用于评估语言模型可解释性方法的基准测试框架,支持概念检测和模型转向任务,帮助研究者系统地比较不同控制技术的有效性。
195 5
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
|
10月前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
5月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
854 23
|
7月前
|
SQL 安全 测试技术
2025接口测试全攻略:高并发、安全防护与六大工具实战指南
本文探讨高并发稳定性验证、安全防护实战及六大工具(Postman、RunnerGo、Apipost、JMeter、SoapUI、Fiddler)选型指南,助力构建未来接口测试体系。接口测试旨在验证数据传输、参数合法性、错误处理能力及性能安全性,其重要性体现在早期发现问题、保障系统稳定和支撑持续集成。常用方法包括功能、性能、安全性及兼容性测试,典型场景涵盖前后端分离开发、第三方服务集成与数据一致性检查。选择合适的工具需综合考虑需求与团队协作等因素。
890 24
下一篇
开通oss服务