一、
1. 什么是软件?
控制计算机硬件工作的工具。
2. 什么是软件测试?
使用技术手段验证软件是否满足使用需求。
3. 软件测试的目的?
减少软件缺陷(bug),保障软件质量。
4. 主流技术:
- 功能测试:测试主要验证程序的功能是否满足需求。
- 自动化测试:使用代码或工具代替手工,对项目进行测试。
- 接口测试:使用代码或工具验证程序中的接口是否访问正常。
- 性能测试:模拟多人使用软件,查找服务器的缺陷。
5. 测试分类:
① 按测试阶段划分
- 单元测试:针对程序源代码进行测试。
- 集成测试:又称接口测试,针对模块之间访问地址进行测试。
- 系统测试:对整个系统进行测试,包括功能、兼容、文档等测试。
- 验收测试:主要分为内测、公测,使用不同人群来发掘项目缺陷。
② 按代码可见度划分
- 黑盒测试:源代码不可见,对UI功能进行测试。
- 灰盒测试:部分源代码可见,功能不可见。
- 白盒测试:全部代码可见,UI功能不可见。
6. 质量模型:
功能、性能、兼容、易用、安全、可靠性、移植性、维护性
7. 测试流程:
① 需求评审(确保各部门需求理解一致)
② 计划编写(测什么,谁来测,怎么测)
③ 用例设计(验证项目是否符合需求的操作文档)
④ 用例执行(项目模块开发完成,开始执行用例文档实施测试)
⑤ 缺陷管理(对缺陷进行管理的过程)
⑥ 测试报告(实施测试结果文档)
二、
1. 等价类划分
等价类划分法是一种不需要考虑程序的内部结构,只需要考虑程序输入数据的黑盒测试方法,它把不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。
①适用场景: 需要有大量数据测试输入,但是没法穷举测试的地方。
(输入框、下拉列表、单选框、复选框)
②设计测试用例的重点: 正向用例一条尽可能覆盖多条。 逆向用例的每一条数据都是一条单独用例。
案例1:
案例2:
2、边界类
边界范围节点:选取正好等于、刚好大于、刚好小于边界的值作为测试数据
- 上点:边界上的点(正好等于)
- 离点:距离上点最近的点(刚好大于,刚好小于)
- 内点:区间范围内的点
重点:
① 有关范围限制,最多7条用例
② 边界值能解决位数限制问题,但是不能解决类型问题(要结合等价类)
例: 单个输入框,常用的方式:边界+等价类
案例1:
优化:
3、判定表
使用场景:
- 有多个输入条件,多个输出条件,输入条件之间有组合关系,输入条件和输出结果之间有依赖(制约)关系
- 判定表一般适用于条件组合数量较少的情况(比如4个条件以下)
定义:判定表是一种以表格形式表达多条件逻辑判断的工具。
组成:
- 条件桩:列出问题中的所有条件,列出条件的次序无关紧要。
- 动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束。
- 条件项:列出条件对应的取值,所有可能情况下的真假值。
- 动作项:列出条件项的、各种取值情况下应该采取的动作结果。
案例1:
案例2:
三、
1. 缺陷的定义:软件在使用过程中存在的任何问题都叫软件的缺陷,简称bug
2. 缺陷的判定标准:
- (少功能)软件未实现需求说明中明确要求的功能
- (功能错误)软件出现了需求说明中指明不应该出现的错误
- (多功能)软件实现的功能超出需求说明中指明的范围
- (隐形功能错误)软件未实现需求说明中虽未明确指明但应该实现的要求
- (不易使用)软件难以理解,不易使用,运行缓慢,用户体验不好
3.软件缺陷的核心内容:
① 缺陷的标题:描述缺陷的核心内容
② 缺陷的预置条件:缺陷产生的前提
③ 缺陷的复现步骤:复现缺陷的过程
④ 缺陷的预期结果:希望得到的结果
⑤ 缺陷的实际结果:实际得到的结果
⑥ 缺陷的必要附件:图片、日志等信息(证据)
4.软件缺陷类型:
- 功能错误
- UI错误
- 兼容性
- 数据
- 易用性
- 改进建议
- 架构