测试用例:测试用例是测试工作的指导,是软件测试的必须遵守的准则。更是软件测试质量稳定的根本保障。
- 为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果等信息的一个特定集合。
- 测试用例贯穿于整个软件测试,它是软件测试的核心。
- 测试用例的编写方式不是唯一的,应根据不同的应用场合编写不同格式的测试用例。
测试用例的作用:
- 指导测试的实施:测试之前设计好测试用例,避免盲目测试并提高测试效率,减少测试的不完全性。指导测试人员的测试,而不是限制测试人员的思维。
- 作为评判基准的作用: 测试工作完成以后,需要进行评估,判断软件是否合格,然后出具测试报告,以测试用例为依据。测试中检测bug的数目,多少测试用例发现了多少个bug,其中有多少有效bug,有多少无效bug
- 测试用例的使用令软件测试的实施重点突出、目的明确
- 根据测试用例的多少和执行难度,估算测试工作量,便于预估测试项目的时间和资源管理与跟踪;
一份完整的测试用例一般包括以下内容:
用例编号、用例名称、测试模块、优先级别、测试环境、先决条件、测试步骤、预期结果、实际结果、评判(是否通过)、编写人
测试用例的设计方法:
1、等价类划分:
把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少量具有代表性的数据作为测试用例。
分为有效等价类和无效等价类
步骤:
- 依据常用的原则划分等价类
- 为每一个等价类规定一个唯一编号
- 设计一个新的测试用例,使其尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。
- 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。
2、边界值分析法:
就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
基本思想:选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值。
常见的边界值:
- 屏幕上光标在最左上、最右下位置
- 报表的第一行和最后一行
- 数组元素的第一个和最后一个
- 循环的第 0 次、第 1 次和倒数第 2 次、最后一次
3、因果图法
因果图法就是从需求中找出因(输入条件)和果(输出结果或者程序状态的改变),通过分析输入条件之间的关系(组合关系、约束关系等)及输入与输出之间的关系,绘制成因果图,然后转化成判定表,最后生成测试用例。
步骤:
- 分析所有可能的输入和输出,并赋予一个标识符。
- 找出输入与输出之间的对应关系。
- 画出因果图。
- 把因果图转换成判定表
- 把判定表对应到每一个测试用例。
4、场景设计法:
分析软件应用的场景,从用户的角度出发,从场景的角度来设计测试用例,是一种面向用户的测试用例设计方法。
基本流: 经过用例的最简单的路径。(正常流程)。
备选流: 一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中,也可以起源于另一个备选流,或终止用例,不在加入基本流中。(一般是错误流程)
步骤:
- 根据说明,描述出程序的基本流及各项备选流;
- 根据基本流和各项备选流生成不同的场景;
- 对每一个场景生成相应的测试用例;
- 对生成的所有测试用例重新复审,去掉多余的测试用例,测试用例确定后,对每一个测试用例确定测试数据值。
5、错误推测法:
推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。错误推测方法基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例,需要基于经验和直觉。
程序经常出现的问题:
- 产品的以前版本曾经发现的错误;
- 输入数据为0或字符为空;
- 当软件要求输入时(比如在文本框中),不是没有输入正确的信息,而是根本没有输入任何内容,单单按了Enter键; 这种情况在产品说明书中常常忽视,程序员也可能经常遗忘,但是在实际使用中却时有发生。程序员总会习惯性的认为用户要么输入信息,不管是看起来合法的或非法的信息。
6、正交表法:
正交试验设计方法是从大量的试验数据中挑选适量的、有代表性的点,从而合理地安排测试的一种科学的试验设计方法
需要查看正交表
7、决策表法:
决策表通常由条件桩、条件项、动作桩和动作项4部分组成。
步骤:
- 列出所有的条件桩和动作桩。
- 确定规则的个数。
- 填入条件项。
- 填入动作项,得到初始决策表。
- 简化决策表,合并相似规则。