软件测试学习第一期

🎬 博客主页:博主链接

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

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

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

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

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


文章目录

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

😧软件测试的心理学

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

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

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

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

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

😧软件测试的经济学

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

黑盒测试

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

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


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

那我们为什么要这样做?

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

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

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

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


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

白盒测试

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

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

相关推荐
程序员龙叔13 天前
编写高质量 Skill 系列 -- 如何设计需求分析与用例生成的 SKILL
自动化测试·软件测试·python·软件测试工程师·接口测试·性能测试·skill·ai测试
通信小呆呆13 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
H__Rick13 天前
自动对焦学习-3
人工智能·学习·计算机视觉
Daisy Lee13 天前
量化学习-第1章-什么是量化金融
学习·金融·datawhale
Alsn8613 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
YM52e13 天前
买菜计算器小应用 - HarmonyOS ArkUI 开发实战-PC版本
学习·华为·harmonyos·鸿蒙·鸿蒙系统
小雨下雨的雨13 天前
HarmonyOS ArkUI训练营入门-组件掌握系列-Animation 动画效果实现-PC版本
学习·华为·harmonyos·鸿蒙
goldenrolan13 天前
A公司物料替代测试系统 v1.7:从需求到 exe/apk 的 AI 辅助全链路实践
android·自动化测试·软件测试·python·ai
cqbzcsq13 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
YangYang9YangYan13 天前
2026初入职场学习数据分析的价值
学习·数据挖掘·数据分析