测试分类
按照是否覆盖源代码
- 黑盒测试
- 白盒测试
- 灰盒测试(接口测试)
按照测试阶段划分
- 单元测试
- 系统测试
- 集成测试
- 验收测试
按照是否运行
- 静态测试
- 动态测试
按照是否自动化
- 手工测试
- 自动化测试
其他
- 冒烟测试
- 回归测试
- 随机测试
- 探索测试
软件开发模型
瀑布模型
模型:需求分析==》概要设计==》详细设计==》编码==》软件测试==》软件维护
优点:开发的各个阶段比较清晰;当前阶段完成后,只关注后续阶段
缺点:不适应需求的变化;风险往往在后期显露,失去及早纠错的机会
敏捷开发模型
测试模型
V模型
模型:需求分析==》概要设计==》详细设计==》编码==》单元测试==》集成测试==》系统测试==》验收测试
优点:线性模型,展示测试由底层(代码)到高层(用户业务)按阶段测试的实现过程
缺点:不适应需求变化,灵活性差
W模型(双V模型)
开发V:需求分析==》概要设计==》详细设计==》编码==》集成==》实施==》交付
测试V:验收测试设计==》系统测试设计==》集成测试设计==》单元测试设计==》单元测试==》集成测试==》系统测试==》验收测试
优点:测试伴随整个产品开发周期,测试对象不仅仅是程序还有需求、设计文档;测试介入较早,及早发现问题,降低修复成本
缺点:实施起来比较复杂,难度大,对于需求阶段和设计阶段的测试设计要求较高
测试用例
概念:
一个为了特定目的(验证产品的功能实现是否满足用户需求)而设计的包含(测试输入、执行条件、预期结果)的文档。文档形式:excel,xmind
要素:
- 测试编号
- 测试标题
- 测试优先级
- 测试模块
- 测试输入数据
- 预置条件
- 执行步骤
- 预期结果
作用:
- 便于理清测试思路,确保需要测试的功能点无遗漏
- 便于测试工作量的评估
- 便于提取准备测试数据
- 便于把控测试工作进度
- 便于回归测试
- 便于测试工作的组织,提高测试效率,降低测试交接成本
方法:
等价类划分法
概念:等价类划分法是把所有程序的输入域划分成若干个子集合(等价类),然以每一个子 集合(等价类)中选取少数具有代表性的数据作为测试的输入数据。
分类:有效等价类;无效等价类
适用范围:页面级的输入框类测试
边界值法
概念:对于输入或输出的边界值(有效等价类和无效等价类的界限)进行测试的一种黑盒测试方法
适用范围:具有输入或输出的场景;等价类方法的补充;常见描述词语:大小、尺寸、重量、最大、最小、至多、至少
判定表
概念:有多个输入和多个输出,且它们之间有组合关系或依赖关系
组合:
- 条件桩:所有输入条件
- 动作桩:所有的可能的输出结果
- 条件项:单个条件的取值范围(有效/无效)
- 动作项:基于每一种条件的组合,得到确认的结果
设计步骤:
- 明确条件桩(找到所有输入条件)
- 明确动作桩(找到所有输出结果)
- 对条件桩进行全组合
- 明确每个组合对应的动作桩(基于每一种条件组合的情况,确定本组合下的输出结果)
- 设计测试用例,每行数据对应一条测试用例
适用范围:多输入条件且输入之间存在组合关系、输入与输出存在依赖关系的场景
因果图
概念:用图解的方法表示输入的各组合关系,写出判定表,进而设计测试用例的一种【黑盒测试】方法
适用范围:适用于分析程序输入条件的各种组合情况,以及输入和输出之间的依赖关系
正交法
概念:用最小的测试用例获得最大的测试覆盖率
使用方法:
-
需求分析
-
确定因素与水平(因素:控件名称;水平:每个控件对应的取值)
-
确定要采用的正交表
-
将正交表中的字母用文字代替
-
设计测试用例(一行就是一条测试用例)
allpairs工具输出正交表
- 整理需求中的因素及水平
- 在目录下创建test.txt文本文件
- 打开cmd执行 allpairs.exe test.txt > result.txt得到结果
案例:字符属性设置程序
窗体中有多个控件(字体、字符样式、颜色、字号),每个控件有多个取值
字体:仿宋、楷体、华文彩云
字符样式:粗体、斜体、下划线
颜色:红色、绿色、蓝色
字号:20号、30号、40号
场景法(流程图)
概念:场景法就是模拟用户操作软件时的场景,主要用于测试多个功能之间的组合使用情况
使用方法:
- 需求分析
- 绘制流程图
- 设计测试用例(一条流程路径就是一条测试用例)
错误推断法
概念:利用经验或智慧发现程序中可能犯错的地方
适用场景:重要功能;使用同类产品;任务紧,时间紧,资源少