软件測试基本方法(三)之黑盒測试

简介:

黑盒測试:

  • 概念:也称功能測试,它是通过測试来检測每一个功能是否都能正常使用。

    在測试中,把程序看作一个不能打开的黑盒子。在全然不考虑程序内部结构情况下,在程序接口进行測试。它仅仅检查程序功能是否依照需求规格说明书的规定正常使用,程序能否适当地接收输入数据而产生正确的输出信息。黑盒測试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行測试。

  • 分类:黑盒測试有非常多详细方法。这里仅仅选取两种最经常使用的——等价类划分法和边界值分析法。

等价类划分法:
定义:分为有效等价类和无效等价类。

有效等价类是合理的输入数据,可检查程序是否实现了规格说明中所规定的功能和性能。无效等价类与有效等价类的意义相反。


例1:
输入日期。如200001,前四位代表年,后两位代表月,限制条件为日期由年月的6位数字组成,日期限制在2000年1月至2045年12月(奇点时刻,有兴趣的朋友參见超链接:))。以下就是等价类划分的一个实例。



例2:

问题:针对国内18位身份证号码验证,通过等价类划分法设计測试用例。

先了解一下18位身份证,拿370686199211204618来说:

37——所在省

06——所在地级市

86——所在县级市

19921120——出生年月日

461——顺序码。表示你在该地区与你同年同月同日生的人群中的序号,奇数表示男,偶数表示女

8——对前17进行加权求和并mod11。假设结果为10。用‘X’表示



总之依据输入要求,先明确合理等价类是什么,然后再找出不合理等价类。以前有位scrum master说这是最重要最主要的測试方法,但某些測试人员却不遵守。


边界值分析法:
定义:确定边界情况(输入或输出等价类的边界),选取正好等于、刚刚大于或刚刚小于边界值作为測试数据。

例3:
如上面例1,假设用边界值法,会有例如以下測试用例:
  • 200001(边界有效最小值)、204512(边界有效最大值)
  • 199901、199912、204601、204612(边界无效值)
边界值分析法常被看做是等价类划分法的一种补充。二者结合起来使用更有效。


例4:
对于一个排序程序,设计它的边界值。

其边界条件有:
  • 排序序列为空
  • 排序序列仅有一个数据
  • 排序序列为最长序列
  • 排序序列已经按要求排好序
  • 排序序列的顺序与要求的顺序恰好相反
  • 排序序列中的所有数据所有相等
例5:
一个文本输入的測试过程。字符编码採用ASCII码。假设输入0~9。那么这个输入的边界字符为/(斜杠)和:(冒号)。

总结:

除了以上两种。还有判定表法、因果图法等。事实上全部的白盒和黑盒,终于都要生成測试用例,关于測试用例,例如以下:

  • 測试用例:为某个特殊目标而编制的一组測试输入、运行条件以及预期结果,以便測试某个程序路径或核实是否满足某个特定需求。

  • 一个測试用例用于证明该需求已经满足。通常称作正面測试用例。还有一个測试用例反映某个意外的条件,用于论证仅仅有在所需条件下才可以满足该需求,这个測试用例称作负面測试用例
  • 測试用例是软件測试的核心。





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

热门文章

最新文章