详谈黑盒测试用例设计-飞外网

黑盒测试(Black-box Testing,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。

采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。

黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件。黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误。

黑盒测试试图发现以下类型的错误:

1)功能错误或遗漏;

2)界面错误;

3)数据结构或外部数据库访问错误;

4)性能错误;

5)初始化和终止错误。

一、黑盒测试的测试用例设计方法

· 等价类划分方法

· 边界值分析方法

· 错误推测方法

· 因果图方法

· 判定表驱动分析方法

· 正交实验设计方法

· 功能图分析方法

等价类划分:

是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。

1) 划分等价类: 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。

有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

无效等价类:与有效等价类的定义恰巧相反。

设计测试用例时,要同时考虑这两种等价类。因为,软件不仅要能接收合理的数据,也要能经受意外的考验。这样的测试才能确保软件具有更高的可靠性。

2)划分等价类的方法:下面给出六条确定等价类的原则。

① 在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。

② 在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。

③ 在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。

④ 在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。

⑤ 在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。

⑥ 在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。

3)设计测试用例:在确立了等价类后,可建立等价类表,列出所有划分出的等价类:

输入条件 有效等价类 无效等价类

然后从划分出的等价类中按以下三个原则设计测试用例:

① 为每一个等价类规定一个唯一的编号。

② 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步。直到所有的有效等价类都被覆盖为止。

③ 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步。直到所有的无效等价类都被覆盖为止。

边界值分析法

边界值分析方法是对等价类划分方法的补充。

(1)边界值分析方法的考虑:

长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。

使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

(2)基于边界值分析方法选择测试用例的原则:

1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。

2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。

3)根据规格说明的每个输出条件,使用前面的原则1)。

4)根据规格说明的每个输出条件,应用前面的原则2)。

5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。

2、相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确。

3、检查按钮的功能是否正确:如update, cancel, delete, SAve等功能是否正确。

4、字符串长度检查: 输入超出需求所说明的字符串长度的内容,看系统是否检查字符串长度,会不会出错。

5、字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错。

6、标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键。看系统处理是否正确。

7、中文字符处理: 在可以输入中文的系统输入中文,看会否出现乱码或出错。

8、检查带出信息的完整性: 在查看信息和update信息时,查看所填写的信息是不是全部带出。,带出信息和添加的是否一致

9、信息重复: 在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理。

10、检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息,按”delete”,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理。

11、检查添加和修改是否一致: 检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型。

12、检查修改重名:修改时把不能重名的项改为已存在的内容,看会否处理,报错。同时,也要注意,会不会报和自己重名的错。

13、重复提交表单:一条已经成功提交的纪录,back后再提交,看看系统是否做了处理。

14、检查多次使用back键的情况: 在有back的地方,back,回到原来页面,再back,重复多次,看会否出错。

15、search检查:在有search功能的地方输入系统存在和不存在的内容,看search结果是否正确。如果可以输入多个search条件,可以同时添加合理和不合理的条件,看系统处理是否正确。

16、输入信息位置: 注意在光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方。

17、上传文件检查:上传文件的功能是否实现,上传文件是否能打开。对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能够做到。

18、必填项检查:应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息,如在必填项前加*

19、快捷键检查:是否支持常用快捷键,如Ctrl+C Ctrl+V Backspace等,对一些不允许输入信息的字段,如选人,选日期对快捷方式是否也做了限制。

20、回车键检查: 在输入结束后直接按回车键,看系统处理如何,会否报错。


如何使用覆盖率指标进行更有效的嵌入式软件测试 声明、决策或 MC/DC 覆盖率等指标并不能保证软件没有缺陷。如前所述,真正详尽的测试可能是不可.... 星星科技指导员 发表于 06-29 10:20 •
抑制电磁干扰是提高轻小型光纤陀螺低速灵敏度的关键问题。为了减小电磁干扰,必须对电磁兼容三要素中干扰源.... PRBTEK 发表于 06-28 16:19 •
模型驱动测试如何生成基于代码的测试结果 寻找方法帮助分布式团队更好地协同工作,同时推动高质量的可交付成果是许多组织的首要任务。当开发过程.... 星星科技指导员 发表于 06-28 14:12 • 107次
Cascade TESLA200—大批量数据处理的测试环境 TESLA200 - 完整准确的大批量数据处理的测试环境 FormFactor开发了TESLA200.... 芯睿科技 发表于 06-24 18:34 •
高电压防电弧 通常,当测试晶圆上的高电压时,探针之间将存在放电(电弧),这也发生在DUT(被测器件).... 芯睿科技 发表于 06-24 18:29 •
cascade应对超低温挑战的专业化探针台系统 应对超低温挑战需要专业化的探针台系统 低温测试环境首先需要一个真空腔室,以提供合适的密封和排空的环境.... 芯睿科技 发表于 06-24 18:19 •
高级精细的工具简化了超低温测试 低温工具软件是一种Velox应用程序,通过控制真空泵和冷却液参数,可.... 芯睿科技 发表于 06-24 18:15 •
回顾伟大无线创新的历史,推动技术走上成功之路的共同因素是基于其构建的广泛生态系统。在过去 20 年间.... 莱特波特LitePoint 发表于 06-24 16:21 • 301次
关于Wi-Fi CERTIFIED EasyMesh测试计划v4.1版本 近日,Wi-Fi联盟更新了Wi-Fi CERTIFIED EasyMesh测试计划v4.1版本,以阐.... DEKRA德凯 发表于 06-24 11:31 • 414次
什么是局部放电屏蔽室 局部放电测试仪可以帮助众多电力工作者更加方便的进行各类电力测试。一、局部放电屏蔽室高压局部放电实验室适用于电力电缆、变压... 发表于 06-24 09:18 • 814次
乘用车电池包断路保护单元测试解决方案 近年来,新能源汽车市场渗透率持续提升。2016年新能源汽车市场渗透率仅1.8%,2020年市场渗透率.... 发表于 06-23 10:49 •
PCB焊盘设计注意事项 1、贴片元器件两端没连接插装元器件的必须增加测试点,测试点直径在1.0mm~1.5mm之间为宜,以便.... 发表于 06-23 10:20 •
多通道电子负载模组化设计,不同功率的电子负载模组可自由组合,同一电子负载控制外框可达8个通道,适合多.... 源仪电子 发表于 06-22 15:08 •
rt-thread 驱动篇(三) serialX 压力测试 本周笔者花了好多天的时间,计划从多个方面对串口驱动做个比较。下面就从以下几个角度做个对比测试。 出出 发表于 06-22 09:22 • 1361次
用于诸如放大器、混频器和滤波器等电路的晶圆级测量的测试系统的规范化会颇具挑战性,特别是当单个晶圆可容.... 芯睿科技 发表于 06-21 14:58 • 195次
太赫兹(THz)技术历来是体积庞大且昂贵的系统,仅用于射电天文学和实验室应用。但是,近年来取得的技术.... 芯睿科技 发表于 06-21 14:46 • 206次
产品可靠性MTBF测试的详细说明 1 MTTF 产生背景✦ 现如今,电子产品更新日趋频繁,产品投产前的可靠性测试便显得尤为重要。与此同.... 发表于 06-20 15:59 •
HPM6750EVKMINI开发板的CAN总线测试 hpm6750具有高性能,比较适合做复杂控制算法,而工控领域can总线是绕不开的话题,本文进行基本c.... Evanee 发表于 06-20 09:25 • 178次
CoverageMasterwinAMS : 适用于嵌入式目标机代码的单元测试/集成测试工具全面支持嵌入式微机!验证嵌入式C/C++软件... 发表于 06-17 18:26 • 3282次
罗德与施瓦茨联合中关村泛联院构建通信感知一体化测试解决方案 中关村泛联移动通信技术创新应用研究院(以下简称“中关村泛联院”)自2021年成立以来围绕信息通信领域.... 罗德与施瓦茨中国 发表于 06-15 09:14 • 219次
罗德与施瓦茨联合Comprion开发出eSIM测试配置文件 传统 SIM 卡接口的移动设备先前需要使用专用的测试 SIM卡在测试实验室中使用综测仪进行测试。现在.... 罗德与施瓦茨中国 发表于 06-15 09:12 • 188次
晶圆上超导材料低温晶圆测试正在升温   近年来,在低温(低于123K或-150°C)下,晶圆上超导材料,其他新型材料和传统半导体的使用迅.... 发表于 06-13 10:05 •
基于飞凌嵌入式OK-G2LD-C开发板的存储读写速度和兆网带宽测试 本篇文章基于飞凌嵌入式OK-G2LD-C开发板,针对其存储读写速度和千兆网带宽进行测试。相信能够帮助.... 发表于 06-12 09:30 •
信号完整性常用的一些测试方法和使用的仪器 使用示波器进行波形测试,这是信号完整性测试中最常用的评估方法。主要测试波形幅度、边沿和毛刺等,通过测.... 凡亿PCB 发表于 06-10 09:27 • 304次
旋转流变仪的工作原理 国产流变仪保圣RH-20旋转流变仪:可用于测定聚合物熔体、聚合物溶液、高分子材料、悬浮液、乳液、涂料.... 发表于 06-09 17:24 •
CM300xi-ULN探针台基本实现即插即用 将高性能闪烁噪声或相位噪声实验室安装在不良位置会降低其性能。与开发高性能系统一样,对于负责安装新探针.... 发表于 06-08 15:09 •
Infinity探针系列如何真正提高测试工程团队的生产力 我们的设备表征和建模的理想选择InfinityProbe®系列产品在铝垫上具有极低的接触电阻,具有无.... 发表于 06-07 15:21 •
经过测试和检验,连接器在性能和质量上都有保障,使用起来也更加安全。随着电子产品的发展,连接器的性能也.... connra 发表于 06-07 14:16 • 253次
Incal Echo/DI两种低功率老化炉的简单对比 随着这两年芯片热的兴起,特别是国内设计公司的快速发展,客户群体对于可靠性老化测试需求呈快速增长趋势。.... 上海季丰电子 发表于 06-06 17:15 • 384次
具有物联网功能设备面临的测试挑战及解决方法 无论是将新型物联网模块或终端集成到设备中,测试低功耗性能,还是解决设计中碰到的信号传输问题,罗德与施.... 发表于 06-06 15:10 •
微机消谐装置485通讯的测试方法简述 RS-485仅是一个电气标准,描述了接口的物理层,像协议、时序、串行或并行数据以及链路全部由设计者或.... 发表于 06-06 11:30 •
文远知行全无人驾驶环卫车开展公开道路测试 由 50 辆无人驾驶车辆组成的车队开展公开道路测试,对道路进行清扫、洒水和消毒。 NVIDIA英伟达企业解决方案 发表于 06-02 11:20 • 419次
基于Cascade半自动探针台的简易自动测试平台设计 集成电路测试是集成电路产业链的重要组成部分。在对集成电路进行在片测试时,需要对整个晶圆进 行测试。文.... tjxinrui 发表于 06-02 10:04 • 339次
随着应用的功能不断丰富、多样性不断提升,手动测试应用以验证行为的做法变得愈加乏味、昂贵,甚至不切实际.... 谷歌开发者 发表于 06-01 09:39 • 387次
智能音箱唤醒率测试的解决方案 智能音箱死活叫不醒,是结构问题?还是算法问题?还是角度问题?还是环境问题?还是唤醒词问题? 什么样的.... yoaguaizz 发表于 05-31 17:44 • 379次
LCR表发生故障时应如何判断故障原因 LCR表遇到故障如何排查呢,LCR测试仪能准确并稳定地测定各种各样的元件参数,主要是用来测试电感、电.... 发表于 05-30 11:16 •
射频探针的历史及种类介绍 1980年,在Tektronix工作的Reed Gleason与Eric Strid合作发明了第一台.... 发表于 05-30 10:20 • 104次
2022 RT-Thread全球技术大会:Utest断言方法 Utest单元测试框架提供一系列assert,用于测试用例判断运行结果 牵手一起梦 发表于 05-27 16:18 • 372次
2022 RT-Thread全球技术大会:什么是单元测试 什么是单元测试?单元测试的作用是什么? 牵手一起梦 发表于 05-27 15:34 • 182次
本次厦门希立仪器给大家展示一组双通道气密性测试仪用于汽车连接器生产线上的气密性检测,根据客户的要求,.... 气密性测试设备 发表于 05-25 17:20 • 427次
为您的电源选择最佳工作频率是一项复杂的权衡,涉及尺寸,效率和成本。通常,低频设计往往是最有效... 发表于 05-21 10:46 • 2618次
三防漆抗硫腐测试注意事项 三防漆抗硫腐测试需要注意哪些事项呢?今天施奈仕将多年总结测试积累的经验和大家进行分享,希望能够帮助到.... 施奈仕电子胶粘剂 发表于 05-21 09:18 •
微机消谐摇表测试过程简述 首先检查一遍壳体,然后接好线路,查看一下绝缘程度如何 发表于 05-19 10:47 •
RadiSense10系列各向同性场强传感器的测试方案 每个宽带场强传感器在其频率范围内都会有一定的频率响应。如果不校正,这将导致额外的测量偏差(误差)。在.... 广州虹科电子科技有限公司 发表于 05-18 17:24 • 567次
波峰焊的安装与连接方法及注意事项 一般用可以和PCB板一起入炉的温度采集器(即温度记忆器件)来测试回流温度曲线。使用k型热电偶(各种型.... 发表于 05-18 15:59 • 254次
电磁阀性能测试方法的详细说明 某型号电磁阀结构简图如图1所示,该阀有三个油口,其中P口和A口为供油口,T口为回油口。随着电流变化,.... 发表于 05-18 09:15 • 265次
高低温试验箱常见问题如何解决 高低温试验箱适用于电工、电子产品、元器件、零部件及其材料在高低温环境下储存、运输和使用时的适应性试验,以及温度渐变试验。... 发表于 05-11 13:58 • 4088次
自动温升测试仪通道计算功能 温升试验设备可以帮助众多电力工作者更加方便的进行各类电力测试。电力测试设备具有测试、测试、计算的功能,可以得到测试数据的... 发表于 05-11 09:17 • 3753次
耐压测试仪结构组成部分 耐压测试仪又叫电气绝缘强度试验仪或叫介质强度测试仪。将一规定交流或直流高压施加在电器带电部分和非带电部分(一般为外壳)之... 发表于 05-09 16:46 • 4576次
【HarmonyOS HiSpark AI Camera试用连载 】飞外网用仪表盘开发-其一 # 飞外网用仪表盘-其一> 鸿蒙 的 arkUI 框架可以做到一端开发,多端部属,开发效率很高,这里使用其来开发一款飞外网用仪表... 发表于 04-30 11:49 • 2841次