全网最全最新软件测试基础入门教程

本文详细介绍了软件测试的定义、分类(按阶段和可见度)、质量模型(如功能性、性能等)、常用测试技能(如功能测试、自动化测试等),以及测试流程(包括测试用例、软件测试分类和流程图)。此外,还探讨了冒烟测试、缺陷管理和错误推测在测试中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

测试基础

学习目标:

  1. 能复述软件测试的定义
  2. 能说出7种测试分类的区别
  3. 能说出质量模型的重点5项
  4. 能说出测试流程的6个步骤
  5. 能说出测试模板8个要素

学习内容:

认识软件及测试

什么是软件:控制计算机硬件工作的工具

软件分为:应用软件 系统软件(操作系统)

软件产生过程:

什么是软件测试:使用技术手段验证软件是否满足使用需求

软件测试目的:减少软件缺陷(BUG),保障软件质量!

测试主流技能

1、功能测试:测试主要验证程序的功能是否满足需求

 

2、自动化测试:使用代码工具代替手工进行测试。

 

软件测试初中高全栈精品系列icon-default.png?t=N7T8https://edu.youkuaiyun.com/course/detail/39095 

3、接口:有地址有参数

接口测试(代码实现):使用代码或工具对服务提供的接口进行测试

 

4、性能测试-工具实现(模拟多人使用软件,查找软件服务器缺陷)

就业方向如何选择

 

三、常见的测试分类

1、按测试阶段划分

单元测试、集成测试、系统测试、验收测试

2、按代码可见度划分(黑盒测试(功能测试)、灰盒测试(接口测试)、白盒测试(单元测试))

 

质量模型

  • 质量模型(衡量一个优秀软件的维度)

1、功能性

2、性能

3、兼容性

4、易用性

5、可靠性

6、安全性

7、可维护性

8、可移植性

案例

 1、功能性

2、性能

 ​3、兼容性

 4、易用性

5、可靠性

 6、安全性

 7、可移植性

 8、可维护性

软件测试初中高全栈精品系列icon-default.png?t=N7T8https://edu.youkuaiyun.com/course/detail/39095 

案例:

 

功能性:插花、装水、养鱼、种菜。。。。。

性能性:防摔、耐压高温、低温

易用性:防滑、便携

属性(硬件):长、宽、高、样式、材质、重量

可移植性:不同温度下是否正常使用

可维护性:修补

。。。。。。。

总结

质量模型:功能、性能、兼容、安全(必测)、可靠性、可移植性、可维护性

软件测试流程

 

测试用例

什么是用例 ?

用例户使用的案

什么是测试用例 ?

测试用例:是为测试项目而设计的执行文档

测试用例的作用

  • 防止漏测
  • 实施测试的标准

用例设计编写格式-2023-5-13

 

正确的、能成功的就是P0

课堂例子:

我写的:

老师写的:

 

软件测试全栈系列课程icon-default.png?t=N7T8https://edu.youkuaiyun.com/course/detail/30898 

用例测试方法

1、能对穷举场景设计测试点

等价类划分法

适用场景:需要有大量数据测试输入,但是没法穷举测试的地方

  • 输入框
  • 下拉列表
  • 单选复选框
  • 典型代表:页面的输入框类测试

 

 

 

 

边界值分析法

1、边界范围节点

  • 选取正好等于、刚好大于、刚好小于边界的值作为测试数据

上点:边界上面的点(正好等于)

离点:离边界最近的点

内点:范围内的点

2、边界值法设计用例步骤(长度)

  • 明确需求
  • 确定有效和无效等价类(类型)
  • 确定边界范围值
  • 提取数据编写测试用例

 

 

边界值分析优化:

  • 结论:7个优化为5个点
  • 上点:备选(不考虑区间开闭)
  • 内点:必选(建议选择中间范围)
  • 离点:开内闭外(考虑开闭区间,开区间选择内部离点,闭区间选择外部离点)

需求:20<=b<60

上点:20,60

内点:40

离点:19,59

为什么内点必须测?

答:验证范围的连续性

测试:

【10,50)

上点:10,50

内点:30

离点:9,49

————————————————————————

(30,50)

上点:30,50

内点:40

离点:31,49

—————————————————————————

(12,80】

上点:12,80

内点:45

离点:13,81

使用场景:在等价类的基础上针对有边界范围的测试数据输入的地方(重点关注边界)

常见的词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰词语

典型代表:有边界范围的输入框类测试

判定表法

解决什么问题?(多条件限制依赖关系如何测试)

实施——画表格——列出条件列出操作

 

 

Jmeter高级性能测试实战icon-default.png?t=N7T8https://edu.youkuaiyun.com/course/detail/35834 

练习1

1)、如果金额大于500元,又未过期,则发出批准单和提货单;

2)、如果金额大于500元,但过期了,则不发批准单与提货单;

3)、如果金额小于等于500元,则不论是否过期都发出批准单和提货单;

4)、在过期的情况下不论金额大小还需要发出通知单。

 

练习2

1)、输入的第一列字符必须是A或B

2)、第二列字符必须是一个数字

3)、如果第一列字符不正确,则给出信息L

4)、如果第二列字符不正确,则给出信息M

5)、如果两列字符输入正确,则修改文件成功

使用场景:有多个输入条件,多个输出结果,输入条件按之间有组合关系,输入条件和输出结果之间有依赖(制约)关系——————一般适用于条件组合数量比较少的情况(比如4个条件以下)

场景法

解决什么问题?(覆盖业务场景测试)

实施:根据流程图梳理可能的场景——编写用例覆盖场景

扩展-冒烟测试-什么时候用—提测之前,开始执行,验证项目是否具备可测性

目的:避免由于项目不具备可测性,而投入的时间和人力成本

 

流程图练习

1、用户名为admin \密码为:123456,输出:登录成功

2、登录、搜索商品、添加购物车、去结算、支付,如果支付成功,则提示下单成功,否则提示支付失败

 

Charles和Fiddler抓包教程icon-default.png?t=N7T8https://edu.youkuaiyun.com/course/detail/39218 

 

场景法也可以叫流程图法,是用流程图描述用户的使用场景,然后通过覆盖流程路径来设计测试用例。

意义:用户使用角度:用户平时使用的不是单个功能,而是多个功能组合起来进行使用

测试人员角度:平时测试的都是单个功能点进行测试,容易忽略多个功能的组合测试

 

 

冒烟测试:批量开始测试前,执行业务正向用例,验证软件是否具备可测性

错误推测法

场景:1、时间紧任务量大,根据经验推测有可能出现的故障2、测试完毕,时间充裕,根据经验或测试过程中出现的错误,进行复制。

 

 

缺陷管理

缺陷的定义:软件在使用过程中存在的任何问题都叫软件的缺陷,简称bug

缺陷的判定标准

  • 软件未实现需求说明书中明确要求的功能-少功能
  • 软件出现了需求说明书中指明不应该出现的错误-功能错误
  • 软件是现实的功能超出需求说明书指明的范围-多功能
  • 软件未实现需求说明书中虽未明确指明但应该实现的要求-隐性功能错误
  • 软件测试人员认为软件难以理解,不易使用,运行缓慢,用户体验不好-不易使用

缺陷产生的原因

 

软件缺陷的核心内容:

  1. 缺陷的标题
  2. 缺陷的预置条件
  3. 缺陷的复现步骤
  4. 缺陷的预期结果
  5. 缺陷的实际结果
  6. 缺陷的必要附件

缺陷提交要素

软件测试初中高全栈精品系列icon-default.png?t=N7T8https://edu.youkuaiyun.com/course/detail/39095 

说明: 一、由于附件大小的限制,已将文件打成两个包发布(保证内容完整),请需要的朋友分开下载,谢谢合作。 二、请自行下载超星阅读器 简介:   我所见过的最好最经典的软件测试入门书,有一个别名叫“软件测试的本质”。书中没有讨论太多的软件测试理论,只包含了一部分常用的、基本的知识。从什么是软件测试、为什么要作软件测试开始,逐步引入基本的和高级的测试技术和方法,然后开始把读者引入实际工作中,讲述了一般的测试过程中要经历哪些阶段,要作哪些具体的工作,如何开展测试工作,如何找到缺陷并提交缺陷。甚至还包括了对测试人员的职业指导。建议所有的测试人员都读一读。 编辑推荐: 本书与同类书相比,具有一个显著的特点,就是浅显易懂。虽然整本书涉及的范围相当广泛,但是作者始终没有忘记,是读者的书,而不是他本人在自言自语。能够在如此庞杂的学科中流畅讲解、层层剖析,可见作者深厚的技术功底和对软件测试、软件工程的透彻理解。 目录 第一部分 软件测试综述 第1章 软件测试背景 第2章 软件开发过程 第3章 软件测试的实质 第二部分 测试基础 第4章 检查产品说明书 第5章 闭着眼睛测试软件 第6章 检查代码 第7章 带上X光眼镜检查软件 第三部分 运用测试技术 第8章 配置测试 第9章 兼容性测试 第10章 外国语言测试 第11章 易用性测试 第12章 测试文档 第四部分 加强测试 第14章 自动测试和测试工具 第15章 臭由轰炸和Beat测试 第五部分 使用测试文档 第16章 计划测试工作 第17章 编写和跟踪测试案例 第18章 报告发现的问题 第19章 评价成效 第六部分 软件测试展望 第20章 软件质量评判 第21章 软件测试员职业指导 附录测验问题解答
目录 一 软件测试 从零开始 5 1.1 引言 5 1.2 测试准备工作 5 1.2.1 向有经验的测试人员学习 5 1.2.2 阅读软件测试的相关书籍 6 1.2.3 走读缺陷跟踪库中的问题报告单 6 1.2.4 走读相关产品的历史测试用例 6 1.2.5 学习产品相关的业务知识 6 1.3 识别测试需求 7 1.3.1 主动获取需求 7 1.3.2 确认需求的优先级 8 1.3.3 加入开发小组的邮件群组 8 1.3.4 与开发人员为邻 8 1.4 测试用例设计 8 1.4.1 测试用例的基本格式 8 1.4.2 重用同类型项目的测试用例 9 1.4.3 利用已有的软件 Checklist 9 1.4.4 加强测试用例的评审 10 1.4.5 定义测试用例的执行顺序 10 1.5 测试用例执行 10 1.5.1 搭建软件测试环境,执行测试用例 10 1.5.2 测试执行过程应注意的问题 11 1.5.3 及时更新测试用例 11 1.5.4 提交一份优秀的问题报告单 12 1.6 测试结果分析 12 1.7 总结 13 二 软件测试的常识 13 2.1 引言 13 2.2 软件测试常识 13 2.2.1 测试是不完全的(测试不完全) 13 2.2.2 测试具有免疫性(软件缺陷免疫性) 14 2.2.3 测试是 “ 泛型概念 ” (全程测试) 14 2.2.4 80-20 原则 14 2.2.5 为效益而测试 15 2.2.6 缺陷的必然性 15 2.2.7 软件测试必须有预期结果 15 2.2.8 软件测试的意义 - 事后分析 15 2.2.9 结论: 15 三 浅谈软件开发中的注意事项 16 3.1 项目设计 16 3.2 设计变化和需求变化 16 3.3 代码编写 17 3.3.1 源程序文件结构 17 3.3.2 界面设计风格的一致性 17 3.3.3 编辑风格 17 3.3.4 命名规范 18 3.4 BUG修补 18 3.5 开发人员的测试 18 四 软件测试的若干问题 19 4.1 前言 19 4.2 博弈的各方 19 4.3 测试的过程 20 4.4 测试所具备的素质 20 4.5 自动化测试 20 4.6 测试的误区 21 五 浅谈功能测试用例模板设计 21 5.1 Excel 模版 21 5.2 测试用例状态转换分析 23 六 如何提高软件质量 23 6.1 什么是质量 24 6.2 流程对质量的贡献 25 6.3 流程与技术 27 6.4 全面质量管理 28 6.5 关注测试 29 6.6 成功的铁三角 30 6.7 国际上流行的质量标准 30 6.8 如何起步 32 七 ISO和CMM,我们该选择谁 32 7.1 管理水平的适用性 33 7.2 复杂度的适用性 33 7.2.1何谓研发过程复杂度 34 7.2.2 何谓组织机构复杂度 34 7.3 量化管理的适用性上 35 7.4 结论 36 八 如何做好单元测试 36 8.1 前言 36 8.2 组织结构应该保证测试组参与单元测试 36 8.3 加强单元测试流程规范性 37 8.3.1 制订单元测试的过程定义 37 8.3.2 单元测试工作产品必须纳入配置管理 38 8.3.3 必须制订覆盖率指标和质量目标来指导和验收单元测试 38 8.3.4 加强详细设计文档评审 39 8.4 单元测试者技能的提高 39 8.4.1 加强对单元测试人员的技能培训 39 8.4.2 必须引入工具进行辅助 40 8.4.3 单元测试者加强对被测软件的全面了解 40 8.5 结尾 40 九 漫谈人机界面测试 41 9.1 一致性测试 41 9.2 信息反馈测试 42 9.3 界面简洁性测试 42 9.4 界面美观度测试 42 9.5 用户动作性测试 43 9.6 行业标准测试 43 9.7 小结 44 十 基于Web的系统测试方法 44 10.1 功能测试 45 10.1.1 链接测试 45 10.1.2 表单测试 45 10.1.3 Cookies测试 45 10.1.4 设计语言测试 45 10.1.5 数据库测试 46 10.2 性能测试 46 10.2.1 连接速度测试 46 10.2.2 负载测试 46 10.2.3 压力测试 46 10.3 可用性测试 47 10.3.1 导航测试 47 10.3.2 图形测试 47 10.3.3 内容测试 47 10.3.4 整体界面测试 47 10.4 客户端兼容性测试 48 10.4.1 平台测试 48 10.4.2 浏览器测试 48 10.5 安全性测试 48 10.6 总结 49 十一 为盈利而测试 49 11.1 引言 49 11.2 什么是软件测试 50 11.3 六个误区 50 11.3.1 误区一:忽视对正常输入的测试 50 11.3.2 误区二:忽视设计阶段的参与与评估 50 11.3.3 误区三:忽视测试计划与测试文档的建立及维护 51 11.3.4 误区四:忽视缺陷的分析,报告及跟踪 51 11.3.5 误区五:错误的测试目标及测试终止条件 51 11.3.6 误区六:不懂得合理调配使用测试人员的知识技能结构 51 11.4 软件质量与软件测试 52 11.5 软件测试的经济目的 54 11.5.1 满足用户需求,提高产品的竞争力,最终提高产品的销售量 54 11.5.2 尽早发现缺陷,降低后继质量成本 54 11.6 何时应当停止测试 56 十二 整体性能测试剖析 57 十三 性能测试工具之研究 62 13.1 性能测试的意义 62 13.2 性能测试工具综述 63 13.3 性能测试工具的体系架构 64 13.4 虚拟用户产生器 Vugen 65 13.5 Proxy 二次捕获的问题 67 13.6 关联的问题 68 13.7 脚本的问题 70 13.8 Conductor 和 Player 部分 71 13.9 Conductor 和 Player 的技术要点 72 13.10 数据分析工具 Analysis 72 13.11 结束语 72 十四 性能测试原理及性能测试实例分析 73 14.1 软件测试中的性能测试 73 14.1.1 性能测试的含义 73 14.1.2 性能测试的分解 73 14.2 一个性能测试实例 74 14.2.1 被测系统 74 14.2.2 对被测系统进行性能测试 75 14.5 总结 80 十五 软件GUI测试中的关注点 80 15.1 不能不说的二个问题 81 15.1.1 软件测试中的“二八”原则 81 15.1.2 软件黑盒测试解决的问题 81 15.2 软件黑盒测试常见错误类型及说明 81 15.2.1 用户界面错误 81 15.2.2 功能性 81 15.2.3 人机交互 82 15.3 命令结构和录入 87 15.3.1 不一致性 87 15.3.2 “最优化” 87 15.3.3 菜单 89 15.4 遗漏的命令 90 15.4.1 状态转换 90 15.4.2 危机预防 90 15.4.3 由用户进行的错误处理 91 15.4.4 其他问题 91 15.5 程序僵化 92 15.5.1 用户可调整性 92 15.5.2 控制方式 93 15.6 性能 94 15.6.1 降低程序速度 94 15.6.2 缓慢回应 94 15.6.3 如何减少用户吞吐量 94 15.6.4 反应拙劣 94 15.6.5 没有提前输入 95 15.6.6 没有给出某个操作会花很长时间的警告 95 15.6.7 程序太多提示和询问 95 15.6.8 尽量使用简单命令和提示 95 15.7 输出 95 15.7.1 不能输出某种数据 95 15.7.2 不能重定向输出 95 15.7.3 与一个后续过程不兼容的格式 96 15.7.4 必须输出的很少或很多 96 15.7.5 不能控制输出布局 96 15.7.6 荒谬的精度输出级别 96 15.7.7 不能控制表或图的标记 96 15.7.8 不能控制图形的缩放比例 96 15.8 错误处理 96 15.8.1 错误预防 96 15.8.2 错误检测 97 15.8.3 错误恢复 98 15.8.4 边界相关的错误 99 15.8.5 计算错误 100 15.9 小结 100 十六 软件测试技术 100 16.1 软件测试基础 101 16.1.1 测试目标 101 16.1.2 测试原则 101 16.1.3 可测试性 102 16.2 测试用例设计 104 16.3 白盒测试 104 16.4 基本路径测试 105 16.4.1 流图符号 105 16.4.2 环形复杂性 106 16.4.3 导出测试用例 106 16.4.4 图矩阵 108 16.5 控制结构测试 108 16.5.1 条件测试 108 16.5.2 数据流测试 110 16.5.3 循环测试 111 16.6 黑盒测试 112
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

传说三哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值