软件测试学习第一期

🎬 博客主页:博主链接

🎥 本文由 M malloc 原创,首发于 CSDN🙉

🎄 学习专栏推荐:LeetCode刷题集!

🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

📆 未来很长,值得我们全力奔赴更美好的生活✨

------------------❤️分割线❤️-------------------------


文章目录

😁大家好呀,今天来学习软件测试的相关知识吧!

😧软件测试的心理学

测试执行得差,其中一个主要原因在于大多数的程序员一开始就把"测试"这

个术语的定义搞错了,他们可能会认为:

  1. "软件测试就是证明软件不存在错误的过程。"
  2. "软件测试的目的在于证明软件能够正确完成其预定的功能。"
  3. "软件测试就是建立一个'软件做了其应该做的'信心的过程。

在上述的说法中其实大多都是错误的,我认为软件测试的真正理解是

"测试是为发现错误而执行程序的过程"

😧软件测试的经济学

在给出软件测试的基本定义后,下一步就是能否确定软件测试是否能够发现"所有的错误"。我们要证明答案是错误的,即使是规模很小的程序。一般说来,要发现程序中的所有错误也是不切实际的,常常也是不可能的。这个基本的问题反过来暗示出软件测试的经济学问题、测试人员对被测软件的期望,以及测试用例的设计方式。

黑盒测试

黑盒测试是一种重要的测试策略,又称为数据驱动的测试或输入/输出驱动的测试。

使用这种测试方法时,将程序视为一个黑盒子。测试目标与程序的内部机制和结构完全无关,而是将重点集中放在发现程序不按其规范正确运行的环境条件。


在这种方法中,测试数据完全来源于软件规范(换句话说,不需要去了解程序 的内部结构)。如果想用这种方法来发现程序的所有错误,判定的标准就是"穷举 输入测试",将所有可能的输入条件都作为测试用例。

那我们为什么要这样做?

就比如说在三角形测试的程序中,试过了三个等边三角形的测试用例。这不能确保正确地判断出所有的等边三角形。

程序中可能包含对边长为 3842,3842,3842 的特殊检查,并指出此三角形为不规则三角形。

由于程序是个黑盒子,因此能够确定此条语句存在的惟一方法,就是试验所有的输入情况。

要穷举测试这个三角形程序,可能需要为所有有效的三角形创建测试用例,只要三角形边长在开发语言允许的最大整数范围内。这些测试用例本身就是天文数字,但这还不是所谓的穷尽的,当程序指出-3,4,5是一个不规则三角形或 2,A,2 是一个等腰三角形时,问题就暴露出来了,为了确保能够发现所有这样的错误,不仅得用所有有效的输入,而且还得用所有可能的输入进行测试。因此,为了穷举测试三角形程序,实际上需要创建无限的测试用例:这当然是不可能的。


上述讨论说明,穷举输入测试是无法实现的,这有两方面的含义,一是我们无 法测试一个程序以确保它是无错的,二是软件测试中需要考虑的一个基本问题是软 件测试的经济学。

白盒测试

另一种测试策略称为白盒测试或称逻辑驱动的测试,允许我们检查程序的内部结构。这种测试策略对程序的逻辑结构迸行检查,从中获取测试数据(遗憾的是,常常忽略了程序的规范)。

好啦今天先到这里啦,这篇文章简单的介绍了一下什么是软件测试。

相关推荐
墨澜逸客18 小时前
《华胥文化》百回大纲
学习·其他·百度·学习方法·新浪微博
Stella Blog18 小时前
狂神Java基础学习笔记Day04
java·笔记·学习
一只机电自动化菜鸟18 小时前
一建机电备考笔记(17) 常用设备—通用设备1(含考频+题型)
笔记·学习·职场和发展·生活·学习方法
深蓝海拓18 小时前
基于QtPy (PySide6) 的PLC-HMI工程项目(十)框架初成的阶段总结
网络·笔记·python·学习·ui·plc
菜鸟‍18 小时前
【论文学习】Transformer中的数据流动
深度学习·学习·transformer
fmk102319 小时前
FastAPI + LangChain Agent 从零入门学习笔记
学习·langchain·fastapi
词元Max19 小时前
Java 转 AI Agent 开发学习路线(2026年3月最新版)
java·人工智能·学习
星幻元宇VR20 小时前
VR互动平台|开启沉浸式体验新方式
科技·学习·安全·vr·虚拟现实
qqacj20 小时前
Spring Security 官网文档学习
java·学习·spring
南無忘码至尊21 小时前
Unity学习90天 - 第 6 天 -学习物理 Material + 重力与阻力并实现弹跳球和冰面滑动效果
学习·unity·游戏引擎