《测试用例课件》由会员分享,可在线阅读,更多相关《测试用例课件(12页珍藏版)》请在金锄头文库上搜索。
1、测试用例测试用例所谓的测试用例设计是将软件测试的行为活动,作一个科学化的组织归纳。测试用例就是设计一个情况,软件程序在这种情况下,必须能够正常运行并且达到程序所 设计的执行结果,如果程序在这种情况下不能正常运行,而且这种问题会重复发生,那就 表示软件程序人员已经测试出软件有缺陷,这时候就必须将这个问题表示出来 开发人员将这个问题修改完成于下一个测试版本内,软件测试工程师得到新的测试版本后, 必须利用同一个用例来测试这个问题,确保该问题已修改完成因为不能穷尽测试,为节省时间和资源、提高测试效率,必须要从数量极大的可用测试数 据中精心挑选出 具有代表性或特殊性的测试数据来进行测试。测试用例包括:标
2、识符、要测试的特性、方法、测试用例信息、通过/失败规则使用测试用例的好处: 在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率 测试用例的使用令软件测试的实施重点突出、目的明确 在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度, 缩短项目周期 功能模块的通用化和复用化使软件易于开发,而测试用例的通用化和复用化则会 使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升1.黑盒测试技术黑盒测试技术设计测试用例的方法: 等价类划分、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计 法、功能图法 注意: Ctrl+c 的应用 Windows 文
3、件名可以包含除了、 / : ? 以外的任意字符,文件名 长度 1-255 个字符例子: 等价类划分: 某城市的电话号码由三部分组成。这三部分的名称和内容分别是地区码:空白或三位数字;前 缀:非0或1开头的三位数;后 缀:四位数字。假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码, 就可用等价分类法来设计它的调试用例。解:第一步:划分等价类,包括 4 个有效等价类,11 个无效等价类。表中列出了划分的 结果。在每一等价类之后加有编号,以便识别。 表 电话号码程序的等价划分输入条件有效等价类无效等价类地区码空白(1),3 位数字(2)有非数字字符(5),少于 3 位数字(
4、6),多于三位数字(7)前缀从 200 到 999 之间的 3 位数字(3)有非数字字符(8),起始位为“0“(9),起始位为“1“(10),少 于 3 位数字(11),多于 3 位数字(12)后缀4 位数字(4)有非数字字符(13),少于 4 位数字(14),多于 4 位数字 (15)第二步:确定调试用例。表中有 4 个有效等价类,可以公用以下两个次数用例:调试数据范围期望结果 ( ) 2762345等价类(1),(3),(4)有效 (635) 8059321等价类(2),(3),(4)有效 对 11 个无效等价类,要选择 11 个调试用例,如下所示:调试数据 范围 期望结果(20A) 12
5、34567 无效等价类(5)无效 (33 ) 2345678 无效等价类(6)无效 (7777) 3456789 无效等价类(7) 无效 (777) 34A6789无效等价类(8) 无效 (234) 0456789无效等价类(9)无效 (777) 1456789 无效等价类(10) 无效 (777) 346789 无效等价类(11)无效 (777) 23456789 无效等价类(12)无效 (777) 345678A 无效等价类(13) 无效 (777) 345678 无效等价类(14)无效 (777) 34556789 无效等价类(15) 无效 选取的调试数据可以不同,关键是与调试内容相符。
6、边界值分析: Rem create a 10 element integer array Rem initialize each element to -1 Dim data(10)as integer Dim i as integer For i=1 to 10 Data(i)=-1 Next i End次边界值:2 的乘方 ASCII(A-65,1-49,NULL-0,:-58,-123)因果图 分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明)1、如果落点在棋盘外,则不移动棋子;2、如果落点与起点不构成日字型,则不移动 棋子;3、如果落点处有自己方棋子,则不移动棋子;4、如果
7、在落点方向的邻近交叉点有 棋 子(绊马腿) ,则不移动棋子;5、如果不属于1-4 条,且落点处无棋子,则移动棋子;6、 如果不属于1-4 条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;7 如果不 属于 1-4 条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。 根据分析明确原因和结果 原因: 1、落点在棋盘上; 2、落点与起点构成日字; 3、落点处为自己方棋子; 4、落点方向的邻近交叉点无棋子; 5、落点处无棋子; 6、落点处为对方棋子(非老将) ; 7、落点处为对方老将。 结果: 21、不移动棋子; 22、移动棋子; 23、移动棋子,并除去对方棋子; 24、移动棋子
8、,并提示战胜对方,结束游戏。 添加中间节点 11,目的是作为导出结果的进一步原因,简化因果图导出的判定表考虑结果不能同时发生,所以对其施加唯一约束 O。原因 5、6、7 不能同时发生,所以对 其施加异约束 E. 根据因果图建立判定表:(分为两表)根据判定表写测试用例表.“阅读指南”判定表1234 5678觉得疲倦?觉得疲倦?YYYYNN NN感兴趣吗?感兴趣吗?YYNNYYNN问问题题糊涂吗?糊涂吗?YNYNYNYN重读重读 继续继续 跳下一章跳下一章建建议议休息休息 化简后的读书指南判定表,1234问问你觉得疲倦吗?你觉得疲倦吗?-YN你对内容感兴趣吗?你对内容感兴趣吗?YY N N 题题书
9、中内容使你胡涂吗?书中内容使你胡涂吗?YN-请回到本章开头重读请回到本章开头重读x 继续读下去继续读下去 X 跳到下一章去读跳到下一章去读 x 建建议议停止阅读,请休息停止阅读,请休息 x 正交试验法 是从大量的试验数据中挑选适量的、有代表性的点,从而合理地安排测试的一种科学 的试验设计方法 例:为提高某化工产品的转化率,选择了三个有关因素进行条件试验,反应温度 (A),反应时间(B),用碱量(C) ,并确定了他们的试验范围:A:8090 B:90150 分钟 C:5%7% 试验目的是搞清楚因子 ABC 对转化率有什么影响,哪些是主要的,哪些是次要的, 从而确定最适生产条件,即温度、时间及用碱
10、量各为多少才能使转化率最高,这里对因子 ABC 选择了三个水平 A:A1=80,A2=85,A3=90; B:B1=90 分钟,B2=120 分钟,B3=150 分钟; C:C1=5%,C2=6%,C3=7% 这种三因子三水平的条件试验,可以有两种方法 1、 取三因子所有水平之间的组合,下图立方体有 27 个节点,这种试验法叫全面试验 法2、 简单对比法,即变化一个因素而固定其他因素,首先固定 B、C 于 B1、C1,使 A 变化试验结果 C2 最好,于是就认为最好的工艺条件是 A3B2C2 正交试验法在软件测试中也是一种有效的方法,例如在平台参数配置方面,选择哪种组合 方式是最好的,每个参数
11、就是一个因子功能图法功能图方法是用功能图形象表示程序的功能说明,并机械地生成功能图的测试用例。功能图法实际上市一种黑盒、白盒混合用例设计方法。场景法事件触发,控制流程1 1、为什么引入用例场景、为什么引入用例场景现在的软件几乎都是由事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果形成事件流。这种在软件设计方面的思想也可被引入到软件测试中,生动的描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时测试用例也更容易的得到理解和执行。提出这种测试思想的是Rational 公司,在RUP2000 中文版当中有其详尽的解释和应用,用例场景贯穿其中。2 2、用例
12、场景的定义、用例场景的定义用例场景是通过描述流经用例的路径来确定的过程,这个流经过程要从用例开始到结束遍历其中所有基本流和备选流。3 3、用例场景例子、用例场景例子下图中经过用例的每条不同路径都反映了基本流和备选流,都用箭头来表示。基本流用直黑线来表示,是经过用例的最简单的路径。每个备选流自基本流开始,之后,备选流会在某个特定条件下执行。备选流可能会重新加入基本流中(备选流1和3),还可能起源于另一个备选流(备选流2),或者终止用例而不再重新加入某个流(备选流2和4)。图 3-3 基本流和备选流图遵循图3-3中每个经过用例的可能路径,可以确定不同的用例场景。从基本流开始,再将基本流和备选流结合
13、起来,可以确定以下用例场景:场景 1 基本流场景 2 基本流 备选流 1场景 3 基本流 备选流 1 备选流 2场景 4 基本流 备选流 3场景 5 基本流 备选流 3 备选流 1场景 6 基本流 备选流 3 备选流 1 备选流 2场景 7 基本流 备选流 4场景 8 基本流 备选流 3 备选流 4注注:为方便起见,场景5、6和8只描述了备选流3指示的循环执行一次的情况。4 4、测试用例、测试用例生成每个场景的测试用例是通过确定某个特定条件来完成的,这个特定条件将导致特定用例场景的执行。5 5、测试用例例子、测试用例例子假定上图描述的用例对备选流3规定如下:如果在上述步骤 2“输入提款金额”中
14、输入的美元量超出当前帐户余额,则出现此事件流。系统将显示一则警告消息,之后重新加入基本流,再次执行上述步骤 2“输入提款金额”,此时银行客户可以输入新的提款金额。据此,可以开始确定需要用来执行备选流 3 的测试用例如表3-8所示。表表 3-83-8 测试用例表测试用例表测试用例测试用例IDID场景场景 条件条件预期结果预期结果TC x场景 4步骤 2 - 提款金额 帐户余额在步骤 2 处重新加入基本流TC y场景 4步骤 2 - 提款金额 帐户余额不执行备选流 3,执行基本流TC z场景 4步骤 2 - 提款金额 = 帐户余额不执行备选流 3,执行基本流注注:由于没有提供其他信息,以上显示的测
15、试用例都非常简单。测试用例很少如此简单。6 6、实用举例、实用举例下面是一个由用例生成测试用例的更符合实际情况的示例。示例示例:图 3-4 ATM 业务图图3-4是一台 ATM 机器的主角和用例。表3-9包含了上图中提款用例的基本流和某些备用流。表表 3-93-9 基本流程和备用流程基本流程和备用流程事件事件结果结果基本流本用例的开端是 ATM 处于准备就绪状态。准备提款 - 客户将银行卡插入 ATM 机的读卡机。验证银行卡 - ATM 机从银行卡的磁条中读取帐户代码,并检查它是否属于可以接收的银行卡。输入 PIN - ATM 要求客户输入 PIN 码(4 位)验证帐户代码和 PIN - 验证
16、帐户代码和 PIN 以确定该帐户是否有效以及所输入的 PIN 对该帐户来说是否正确。对于此事件流,帐户是有效的而且 PIN 对此帐户来说正确无误。ATM 选项 - ATM 显示在本机上可用的各种选项。在此事件流中,银行客户通常选择“提款”。输入金额 - 要从 ATM 中提取的金额。对于此事件流,客户需选择预设的金额(10 美元、20 美元、50 美元或 100 美元)。授权-ATM 通过将卡ID、PIN、金额以及帐户信息作为一笔交易发送给银行系统来启动验证过程。对于此事件流,银行系统处于联机状态,而且对授权请求给予答复,批准完成提款过程,并且据此更新帐户余额。出钞 - 提供现金。返回银行卡 - 银行卡被返还。收据 - 打印收据并提供给客户。ATM 还相应地更新内部记录。用例结束时 ATM 又回到准备就绪状态。使用用例场景设计测试用例。备选流 1- 银行卡无效在