资源预览内容
第1页 / 共93页
第2页 / 共93页
第3页 / 共93页
第4页 / 共93页
第5页 / 共93页
第6页 / 共93页
第7页 / 共93页
第8页 / 共93页
第9页 / 共93页
第10页 / 共93页
亲,该文档总共93页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
软件测试方法和技术 - Ch.6集成测试测试 和系统测试统测试第五章回顾 单元测试的定义与进行单元测试的重要性 单元测试的目标与任务 静态测试技术的运用 动态测试技术的运用 调试与评估 单元测试的过程与文档管理 单元测试的常用工具简介第六章 集成测试和系统测试6.1 系统集成的模式与方法6.2 功能测试6.3 系统测试6.4 压力测试、容量测试和性能测试6.5安全性、可靠性和容错性测试6.1系统集成的模式与方法 软件集成测试前的准备软件集成测试前的准备 人员安排测试计划测试内容集成模式测试方法为什么总是集成不起来?集成测试的模式渐增式测试模式与非渐增式测试模式 非渐增式测试模式:先分别测试每个模块,再把所有模块 按设计要求放在一起结合成所要的程序,如大棒模式。渐增式测试模式:把下一个要测试的模块同已经测试好的 模块结合起来进行测试,测试完以后再把下一个应该测 试的模块结合进来测试。各自的优缺点自顶向下和自底向上集成方法 驱动程序/驱动模块(driver),用以模拟被测 模块的上级模块。驱动模块在集成测试中 接受测试数据,把相关的数据传送给被测 模块,启动被测模块,并打印出相应的结 果。桩程序/桩模块(stub),也有人称为存根程序 ,用以模拟被测模块工作过程中所调用的 模块。桩模块由被测模块调用,它们一般 只进行很少的数据处理,例如打印入口和 返回,以便于检验被测模块与其下级模块 的接口自顶向下法(Top-down Integration) 自顶向下法的主要优缺点自底向上法(Bottom-up Integration) 自底向上法的主要优缺点混合策略(Modified Top-down Integration) 混合法:对软件结构中较上层,使用的是“自顶向下”法;对软件结构中较 下层,使用的是“自底向上”法,两者相结合 大棒集成方法(Big-bang Integration)采用大棒集成方法,先是对每一个子模块进行测试(单元测试阶段), 然后将所有模块一次性的全部集成起来进行集成测试 。因为所有的模块一次集成的,所以很难确定出错的真正位置、所在 的模块、错误的原因。这种方法并不推荐在任何系统中使用,适合在规 模较小的应用系统中使用。 三明治集成方法(Sandwich Integration) 采用三明治方法的优点是:它将自顶向下和自底向上的集成方法有机地 结合起来,不需要写桩程序因为在测试初自底向上集成已经验证了底层模块 的正确性。采用这种方法的主要缺点是:在真正集成之前每一个独立的模块 没有完全测试过。改善的三明治集成方法改进的三明治集成方法,不仅自两头向中间集成,而且保证每个模 块得到单独的测试,使测试进行得比较彻底 。几种集成方法性能的比较 自底向上自顶顶向下混合策略大棒三明治改进进三明治集成早早早晚早早基本程序能工作 时间时间晚早早晚早早需要驱动驱动 程序是否是是是是需要桩桩程序否是是是是是工作并行性中低中高中高特殊路径测试测试容易难难容易容易中等容易计计划与控制容易难难难难容易难难难难6.2功能测试 功能测试的目的和内容 p程序安装、启动正常,有相应的提示框、错误提示等 p每项功能符合实际要求 p系统的界面清晰、美观 p菜单、按钮操作正常、灵活,能处理一些异常操作 p能接受正确的数据输入,对异常数据的输入可以进行提示、 容错处理等 p数据的输出结果准确,格式清晰,可以保存和读取 p功能逻辑清楚,符合使用者习惯 p系统的各种状态按照业务流程而变化,并保持稳定 p支持各种应用的环境 p能配合多种硬件周边设备 p软件升级后,能继续支持旧版本的数据 p与外部应用系统的接口有效 功能测试的方法 n1. 等价类划分法n2. 边界值分析法n3. 错误推测法n4.因果图法n5. 组合分析法等价类划分法n数学含义A=1&50” 确立等价类的原则n如果输入条件是一个布尔量,则可以确立一个 有效等价类和一个无效等价类 n如果规定了输入数据的一组值,而且程序要对 每一个输入值分别进行处理,这时要对每一个 规定的输入值确立一个有效等价类,而对于这 组值之外的所有值确立一个无效等价类 确立等价类的原则n如果规定了输入数据必须遵守的规则,则可以确立一个 有效等价类(即遵守规则的数据)和若干无效等价类( 从不同角度违反规则的数据),例如: n测试密码域,要求密码必须是数字或字母 n有效等价类为“密码是数字和字母的组合” n无效等价类为“密码包括中文”、“密码包括其它符号”等n如果确知已划分的等价类中的各元素在程序中的处理方 式不同,则应进一步划分成更小的等价类 等价类测试用例设计n分析输入输出n划分有效等价类、无效等价类 n设计测试用例,使其尽可能多的覆盖有效等价 类 n设计测试用例,使其一次只覆盖一个无效等价 类 使用等价类划分法测试的实例n保险公司计算保费费率的程序某保险公司的人寿保险的保费计算方式为:投保额保险费率其中,保险费率依点数不同而有别,10点及10点以上保险 费率为0.6%,10点以下保险费率为0.1%;而点数又是由 投保人的年龄、性别、婚姻状况和抚养人数来决定,具体 规则如下:年龄年龄 性别性别婚姻婚姻抚养人数抚养人数 20392039 40594059 其它其它 M M F F 已婚已婚 未婚未婚 1 1人扣人扣0.50.5点点最多扣最多扣3 3点点 (四舍五入取整)(四舍五入取整) 6 6点点 4 4点点 2 2点点 5 5点点 3 3点点 3 3点点 5 5点点计算保费费率的程序(1)分析程序规格说明中给出和隐含的对输入条件的要求, 列出等价类表(包括有效等价类和无效等价类)。n年龄:一位或两位非零整数,值的有效范围为199n性别:一位英文字符,只能取值M或Fn婚姻:字符,只能取值已婚或未婚n抚养人数:空白或一位非零整数(19)n点数 :一位或两位非零整数,值的范围为199(2)根据(1)中的等价类表,设计能覆盖所有等价类的 测试用例。输入条件有效等价类编号无效等价类编号 年龄2039岁14059岁2119岁 6099岁3小于112大于9913 性别单个英文字符4非英文字符14非单个英文字符15M5除M和F之外的 其它单个字符16 F6 婚姻已婚7除已婚和未婚之外 的其它字符17 未婚8 抚养人数空白9除空白和数字之外 的其它字符1816人10小于11969人11大于920测试用例 编号输入数据预期输出年龄性别婚姻抚养人数保险费率127F未婚空白0.6%250M已婚20.6%370F已婚70.1%40M未婚空白无法推算5100F已婚3无法推算699男已婚4无法推算71Child未婚空白无法推算845N已婚5无法推算938F离婚1无法推算1062M已婚没有无法推算1118F未婚0无法推算1240M未婚10无法推算等价类划分法n某一PASCAL语言版本中规定: “标识符是由字母打头,后跟字母或数字的任意组 合构成。有效字符数为8个,最大字符数为80 个”,且规定n标识符必须先说明,再使用n在同一说明语句中,标识符至少出现一个等价类划分法划分好等价类测试:防止遗漏测试案例。例子: 某城市电话号码由三部分组成,分别是:地区码 空白或三位数字;前 缀 非0或1开头的三位数字;后 缀 4位数字。假定被测程序能接受一切符合上述规定的电 话号码, 拒绝所有不符合规定的电话号码。要求 : 请选择适当的黑盒测试方法,写出选择该方法 的原因,并使用该方法的步骤,给出测试用例表。多于3位数字少于3位数字有非数字字符空白3位数字地区码编号无效等价类编号有效等价类输入条件前缀200999有非数字字符起始位为0起始位为1少于3位数字多于3位数字后缀4位数字有非数字字符少于4位数字多于4位数字34125678910111213 1415使用等价类划分法测试用例 编号输入数据预期输出 地区码前缀后缀 1空白1234567接受(有效)21238059876接受(有效)320A1234567拒绝(无效)4332345678拒绝(无效)512342344567拒绝(无效)61232B31234拒绝(无效)71230131234拒绝(无效)81231231234拒绝(无效)9123231234拒绝(无效)1012323451234拒绝(无效)111232341B34拒绝(无效)1212323434拒绝(无效)1312323423345拒绝(无效)覆盖等价类1, 3, 42, 3, 456789101112131415NextDate 函数包含三个变量:month 、 day 和 year ,函数的输出为输入日期后一天的日期。例如,输入为 2006年3月 7日,则函数的输出为 2006年3月8日 。要求输入变量 month 、 day 和 year 均为整数值,并且满足下列条件:1month121day311920year2050 边界值分析法n数学含义A, , , , , , , , x1x2a bcd边界值分析法测试用例(续)n例2:有二元函数f(x,y),其中x1,12,y1,31 。 则采用边界值分析法设计的测试用例是: , , , , , , , , 推论:对于一个含有n个变量的程序,采用边界值 分析法测试程序会产生4n+1个测试用例。n练习:有函数f(x,y,z),其中x1900,2100, y1,12,z1,31的。请写出该函数采用边 界值分析法设计的测试用例。 , , , , , , , , , , , , 健壮性测试n健壮性测试是作为边界值分析的一个简单的扩充,它除了 对变量的5个边界值分析取值外,还需要增加一个略大于 最大值(max+)以及略小于最小值(min-)的取值,检查超过 极限值时系统的情况。因此,对于有n个变量的函数采用 健壮性测试需要6n+1个测试用例。n前面例1中的程序F的健壮性测试如下图所示:x1x2a bcdn练习:请为例2中的函数f(x,y)写出相应的健壮性测试用例。n实例1 三角形问题的边界值分析测试用例在三角形问题描述中,除了要求边长是整数外,没有 给出其它的限制条件。在此,我们将三角形每边边长的取 范围值设值为1, 100 。说明:如果程序规格说明中没有显式地给出边界值,则可 以在设计测试用例前先设定取值的下限值和上限值。n实例2 NextDate函数的边界值分析测试用例在NextDate函数中,隐含规定了变量mouth和变量day 的取值范围为1mouth12和1day31,并设定变量year 的取值范围为1912year2050 。边界值分析法测试举例边界值分析法测试举例测试用例abc预期输出Test 1 Test2 Test3 Test4 Test560 60 60 50 5060 60 60 50 501 2 60 99 100等腰三角形 等腰三角形 等边三角形 等腰三角形 非三角形Test6 Test7 Test8 Test960 60 50 501 2 99 10060 60 50 50等腰三角形 等腰三角形 等腰三角形 非三角形Test10 Test11 Test12 Test131 2 99 10060 60 50 5060 60 50 50等腰三角形 等腰三角形 等腰三角形 非三角形测试用例mouth dayyear预期输出 Test 1 Test2 Test3 Test4 Test5 Test6 Test76 6 6 6 6 6 615 15 15 15 15 15 151911 1912 1913 1975 2049 2050 20511911.6.16 1912.6.16 1913.6.16 1975.6.16 2049.6.1
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号