测试用例设计方法.ppt
测试用例设计方法,林爱清 2010年5月18日,目录,测试用例的基本概念 由简入繁的过程 输入数据参数化,测试用例设计的基本思想,设计测试用例时,要寻求系统设计、功能设计的弱点。 设计正面的测试用例 设计负面的、异常的测试用例,测试用例的定义及特征,测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果。测试用例是执行的最小实体。简单地说,测试用例就是设计一个场景,使软件程序在这种场景下,必须能够正常运行并且达到程序所设计的执行结果。 测试用例的特征 1.最有可能抓住缺陷的; 2.不是重复的、多余的; 3.一组相似测试用例中最有效的; 4.既不是太简单,也不是太复杂。,测试用例组成元素,测试目标 为什么而测?功能、性能、可用性、兼容性、安全性等 测试对象 测什么?被测试的项目,如对象、函数、类、菜单、按钮、表格、接口、整个系统等。 测试环境 在哪里测?测试用例运行时所处的环境,包括系统配置、操作系统、浏览器等 测试前提 什么时候开始测?测试用例运行时所处的前提或条件限制 输入数据 哪些数据?在操作时,系统所接受的各种可变化的数据,如数字、字符、文件等 操作步骤 如何测?执行软件和程序的先后次序步骤等。如打开对话框,点击按钮等 期望输出 判定标准,每个测试用例必须说明其输出的标准,即期望的输出结果,测试用例设计原则,1.测试用例的代表性:能够代表并覆盖各种合理的和不合理的、合法的和非法的、边界的和越界的以及极限的输入数据、操作和环境设置等。 2.测试结果的可判定性:即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果 3.测试结果的可再现性:即对同样的测试用例,系统的执行结果应当是相同的。,测试用例评判标准,测试范围的覆盖率高 依据特定的测试目标要求,覆盖所有的测试范围和内容 测试用例设计能反向思维,有效发现缺陷 测试为了发泄缺陷,能更快的发现缺陷或更有可能发现潜在缺陷的测试用例可提高测试效率 易用性 设计思路易被理解、执行比较顺畅、操作有连贯性 易读性 前提条件、步骤、期望结果清晰 易维护性 以很少的时间来完成测试用例的维护工作,好的测试用例,两个帐号X、Y,X账户转入Y账户1000元,Account是余额表,从account表中查询付款帐户余额,请用SQL验证结果 转账前查询X,Y余额: Select a.ye as A1,b.ye as B1 From account a,account b Where a.zh= X and b.zh =Y; 转账成功后查询X,Y余额: Select a.ye as A2,b.ye as B2 From account a,account b Where a.zh= X and b.zh=Y; 预期结果 其中:A1-1000=A2 B2-1000=B1,目录,测试用例的基本概念 由简入繁的过程 输入数据参数化,定义由简入繁,是一个逐步细化的过程 “繁”,这里是指详细的意思 从框架和结构开始,到功能的局部和细节推进的过程,是一个从简单的测试描述(测试功能点、测试需求等)逐步细化到能够去依照执行的测试用例的过程,为什么要由简入繁,如果没有测试用例或者仅有简单的测试功能描述,测试过程难以控制,测试结果将毫无可靠性而言; 简单的测试用例可靠性低,重用性差,可能导致不同人员理解不同; 详细的测试用例可靠性高,而且便于估计执行所需时间,易于控制。 ,到何种程度?,时间要求测试时间是否充足? 执行者测试执行者对系统的了解程度? 建议程度将测试用例交给其他人执行时不需要过多的解释。,样例 登录,需求: 用户名长度为6至10位(含6位和10位) 用户名由字符(a-z、A-Z)和数字(0-9)组成 不能为空、空格和特殊字符 密码规则同用户名规则,简单,能够正确处理用户登录,一般,输入正确的用户名和口令可以进入系统 输入用户名或口令错误无法进入系统,详细,用户身份合法性验证 用户名验证 正常用户名的输入 含有特殊字符的用户名 为空或含有空格 字母大小写无关性测试 非法用户 口令验证 正常口令 含有特殊字符的口令 字母大小写敏感性测试 为空或含有空格 口令有效期验证 口令保存 忘记口令后找回口令功能,目录,测试用例的基本概念 由简入繁的过程 输入数据参数化,定义 参数化,是一个将测试数据与测试逻辑(步骤)分开,简化测试用例的过程; 方式是将用例中的一些输入、输出等作为参数,数据则单独列出,在执行时选择相应的数据执行。,为什么要参数化?,没有将测试数据和测试逻辑分开的测试用例可能显得非常庞大,不利于测试员理解,导致难以控制和执行; 通过将用例参数化,可以简化用例,使测试用例逻辑清晰,数据与逻辑的关系明了,易于理解; 有利于提高测试用例的复用性;,哪些内容需要参数化?,测试用例中需要通过使用不同数据来重复执行测试的部分; 包括: 输入(数据或操作等) 输出(结果数据或预期结果等),样例 登录,测试数据,