目录
案例:通过边界值法验证QQ号码的合法性(要求6~10位数字)
一、测试理论
1.1 了解软件测试
-
软件测试:通过手工或者自动化的方式运行被测的软件是否正常
-
测试目的:保障软件的质量(尽可能多的发现系统中的错误,证明软件存在问题)
-
测试体现形式:通过找出bug的形式验证质量
1.2 测试常用分类
-
按阶段划分
-
单元测试:针对程序源代码进行测试(开发)
-
集成测试:又称接口测试,主要针对模块与模块或系统与系统之间的接口进行验证
-
系统测试:针对软件全面进行验证(功能、兼容、文档)
-
验收测试:使用内测、公测来实现
-
内测:公司内部进行测试。
-
公测:让玩家来进行测试。
-
-
-
代码可见度划分
-
黑盒测试:又称功能测试(完全看不见程序源代码,只能针对功能进行验证)
-
灰盒测试:又称接口测试(看不见部分代码)
-
白盒测试:又称单元测试(针对程序源代码进行测试)
-
1.3 测试流程
-
需求分析(确定各部门对需求理解⼀致,查漏补缺)
-
测试计划(测什么、谁来测、怎么测)
-
编写用例(设计执行测试的文档)
-
执行用例(执行测试的文档)
-
缺陷管理(提交 -> 验证 -> 关闭)
-
测试报告(测试目标、测试过程、缺陷统计、缺陷分析、测试总结)
1.4 软件测试模型
V模型
作用:主要描述测试、开发之间的对应关系
V模型优点
- 每个阶段比较清楚,测试过程由底层(代码)测试到高层(应用)测试过程
V模型缺点
- 不适用于需求的变更,发现问题的时机比较晚
W模型
作用:将测试过程更加细化说明,对应测试、开发之间的关系更加清楚
W模型优点
- 测试介入时间早,能够及时发现问题,降低修复成本
- 测试伴随整个软件生产周期,除了测试软件之外,还需要验证文档
W模型缺点
- 该模型应用起来复杂度高(具备计算机技能、业务能力、管理能力、测试素质)
1.5 冒烟测试🏴
冒烟测试:大规模执行测试之前,针对程序主功能进行验证,保证程序具备可测性。
面试题:提测标准时什么?--冒烟测试通过! 测试之前要怎么做?--冒烟测试
二、测试用例
目的:
- 方便测试验证(将需求大量描述拆分为小的测试点)
- 体现测试人员的思路,测试设计的全面性(后续测试直接可以使用)
- 测试的量化体现,能够反应测试进度
定义:
测试用例,也叫Test Case,为了特定的目的而设计的一组测试输入,执行条件和预期结果构成的文档。
2.1 用例构成要素
-
用例编号:表示用例的唯一性,有时也叫用例ID(项目+编号)
-
用例标题:表示要测试或试验的目的,通常一句话简要描述(验证xxxx是否正确)
-
测试项目:当前测试的功能所属范围(项目名称)
-
用例级别:表示用例的重要程度或者影响力
-
预置条件:验证该功能需要的前提条件
-
测试输入:必要的输入数据
-
执行步骤:验证该功能需要的先后操作步骤
-
预期结果:希望得到的结果(结论+现象)
测试用例模板
2.2 等价类划分法
-
等价类定义
-
在批量的测试数据中,选取具有共同特征的数据子集作为测试的输入
-
-
等价类的分类
-
有效等价类:满足需求的测试数据
-
无效等价类:不满足需求的测试数据
-
案例:验证某城市电话号码正确性
区号:空或者是三位数字
前缀码:非“0”且非“1”开头的三位数字
后缀码:四位数字
-
明确需求
测试目的:城市电话号码的正确