news 2026/4/29 8:19:50

全网最详细的软件测试知识总结(基础篇)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
全网最详细的软件测试知识总结(基础篇)

全网最详细的软件测试知识总结(基础篇)

1、软件缺陷

软件缺陷:又称之为“Bug”。即计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。

缺陷的表现形式

软件没有实现产品规格说明书所要求的功能模块;
软件中出现了产品规格说明指明不应该出现的错误;
软件实现了产品规格说明中没有提到的功能需求;
软件没有实现虽然产品规格说明没有明确提及但应该实现的目标;
软件难以理解、不易使用、运行缓慢、用户体验不友好;

产生软件缺陷的原因

需求不清晰;
系统结构较为复杂;
对程序逻辑路径或者数据范围考虑不全面;
确保设计时间的精准同步;
存在系统性、可靠性的隐患问题;
系统运行环境的复杂;
通信端口较多时影响系统的安全性、适用性;
设计技术系统兼容的问题;

缺陷的属性

缺陷标识:标识唯一;
缺陷类型:缺陷种类;
缺陷严重程度:指因缺陷引起的故障对软件产品的影响程度;
缺陷优先级:指缺陷必须被修复的紧急程度;
缺陷状态:通过一个跟踪修复过程的进展情况;
缺陷起源:缺陷引起的故障或事件第一次被检测到的阶段;
缺陷来源:引起缺陷的原因;
缺陷根源:反正错误的根本因素;

2、软件测试的定义及原则

定义:软件测试是为了发现错误而执行程序或系统的过程。
原则:
测试显示Bug的存在:
穷举测试不可能;
尽早地进行测试;
缺陷群:(二八定律:约80%的问题被发现在20%的模块中);
杀虫剂悖论;
测试是上下文相关的;
有无谬误;
软件测试是有风险的行为;
二、软件测试过程与策略

1、软件测试策略概述

软件测试策略是软件工程过程的一个软件测试的模板,也就是把特定的测试用例方法放置进去的一系列步骤:

软件测试包含的特征

测试从模块层开始,然后扩大延伸到整个基于计算机的系统集合中;
不同的测试技术适用于不同的时间点;
测试由开发人员及独立的测试组来管理的;
测试和调试时不同的活动,但是调试必须能够适应任何测试策略;

软件测试充分性准则

对任何软件都存在有限的充分测试集合;
若果一个软件系统在一个测试数据集合上的测试是充分的,那么再多测试一些数据也应该是充分的;
即使对软件所有成分都进行了充分测试,也并不表名整个软件的测试已经充分;
即使对软件系统整体的测试是充分的,也并不意味着软件系统中各个成分都已经充分的得到了测试;
软件测试的充分性与软件的需求和软件的实现都相关;
软件越复杂,需要的测试数据就越多;
测试的越多,进一步测试所能得到的充分性增长就越少;

2、软件测试的分类

软件开发阶段划分

1)单元测试:
指对软件中的最小可测试单元进行检查和验证,单元测试需要从软件的内部结构出发设计测试用例。多个模块可以独立地进行测试。
2)集成测试:
组装测试/联合测试:将所有模块按照设计要求组装成子系统或者系统进行集成测试。
3)系统测试:
将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试 和确认测试,系统测试是针对整个产品的测试。
4)验收测试:
交付测试:确保软件准备就绪。

测试技术划分

1)白盒测试:
结构性测试/透明盒测试/逻辑驱动测试/基于代码的测试:
2)黑盒测试:
功能测试:通过测试每个功能是否都能正常使用。(输入数据/输出数据)
3)灰盒测试:
介于白盒测试和黑盒测试之间的一种测试方法:不仅关注输出、输入的正确性,同时也关注程序内部的情况。

被测试软件是否实际运行划分

1)静态测试:
指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
对于代码测试:主要测试代码是否符合相应的标准和规范;
对于界面测试:主要测试软件的实际界面与需求中的说明是否相符;
对于文档测试:主要测试用户和需求说明是否符合用户的实际需求;
2)动态方法:
指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性、健壮性等性能。

测试实施组织划分

1)开发方测试:
验证测试/α测试
2)用户测试:
β测试
3)第三方测试

测试类型划分

1)功能测试:
主要针对产品需求说明书对软件进行测试,验证软件功能是否符合需求,包括对原定功能的检验以及测试软件是否存在冗余功能、遗漏功能。
2)界面测试:
主要对系统的界面进行测试,测试用户界面是否友好,软件是否方便易用、系统设计是否合理、界面位置是否正确等问题。
3)性能测试:
主要测试系统的性能是否满足用户需求,即在特定的运行条件下验证系统的能力状态。性能测试主要是通过自动化的测试工具模拟正常、峰值、异常负载状况、对系统的各项性能指标进行测试。
4)强度测试:
迫使系统在异常的资源配置下运行。目的是找出因资源不足或者资源争用而导致的错误。
5)压力测试:
主要是在超负荷环境中,检验系统是否能够正常运行。
6)安全测试:
测试系统防止非法入侵的能力。
7)兼容性测试:
测试软件产品在不同的平台、不同的工具软件或者相同工具软件不同的版本下的兼容性。
8)安装测试:
主要校验软件是否可以正确安装、安装文件的各项设置是否有效、安装后是否影响整个计算机系统、卸载软件时是否可以卸载干净、卸载软件之后是否影响整个计算机系统。
9)文档测试:
主要检查内部或外部文档的清晰性和准确性。

3、软件测试过程模型

3.1V模型

3.2W模型

3.3H模型

3.4X模型

4、测试用例的定义和特征

4.1测试用例的特征

1、测试用例具有代表性:测试用例能够代表并覆盖各种合法的和非法的、合理的和不合理、边界的和越界的以及极限的输入数据、操作和环境设置等。
2、测试结果是可判定的:测试执行结果的正确性是可以判定的,每一个测试用例都应有明确的期望结果,否则将难以判断系统是否正常运行。
3、测试结果可以再现:对同样的测试用例,系统的执行结果应当是相同的。

4.2测试用例设计原则

使用成数的测试用例设计方法来进行设计;
保证测试用例数据的正确性和操作的正确性;
确保测试用例具有一定的代表性;
每个测试用例应该针对单一的测试项;
保证测试结果是可以判定并且可以再现的;
保证测试用例描述准确、清晰、具体;
测试用例设计应满足项目的时间、人员和资金要求;

4.3测试用例模板
4.3.1测试用例的基本要素
4.3.2功能测试用例
4.3.3性能测试用例

1、预期性能测试用例

2、用户并发性能测试用例

3、大数据量性能测试用例

4、疲劳强度测试用例

5、负载测试用例

4.3.4兼容性测试用例


三、黑盒测试

1、等价类划分法

1、有效等价类划分:有效等价类指对于程序规格说明来讲,是合理的、有意义的输入数据构成的集合。有效等价类数据集包含:终端用户输入的命令、与最终用户交互的系统提示、接收相关的用户文件的名称、提供初始化值和边界值、提供格式化输出数据的命令、在图形模式提供的数据、失败时回显的数据等。
2、无效等价类划分:无效等价类指对于软件规格说明来讲,是不合理的、没有意义的输入数据集合。
3、等价类划分的方法
按区间划分
按数值划分
按数值集合划分
按限制条件或规划划分
按处理方式划分
4、等价类划分的原则
1.在输入条件规定的取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类;
2.在规定了输入数据的一组值中(假定有n个值),可以确定n个有效等价类和一个无效等价类;
3.在规定输入数据必须遵守的规则的情况下,可以确定一个有效等价类和若干个无效等价类;
4.在输入条件规定了输入值的集合或规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类;
5.在确定已划分的等价类中各元素在程序处理中的方式不同的情况下,则应该将等价类进一步地划分为更小的等价类;
5、弱一般等价类测试:通过使用一个测试用例中的每个等价类(区间)的一个变量实现
6、强一般等价类测试:基于多缺陷假设
7、弱健壮等价类测试:
8、强健壮等价类测试:
9、单元实践

2、边界值法

2.1边界值分析
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。边界值分析的基本思想是使用在最小值、略高于最小值、正常值、略低于最大值、最大值处取变量值。
2.2健壮性分析
2.3最坏情况测试
2.4单元实践
2.5随机测试
2.6边界值测试的指导方针

3、决策表法

3.1决策表
3.2实例
3.3指导方针

4、因果图法

因果图是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法。适用于检查程序输入条件的各种组合的情况。

5、场景法

6、正交实验法

【白盒测试(后续补充)】
最后,**在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),**就在下方,需要的可以直接去观看,也可以直接【点击文末小卡片免费领取资料文档】
7天Python自动化测试速成课,小白也能快速上手(项目实战)

《网络安全从零到精通全套学习大礼包》

96节从入门到精通的全套视频教程免费领取

如果你也想通过学网络安全技术去帮助就业和转行,我可以把我自己亲自录制的96节 从零基础到精通的视频教程以及配套学习资料无偿分享给你。

网络安全学习路线图

想要学习 网络安全,作为新手一定要先按照路线图学习方向不对,努力白费。对于从来没有接触过网络安全的同学,我帮大家准备了从零基础到精通学习成长路线图以及学习规划。可以说是最科学最系统的学习路线,大家跟着这个路线图学习准没错。

配套实战项目/源码

所有视频教程所涉及的实战项目和项目源码

学习电子书籍

学习网络安全必看的书籍和文章的PDF,市面上网络安全书籍确实太多了,这些是我精选出来的

面试真题/经验

以上资料如何领取?

309b20.jpeg#pic_center)

面试真题/经验

以上资料如何领取?

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/29 8:17:04

CentOS 7.6上部署BeeGFS 7.2.4:从单节点到双节点高可用集群的完整避坑指南

CentOS 7.6上构建BeeGFS 7.2.4高可用集群:双节点架构设计与实战调优 在当今数据密集型应用场景中,高性能并行文件系统的需求日益增长。作为开源领域的佼佼者,BeeGFS以其卓越的扩展性和易用性赢得了众多企业级用户的青睐。本文将深入探讨如何在…

作者头像 李华
网站建设 2026/4/29 8:15:37

Qwen3.5-9B构建企业知识网络:智能检索与问答系统

Qwen3.5-9B构建企业知识网络:智能检索与问答系统 1. 企业知识管理的痛点与机遇 想象一下这样的场景:新入职的工程师需要查找某个产品的技术规格,却要在十几个不同部门的文档库里翻找;项目经理想了解类似历史项目的经验教训&…

作者头像 李华
网站建设 2026/4/29 8:06:25

Jasminum插件:三步搞定中文文献管理,让Zotero效率提升10倍!

Jasminum插件:三步搞定中文文献管理,让Zotero效率提升10倍! 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/j…

作者头像 李华
网站建设 2026/4/29 8:02:25

三步构建你的专属音乐聚合插件系统:跨平台音乐整合终极方案

三步构建你的专属音乐聚合插件系统:跨平台音乐整合终极方案 【免费下载链接】MusicFreePlugins MusicFree播放插件 项目地址: https://gitcode.com/gh_mirrors/mu/MusicFreePlugins 你是否厌倦了在不同音乐应用间频繁切换?是否渴望将B站音频、You…

作者头像 李华
网站建设 2026/4/29 8:00:27

扬电科技落子“草原云谷”:一场算电协同的西部突围

AI算力浪潮下,传统电力设备企业如何入局?2026年3月,扬电科技(301012.SZ)通过全资子公司四川汉扬智能科技有限公司完成对内蒙古华网数据服务有限公司(以下简称“华网数据”)的全资收购&#xff0…

作者头像 李华