测试用例(test case)
特性
- 有效性:测试用例能够被使用,且被不同的人员使用测试结果一致
- 可复用性:如回归测试的使用
- 可评估性
- 可管理性
八大要素
- 测试编码:方便归档和查询
- 测试模块/功能
- 预置条件:(测试前提条件)
- 测试输入
- 预期输出
- 操作步骤
- 测试用例标题(目的)
- 级别(高、中、低)
- 其他要素:用例设计日期、设计者、开发人员、测试结果、测试类型(功能、性能、压力等)
等价类划分法
- 有效等价类(有效输入)
- 无效等价类(无效输入)
边界值
对输入或输出边界值进行测试,如4位数字,那么可选取9999、1000附近几个边界值
进行输入
等价类划分和边界值法适用于普通文本输入框,因为可输入的内容很广泛
因果图法
利用图解法分析输入的各种组合情况
,从而设计测试用例的方法,适合于检查程序输入条件的各种组合情况。
因果关系–约束条件
- 找出所有的原因
- 找所有的结果
- 多种原因和结果的组合
判定表法
也称为决策表,可以理解为因果图的最终产物,将复杂问题按照各种可能的情况全部列举出来,简明并且避免遗漏。用判定表能设计出完整的测试用例集合
正交表法
定义:使用最小的测试过程集合,获取最大的测试覆盖率。
原因:由于条件和结果过多,不可能穷尽组合测试。
方法:可以采用allpairs
工具,生成正交的可选组合的测试用例。
-
利用excel准备一个表格
-
将表格中的内容贴到txt文本中
-
通过allpairs命令生成,测试用例结果即可。
语法: allpairs 源文件 > 目标文件
场景法
从起点,通过一系列操作步骤,达成某一结果,到终点的过程测试,场景法主要用于冒烟测试。
分为基本流和备用流
流程分析法
画出业务流程,写测试用例。
错误推断法
凭借经验和直觉推测程序中可能存在的各种错误,从而有针对性的设计测试用例。
测试力度&用例方法总结
力度
- 简单:仅仅测试刚要,过于简单
- 复杂:包含具体输入项、每个步骤、期待结果,过于复杂浪费时间成本
- 中庸:一般介于两者之间即可。
总结
-
先关注主要功能的业务流程、逻辑是否正确:
场景法
-
需要输入数据的地方:
等价类划分法
-
任何情况都可使用
边界值法
-
若程序包含输入条件的组合情况:
因果图法和判定表法
-
对于配置类软件,选项过多,需要考虑参数的很多组合情况:
正交表法
缺陷报告
当发现了软件的缺陷和错误时,需要整理报告发送给相关人员处理。
一般在公司内部会有缺陷报告的书写模板,或可能使用高效管理bug的平台。
自动化测试
定义
- 程序测试程序
- 代码代替思维
- 脚本代替人工
目的就是:更高的质量和效率。
收工&自动化
二者并不对立,什么手段效率高就使用什么手段。两者是互补的。
分类
优势
- 提高测试效率
- 避免测试人员重复劳动
- 回归测试方便可靠
- 自动化脚本可复用
- 支持多环境下的测试
劣势
- 不能取代手工测试
- 测试不容易发现界面、布局问题
- 自动化测试工具是死的,不具备任何想象力
- 开展前期,自动化测试投入成本高、风险大,且对测试员的技术、工具契合度都有要求
自动化测试分层
单元测试使用自动化测试,投入和收益成正比形式。
什么项目适合自动化测试
- 项目变动少
- 项目周期足够
- 需要重复运行测试
- 回归测试
- 能够自动编译、发布的系统