测试用例Test Case
测试用例就是在测试之前设计的一套详细的设计方案,包括测试环境、测试步骤、测试数据和预期结果。
测试用例=输入+输出+测试环境
其中:
“输入”包括测试数据和操作步骤;
“输出”指的是期望结果;
“测试环境”指的是系统环境变量。
测试用例是为达到最佳的测试效果而设计的测试数据,包括测试输入、执行条件和预期的结果。测试用例是执行的最小实体。
编写测试用例的好处
在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。
测试用例的使用令软件测试的重点突出、目的明确。在软件版本更新后只需修正少部分的测试有(可以把上一版完成的用例直接拿过来修改)便可开展测试工作,降低工作难度,缩短项目周期。
测试用例的本质
基于需求、理解需求、反映需求、忠于需求
需求会变化,测试用例也应该是活的、变化的,及时响应比遵循变化更有价值。
*测试用例四个特性
代表性、测试结果可判定性、测试结果可再现性、针对性
代表性
能够代表并覆盖各种合理的和不合理的、合法的和不合法的、边界的和越界的以及极限的输入数据、操作和环境设置等。
一个测试用例应该覆盖合理的和不合理的数据
测试结果可判定性
即测试结果的正确性是可判定的,每一个测试用例都应有相应的期望结果。
测试结果可再现性
即对不同的测试用例,系统的执行结果应当是相同的。
针对性
对程序中可能存在的错误有针对性地测试。
如何设计测试用例
根据产品规格书,测试基本功能;
考虑设计一般用户(非专业人员)的使用方案;
考虑设计稀有或特殊的使用方案;
与系统其他组成部分的配合(如FAX和上网可能要用到MODEM,测试中考虑对设备的共享);
考虑特殊情况(如内存和硬件的冲突等);
其他软件的兼容情况
设计极端情况(如内存泄漏java、破坏性测试等);
好的测试用例集能花费最小的代价(人力、物力、财力、时间)做最好的测试。
测试用例的原则
根据程序的重要性和一旦发生故障造成的损失,来确定测试等级和测试重点。
认真选择测试策略。用尽可能少的用例找出尽可能多的bug。测试用例不足会导致风险的增大,测试用例过多会造成资源的浪费。需要找到平衡点。
明确性
测试人员要避免测试用例存在含糊地因素,在测试的过程中,测试用例的测试结果是唯一的。
代表性
尽量将具有相似功能的测试用例进行抽象合并。功能相似的用例要合并选出最具代表性的用例。
简洁性
测试用例简洁,可读性良好,测试过程目的明确,测试结果唯一。测试用例要用陈述性语句直指问题核心,不要使用浮夸的修饰手法。
*测试用例组成要素
测试用例编号
测试用例名称
测试用例设计者
测试步骤
预期结果
测试结果
测试模块
前置条件
重要级别
备注
测试环境
bug对应的开发人员
软件版本号
测试目的
参考信息
用例编号 |
模块名称 |
用例名称 |
前置条件 |
操作步骤 |
预期结果 |
实际结果 |
备注 |
jd-001 |
注册模块 |
正常注册 |
网络正常、手机正常使用 |
|
提示注册成功 |
注册成功 |
测试用例编写方法
等价类划分法
概念
等价类划分是指分步骤地把海量(无限)的测试用例集减得很小,但过程同样有效。
等价类:
何为等价类,某个输入域的集合,在这个集合中每个输入条件都是等效的。分为有效等价类、无效等价类。
有效等价类:
指符合《需求规格说明书》,输入合理的数据集合。
无效等价类:
指不符合《需求规格说明书》,输入不合理的数据集合。
等价类示例:
用例编号 |
模块名称 |
用例名称 |
前置条件 |
操作步骤 |
输入数据 |
预期结果 |
实际结果 |
备注 |
c1 |
计算器 |
正常计算 |
计算器只能计算1-100以内的数字 电脑正常使用 |
|
输入框1:3 输入框2:80 |
结果正确,输出:83 |
有效等价类 |
|
c2 |
计算器 |
非正常计算 |
计算器只能计算1-100以内的数字 电脑正常使用 |
|
输入框1:110 输入框2:80 |
提示输入框1不合法 |
无效等价类 |
边界值法
是等价类划分法的补充。
大量经验表明,大量的错误发生在输入和输出数据的边界,而非输入输出范围的内部,因此根据各种边界情况设计测试用例可以发现更多错误。
对数据进行软件测试,就是在检查用户输入的信息、返回的结果以及中间计算结果是否正确。即使最简单的程序要处理的数据量也可能极大,使这些数据得以测试的技巧是,根据一些关键的原则进行等价类的划分,以合理减少测试用例,这些关键的原则是:边界条件,次边界条件、空值和无效数据。
确定边界值的方法
确定边界情况(输入或输出等价类的边界);
选取正好等于、刚刚大于或刚刚小于边界值作为测试数据。
练习案例
设置某App登录密码,要求密码必须是数字和字母组合,长度为8-18位。 |
有效等价类: 8-18位字母和数字组合 |
无效等价类: 小于8位; 大于18位 8-18位纯字母或纯数字 |
边界值: 8位字母和数字组合 18位字母和数字组合 7位字母和数字组合 19位字母和数字组合 8位纯字母或纯数字 18位纯字母或纯数字 7位纯字母或纯数字 19位纯字母或纯数字 |
因果图法
概念
因果图比较适合输入条件比较多的情况,测试所有输入条件的排列组合。所谓的原因就是输入,所谓的结果就是输出。
基本图形符号
恒等:若原因出现,则结果出现;若原因不出现,则结果不出现。【有因才有果,卡中有钱才能取钱】
非(~):若原因出现,则结果不出现;若原因不出现,则结果出现。【联系人搜索时,如果有这个人,提示不存在的弹框(结果)就不会出现,如果没有这个人,那么这个框框就会出现】
或(∨):若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现。
与(∧):若几个原因都出现,结果才出现;若其中有一个原因不出现,则结果不出现。
基本约束符号
E(互斥):表示两个原因不会同时成立,两个中最多有一个可能成立(男女单选)
I(包含):表示三个原因中至少有一个必须成立 (文字样式的选择)
O(惟一):表示两个原因中必须有一个,且仅有一个成立 (下拉框中城市选择)
R(要求):表示两个原因,a出现时,b也必须出现,a出现时,b不可能不出现 (银行取钱)
M(屏蔽):两个结果,a为1时,b必须是0,当a为0时,b值不定(是元旦就不上班,不是元旦不一定上班
判定表法