软件测试基础教案_第1页
软件测试基础教案_第2页
软件测试基础教案_第3页
软件测试基础教案_第4页
软件测试基础教案_第5页
已阅读5页,还剩182页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、文档古乐,史九林. 软件测试案例与实践教程. 北京: 清华大学出版社,2007 1 基本概念2 测试方法3 白盒测试的测试用例设计4 黑盒测试的测试用例设计5 针对专门环境和应用的测试6 软件测试的步骤7 WEB网站测试方法8 软件测试中常见问题分析9 测试用例示例10 测试文档11 测试工具在人命关天的软件(如飞机控制、核反应堆等)测试所花费的时间往往是其它软件工程活动时间之和的三到五倍;例例: :Windows95有1000万行代码; Windows2000有5000万行代码,3000多个工程师,几百个小团队。Exchange2000Windows2000项

2、目经理项目经理25人人约约250人人开发人员开发人员140人人约约1700人人测试人员测试人员350人人约约3200人人实例实例: :Intel的pentium处理器1994年浮点除法缺陷1999年12月3日,美国航天局火星极地登陆飞船失踪1991年爱国者导弹防御系统系统时钟错误积累造成跟踪系统失去精确度千年虫,世界各地解决2000年错误超过数亿美元开发者?单独的测试人员?两方面人员?每个部分都测试?测试软件中高风险部分?描述软件失败的术语描述软件失败的术语缺点缺点(defect)故障故障(fault)问题问题(problt)错误错误(error) “一片树叶飘落在森林中没有人听见,一片树叶飘

3、落在森林中没有人听见, 谁能说它发出了声音?谁能说它发出了声音?”只有看到了,才能断言软件缺陷。只有看到了,才能断言软件缺陷。由于不由于不能报告没有看见的问题,因此,没有看见能报告没有看见的问题,因此,没有看见就不能说存在软件缺陷就不能说存在软件缺陷眼见为实(1)(1)预防错误预防错误: : 几乎不可实现几乎不可实现(2)(2)发现错误发现错误G.J.Myers在在中认为中认为: 测试是为了寻找错误而运行程序的过程。测试是为了寻找错误而运行程序的过程。 一个好的测试用例是指很可能找到迄今为一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试。止尚未发现的错误的测试。 一个成功的测试是揭示

4、了迄今为止尚未发一个成功的测试是揭示了迄今为止尚未发现的错误的测试。现的错误的测试。把证明程序无错当作测试目的不仅是不正确的, 完全做不到的,而且对做好测试没有任何益处。 软件测试要软件测试要设法使软件发生故障设法使软件发生故障, ,暴露暴露软件错误软件错误 测试的测试的“成功成功”与与“失败失败” 能够发现错误的测试是成功的测试,能够发现错误的测试是成功的测试,否则是失败的测试。否则是失败的测试。 这种说法正确吗?这种说法正确吗?程序Triangle,输入三个整数,表示一个三角形的三个边长,该程序产生一个结果,指出该三角形是等边三角形、等腰三角形还是不等边三角形。 为说明其能正确执行它的功能

5、,可使用“测试用例”(3,4,5),(5,5,6),(6,6,6), 程序都能给出正确结果,是否就可认为程序是正确的?黑盒测试黑盒测试白盒测试白盒测试单元测试单元测试综合测试综合测试集成测试集成测试功能测试功能测试系统测试系统测试端到端测试端到端测试健全测试健全测试衰竭测试衰竭测试接受测试接受测试负载测试强迫测试性能测试可用性测试安装/卸载测试恢复测试兼容测试安全测试比较测试Alpha测试Beta测试质量控制活动分类质量控制活动分类开发方法学开发方法学配置管理配置管理验证技术验证技术评评 审审正确性验证正确性验证性能调试性能调试组件测试组件测试集成测试集成测试系统测试系统测试原子事务原子事务模

6、块冗余性模块冗余性检检 错错质量控制质量控制避免错误避免错误容容 错错调调 试试测测 试试以软件测试为中心的以软件测试为中心的软件质量保障技软件质量保障技术术软件测试软件测试(1) (1) 所有的测试都应追溯到用户需求所有的测试都应追溯到用户需求 最严重的错误最严重的错误( (从用户角度从用户角度) )是那些导是那些导致软件无法满足需求的错误。致软件无法满足需求的错误。 程序中的问题程序中的问题根源根源可能在开发前期的可能在开发前期的各阶段解决、纠正错误也必须追溯到前期各阶段解决、纠正错误也必须追溯到前期工作。工作。决定软件与系统的配合关系决定软件与系统的配合关系需求分析需求分析概要设计概要设

7、计详细设计详细设计 编编 码码单元测试单元测试集成测试集成测试确认测试确认测试系统测试系统测试测试活动和相关工作产品测试活动和相关工作产品项目协议项目协议对象设计对象设计客户客户开发人员开发人员用户用户集成策略集成策略系统分解系统分解功能性需求功能性需求非功能性需求非功能性需求单元测试单元测试集成测试集成测试结构测试结构测试功能测试功能测试性能测试性能测试来自来自ODD来自来自TP来自来自SDD来自来自RAD来自来自RAD用户手册用户手册验收测试验收测试安装测试安装测试现场测试现场测试日常操作日常操作计划计划需求需求分析分析设设计计编编码码测测试试AB用户要求用户要求用户用户: :我要什么我要

8、什么? ?运行结果运行结果计算机计算机: :程序运行得程序运行得到的结果到的结果源程序源程序程序员程序员: :我要让计算我要让计算机什么做机什么做? ?设计说明书设计说明书设计员设计员: :我要让软件我要让软件做什么做什么? ?需求说明书需求说明书分析员分析员: :我可以提我可以提供什么供什么? ?12345理解正确性理解正确性表达正确性表达正确性理解正确性理解正确性设计正确性设计正确性表达正确性表达正确性理解正确性理解正确性编码正确性编码正确性运行正确性运行正确性输入正确性输入正确性相符吗相符吗? ?项目开发前项目开发前分析员的理分析员的理解、设想解、设想分析员分析员的描述的描述完成的设计完

9、成的设计程序员做出的产品程序员做出的产品现场的安装现场的安装用户原来的设想用户原来的设想软件测试不等于程序测试软件测试不等于程序测试软件测试应贯穿于软件定义与开发的软件测试应贯穿于软件定义与开发的整个期间;整个期间; 据美国一家公司统计,查出的软件错误中,属于约占 ,属于程序编写的错误仅占36%。程序编写的许多错误是“”。 单元测试单元测试: : 检验每个模块能否单独工作检验每个模块能否单独工作 集成测试集成测试: : 检验概要设计中模块接口设计问题检验概要设计中模块接口设计问题 确认测试确认测试: : 以需求规格说明书为检验尺度以需求规格说明书为检验尺度 系统测试系统测试: : 综合检验综合

10、检验加法测试加法测试1+0=1+0=1+99999999999999999999999999999999=1+99999999999999999999999999999999=2+0=2+0=2+99999999999999999999999999999999=2+99999999999999999999999999999999=99999999999999999999999999999999+99999999999999999999999999999999=99999999999999999999999999999999+99999999999999999999999999999999=1.

11、0+0.1=1.0+0.1=1.0+0.2=1.0+0.2=减法测试减法测试乘法测试乘法测试除法测试除法测试求平方根求平方根百分数百分数倒数倒数数数量量遗漏软件遗漏软件缺陷数目缺陷数目测试费用测试费用测试中测试中测试后测试后软件测试工作量测试工作量最优测量量最优测量量 可测试软件的特征:可测试软件的特征: 可操作性可操作性 可观察性可观察性 可控制性可控制性 可分解性可分解性 简单性简单性 稳定性稳定性 易理解性易理解性 发现错误的可能性高;发现错误的可能性高; 不冗余;不冗余; 在目的相似的测试中,应使用最可能在目的相似的测试中,应使用最可能找到错误的测试;找到错误的测试; 每一个测试应独立

12、执行;每一个测试应独立执行;【定义】【定义】测试用的一组输入数据。测试用的一组输入数据。 选择测试用例是软件测试员最重要的选择测试用例是软件测试员最重要的一项工作。一项工作。属性属性 描述描述name 测试用例的名称测试用例的名称 location 可执行的完全路径名可执行的完全路径名 input 输入数据或命令输入数据或命令oracle 期待测试结果期待测试结果(预期输出结果预期输出结果)log 测试产生的输出测试产生的输出程序测试举例:程序测试举例:例:程序例:程序 TriangleTriangle, 输入三个整数,表示一个输入三个整数,表示一个 三角形的三个边长,该程序产生一个结果,三角

13、形的三个边长,该程序产生一个结果, 指出该三角形是等边三角形、等腰三角形还指出该三角形是等边三角形、等腰三角形还 是不等边三角形。是不等边三角形。判断三角型的测试用例设计判断三角型的测试用例设计: : 输入数据输入数据 预期输出结果预期输出结果 (1) 6;6;6 (1) 6;6;6 等边等边 (2) 8;8;4 (2) 8;8;4 等腰等腰 (3) 4;5;6 (3) 4;5;6 一般一般 还应输入还应输入非法数据:非法数据: 0; 7; 90; 7; 9 -7; 3; 5 -7; 3; 5 a; 2; 7 a; 2; 7 等等测试测试结果结果分析分析排错排错可靠性可靠性分析分析测试测试结果

14、结果预期预期结果结果出错率出错率 改正改正的软件的软件预测预测的可的可靠性靠性需求规格说明书需求规格说明书软件设计说明书软件设计说明书 被测源程序被测源程序 测试计划测试计划 测试用例测试用例( (测试数据测试数据) )测试驱动程序测试驱动程序测试活动和相关工作产品测试活动和相关工作产品项目协议项目协议对象设计对象设计客户客户开发人员开发人员用户用户集成策略集成策略系统分解系统分解功能性需求功能性需求非功能性需求非功能性需求单元测试单元测试集成测试集成测试结构测试结构测试功能测试功能测试性能测试性能测试来自来自ODD来自来自TP来自来自SDD来自来自RAD来自来自RAD用户手册用户手册验收测试

15、验收测试安装测试安装测试现场测试现场测试日常操作日常操作软件测试的软件测试的策略和方法策略和方法静态静态测试方法测试方法动态动态测试方法测试方法人工测试方法人工测试方法计算机辅助静计算机辅助静态分析方法态分析方法白盒测试方法白盒测试方法黑盒测试方法黑盒测试方法是否符合标准和规范;通过结构分析、流图分析、符号执行指出软件缺陷;闭着眼睛测试软件闭着眼睛测试软件软件? ?3581322.293419985680302829734315250*(1+0.015)*(1+0.015)360-1)/0.015250*(1+0.015)*(1+0.015)360-1)/0.015 假如知道一个盒子包含一台计

16、算机假如知道一个盒子包含一台计算机, ,而另一个而另一个盒子是人用纸笔计算盒子是人用纸笔计算, ,就会选择不同的测试用例就会选择不同的测试用例C C B BA AD D- -只能用黑盒测试发现的错误只能用黑盒测试发现的错误A- -只能用白盒测试发现的错误只能用白盒测试发现的错误- -两种方法都能发现的错误两种方法都能发现的错误- -两种方法都不能发现的错误两种方法都不能发现的错误BCD黑盒测试黑盒测试 白盒测试白盒测试优优点点缺缺点点性性质质适用于各阶段测试适用于各阶段测试从产品功能角度测试从产品功能角度测试容易入手生成测试数容易入手生成测试数 据据可构成测试数据使特定程可构成测试数据使特定程

17、 序部分得到测试序部分得到测试有一定的充分性度量手段有一定的充分性度量手段可或较多工具支持可或较多工具支持某些代码得不到测试某些代码得不到测试如果规格说明有误,如果规格说明有误, 则无法发现则无法发现不易进行充分性测试不易进行充分性测试不易生成测试数据不易生成测试数据( (通常通常) )无法对未实现规格说明的无法对未实现规格说明的 部分进行测试部分进行测试工作量大,通常只用于单工作量大,通常只用于单 元测试,有应用局限元测试,有应用局限是一种是一种技术,回答技术,回答“我们在构造一个正确的系我们在构造一个正确的系统吗?统吗?”是一种是一种技术,回答技术,回答“我们在我们在正确地构造一个系统吗?

18、正确地构造一个系统吗?”输入输入 三条边长三条边长 可采用的测试用例数可采用的测试用例数 ( (设字长设字长1616位位) ) 执行时间执行时间: : 设测试一次需设测试一次需1ms1ms 共需一万年共需一万年. .=2 X2 X2 3X10=2 X2 X2 3X101616161616161414黑盒测试黑盒测试穷举测试实穷举测试实例例: : 白盒测试白盒测试 =5+5 +.+5 +5 =5+5 +.+5 +5 101020201 12 219191414A AB B (1)(1)语句覆盖语句覆盖 (2)(2)判定覆盖判定覆盖 (3)(3)条件覆盖条件覆盖 (4)(4)判定判定/ /条件覆盖

19、条件覆盖 (5)(5)条件组合覆盖条件组合覆盖 (6)(6)路径覆盖路径覆盖 (7)(7)点覆盖点覆盖 (8)(8)边覆盖边覆盖例例: :PROCEDURE SAMPAL (A,B:REAL; VAR X:REAL); BEGIN IF (A1) AND (B=0) THEN X:=X/A IF (A=2) OR (X1) THEN X:=X+1 END; 开始开始(A1) AND (B=0)(A=2) OR (X1)返回返回X=X/AX=X+1FFTTabdce开始开始(A1) AND (B=0)(A=2) OR (X1)返回返回X=X/AX=X+1FFTTabdce开始开始(A1) AND

20、 (B=0)(A=2) OR (X1)返回返回X=X/AX=X+1FFTTabdce (3)(3)条件覆盖条件覆盖开始开始(A1) AND (B=0)(A=2) OR (X1)返回返回X=X/AX=X+1FFTTabdce满足条件满足条件:T1,T1, T2,T2 T3,T3 T4,T4第一判定表达式第一判定表达式: :设条件设条件 A1 A1 取真取真 记为记为T1T1 假假 T1T1 条件条件 B=1 B=1 取真取真 记为记为T2T2 假假 T2T2第二判定表达式第二判定表达式: :设条件设条件 A=2 A=2 取真取真 记为记为T3T3 假假 T3T3 条件条件 X1 X1 取真取真

21、记为记为T4T4 假假 T4T4测试用例测试用例 通过通过 满足的满足的 覆盖覆盖A B X 路径路径 条件条件 分支分支1 0 3 abe T1,T2,T3,T4 b,e2 1 1 abe T1,T2,T3,T4 b,e 两个测试用例覆盖了四个条件八种可能取值。两个测试用例覆盖了四个条件八种可能取值。 未覆盖未覆盖c c、d d分支,不满足判定覆盖的要求。分支,不满足判定覆盖的要求。 条件覆盖不一定包含判定覆盖条件覆盖不一定包含判定覆盖 判定覆盖也不一定包含条件覆盖判定覆盖也不一定包含条件覆盖开始开始(A1) AND (B=0)(A=2) OR (X1)返回返回X=X/AX=X+1FFTTa

22、bdce满足条件满足条件:T1,T1, T2,T2 T3,T3 T4,T4测试用例测试用例 通过通过 满足的条件满足的条件 覆盖覆盖A B X 路径路径 分支分支2 0 4 ace2 0 4 ace T1,T2,T3,T4 c,e T1,T2,T3,T4 c,e2 1 1 abd2 1 1 abd T1,T2,T3,T4 b,d T1,T2,T3,T4 b,d 2 0 3 ace T1,T2,T3,T4 c,e2 0 3 ace T1,T2,T3,T4 c,e2 1 1 abe2 1 1 abe T1,T2,T3,T4 T1,T2,T3,T4 b,e b,e1 0 3 abe1 0 3 abe

23、 T1,T2,T3,T4 b,e T1,T2,T3,T4 b,e1 1 1 abd1 1 1 abd T1,T2,T3,T4 b,d T1,T2,T3,T4 b,d 所有可能的条件取值组合至少执行一次所有可能的条件取值组合至少执行一次 A1, B=0 A1, B0 A 1, B=0 A 1, B0 A=2, X1 A=2, X 1 A2, X1 A2, X 1测试用例测试用例 通过通过 满足的满足的 覆盖覆盖A B XA B X 路径路径 条件条件 分支分支2 0 4 ace T1,T2,T3,T4 c,e2 0 4 ace T1,T2,T3,T4 c,e2 1 1 abe2 1 1 abe

24、T1,T2,T3,T4 T1,T2,T3,T4 b,e b,e1 0 2 abd1 0 2 abd T1,T2,T3,T4 b,d T1,T2,T3,T4 b,d1 1 1 abd1 1 1 abd T1,T2,T3,T4 b,d T1,T2,T3,T4 b,d 测试用例测试用例 通过通过 满足的满足的 覆盖覆盖A B X 路径路径 条件条件 分支分支1 1 1 abd T1,T2,T3,T4 b,d1 1 1 abd T1,T2,T3,T4 b,d1 1 2 abe1 1 2 abe T1,T2,T3,T4 T1,T2,T3,T4 b,e b,e3 0 1 acd3 0 1 acd T1,T

25、2,T3,T4 c,d T1,T2,T3,T4 c,d2 0 4 ace2 0 4 ace T1,T2,T3,T4 c,e T1,T2,T3,T4 c,e通过分析通过分析由控制构造的环路由控制构造的环路的复杂性,导出的复杂性,导出基本路径集合,从而设计测试用例,保证这基本路径集合,从而设计测试用例,保证这些路径至少通过一次。些路径至少通过一次。基本路径测试步骤:基本路径测试步骤:导出程序流程图的拓扑结构导出程序流程图的拓扑结构- -1 12,32,36 64,54,57 710101111a节点节点边边R4R4区域区域1 12 23 34 45 58 87 76 69 911118 89 9R

26、1R1R2R2R3R31010计算流图计算流图G G的环路复杂度的环路复杂度CCCC的不同方法的不同方法(1)CC=(1)CC=区域个数区域个数 = 4= 4(2)CC=(2)CC=边的条数边的条数- -节点个数节点个数+2 = 11-2+2 = 4+2 = 11-2+2 = 4(3)CC=(3)CC=判定节点个数判定节点个数+1 = 3+1 = 4+1 = 3+1 = 4确定只包含独立路径的基本路径集确定只包含独立路径的基本路径集path1:path1:1-111-11path1:path1:1-2-3-4-5-10-1-111-2-3-4-5-10-1-11path1:path1:1-2-

27、3-6-8-9-10-1-111-2-3-6-8-9-10-1-11path1:path1:1-2-3-6-7-9-10-1-111-2-3-6-7-9-10-1-11环路复杂度环路复杂度4 4是构成这个基本路径集的独立路径数是构成这个基本路径集的独立路径数的上界,也是设计的上界,也是设计测试用例的数目测试用例的数目设计测试用例设计测试用例, ,保证基本路径集中每条路径的执行保证基本路径集中每条路径的执行一条新路径一条新路径必须包含一必须包含一条新边条新边某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围

28、内,则显示输入错误信息。 系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。如何划分等价类?如何划分等价类? 划分等价类的标准:划分等价类的标准:划分等价类的规则划分等价类的规则 (1)(1)如果输入条件规定了取值范围,可定义一个有如果输入条件规定了取值范围,可定义一个有 效等价类和两个无效等价类。效等价类和两个无效等价类。例例 输入值是学生成绩,范围是输入值是学生成绩,范围是0 01001000 1000 100 有效等价类有效等价类00成绩成绩100100无效等价类无效等价类 成绩成绩100100 无效等价类无效等价类 成绩成绩00(2)(2)如果输入条件代表集合的某个元

29、素,则可定义如果输入条件代表集合的某个元素,则可定义 一个有效等价类和一个无效等价类。一个有效等价类和一个无效等价类。例:说明学历输入条件可为例:说明学历输入条件可为: :专科、本科、硕士、博专科、本科、硕士、博士士四种之一,则分别取这四个值作为四种之一,则分别取这四个值作为四个有效等价四个有效等价类类,把四种学历之外的任何学历作为无效等价类。,把四种学历之外的任何学历作为无效等价类。输入条件输入条件 有效等价类有效等价类 无效等价类无效等价类 报表日期的报表日期的类型及长度类型及长度6 6位数字字符位数字字符(1)(1)有非数字字符有非数字字符 (4)(4)少于少于6 6个数字字符个数字字符

30、 (5)(5)多于多于6 6个数字字符个数字字符 (6)(6)年份范围年份范围在在2003200320082008之间之间 (2)(2)小于小于2003 2003 (7)(7)大于大于2008 2008 (8)(8)月份范围月份范围在在1 11212之间之间(3)(3)“报表日期报表日期”输入条件的等价类表输入条件的等价类表小于小于1 1 (9)(9)大于大于12 12 (10)(10) 测试数据 期望结果 覆盖范围200306200306等价类等价类(1)(2)(3)(1)(2)(3)输入有效输入有效对表中编号为对表中编号为1,2,31,2,3的的3 3个有效等价类用一个测个有效等价类用一个

31、测试用例覆盖:试用例覆盖:(1)(1)6 6位数字字符位数字字符(2)(2)年在年在2003200320082008之间之间 (3)(3)月在月在1 11212之间之间 测试数据 期望结果 覆盖范围003003MAYMAY等价类等价类(4)(4)输入无效输入无效2003520035等价类等价类(5)(5)输入无效输入无效20030052003005等价类等价类(6)(6)输入无效输入无效200120010505等价类等价类(7)(7)输入无效输入无效200920090505等价类等价类(8)(8)输入无效输入无效200320030000等价类等价类(9)(9)输入无效输入无效200320031

32、313等价类等价类(10)(10)输入无效输入无效不能出现相同不能出现相同的测试用例的测试用例对招干考试系统对招干考试系统“输入学生成绩输入学生成绩”子模块设计子模块设计测试录入准考证号的测试用例测试录入准考证号的测试用例准考证号数据格式定义:共准考证号数据格式定义:共6 6为数字组成,其中为数字组成,其中第一位为专业代号第一位为专业代号: :1 1- -行政专业行政专业, ,2 2- -法律专业,法律专业,3 3- -财经专业财经专业后后5 5位为考生顺序号,编码范围为:位为考生顺序号,编码范围为: 行政专业准考证号码为行政专业准考证号码为: :1 110001100011 11121511

33、215 法律专业准考证号码为法律专业准考证号码为: :2 210001100012 21200612006 财经专业准考证号码为财经专业准考证号码为: :3 310001100013 31401514015 准考证号码的等价类划分准考证号码的等价类划分 有效等价类有效等价类: : (1) 110001 (1) 110001 111215111215 (2) 210001 (2) 210001 212006212006 (3) 310001 (3) 310001 314015314015 无效等价类无效等价类: : (4) - (4) - 110000110000 (5) 111216 (5)

34、111216 210000210000 (6) 212007 (6) 212007 3100031000 (7) 314016 (7) 314016 + + 计算错误计算错误 域错误域错误u针对针对计算错误的测试方法计算错误的测试方法u针对针对域错误域错误的测试方法的测试方法: :测试测试域边界域边界 划定的正确性划定的正确性边界值分析法与等价类划分法区别边界值分析法与等价类划分法区别(1)(1)边界值分析不是从某等价类中边界值分析不是从某等价类中 随便挑一个作为代表,而是使随便挑一个作为代表,而是使 这个等价类的每个边界都要作这个等价类的每个边界都要作 为测试条件。为测试条件。(2)(2)边

35、界值分析不仅考虑输入条件,边界值分析不仅考虑输入条件, 还要考虑输出空间产生的测试还要考虑输出空间产生的测试 情况情况被测试被测试子子 域域测试内点测试内点测试外点测试外点 如果在悬崖峭壁边可以如果在悬崖峭壁边可以自信地安全行走,平地就自信地安全行走,平地就不在话下。不在话下。 如果软件在能力达到极如果软件在能力达到极限时能够运行,那么在正限时能够运行,那么在正常情况下就不会出什么问常情况下就不会出什么问题。题。软件边界与悬崖很类似软件边界与悬崖很类似边界条件类型 数值数值字符字符位置位置数量数量速度速度地址地址尺寸尺寸第一个第一个/ /最后一个最后一个最小值最小值/ /最大值最大值开始开始/

36、 /完成完成空空/ /满满最慢最慢/ /最快最快相邻相邻/ /最远最远超过超过/ /在内在内测试边界线:测试边界线:1 1个数字字符个数字字符5 5个数字字符个数字字符7 7个数字字符个数字字符有有1 1个非数字字符个非数字字符全部是非数字字符全部是非数字字符6 6个数字字符个数字字符显示出错显示出错显示出错显示出错显示出错显示出错显示出错显示出错显示出错显示出错输入有效输入有效5 52003520035200300520030052003.52003.5MAY-MAY-200305200305月份为月份为1 1月月月份为月份为1212月月月份月份11212200301200301200312

37、200312200300200300200313200313200301200301200812200812200300200300200813200813输入有效输入有效输入有效输入有效显示出错显示出错显示出错显示出错输入有效输入有效输入有效输入有效显示出错显示出错显示出错显示出错在有效范围在有效范围边界上选取边界上选取数据数据仅有仅有1 1个合法字符个合法字符比有效长度少比有效长度少1 1比有效长度多比有效长度多1 1只有只有1 1个非法字符个非法字符6 6个非法字符个非法字符类型及长度均有效类型及长度均有效最小日期最小日期最大日期最大日期刚好小于最小日期刚好小于最小日期刚好大于最大日期刚

38、好大于最大日期最小月份最小月份最大月份最大月份刚好小于最小月份刚好小于最小月份刚好大于最大月份刚好大于最大月份 有效有效等价类一个月有一个月有3131天天, ,非闰年非闰年190119017(7(七月七月) )一个月有一个月有3131天天, , 闰年闰年190419047(7(七月七月) )一个月有一个月有3030天天, ,非闰年非闰年190119016(6(六月六月) )一个月有一个月有3030天天, , 闰年闰年190419046(6(六月六月) )一个月为一个月为2828或或2929天天, ,非闰年非闰年190119012(2(二月二月) )月份输入值年份输入值一个月为一个月为2828或

39、或2929天天, , 闰年闰年2(2(二月二月) )19041904等价类可以被可以被400400整除的闰年整除的闰年200020002(2(二月二月) )可以被可以被100100整除的非闰年整除的非闰年190019002(2(二月二月) )非正数无效月份非正数无效月份129112910 0正数无效月份正数无效月份131513151313月份输入值年份输入值根据经验、直觉和预感来进行测试。根据经验、直觉和预感来进行测试。一定要考虑建立处理下列等价类一定要考虑建立处理下列等价类: : 软件必须测试程序的状态及其转换。软件必须测试程序的状态及其转换。测试软件的逻辑流程测试软件的逻辑流程建立状态转换

40、图建立状态转换图减少要测试的状态及转换的数量减少要测试的状态及转换的数量空闲空闲等待用户等待用户输入命令输入命令按下按下EscEsc键键显示口令框显示口令框口令错误口令错误 消除消除口令正确口令正确初始状态消失初始状态消失空闲空闲等待用户等待用户输入命令输入命令按下按下EscEsc键键口令正确口令正确口令错误口令错误不同形式的状态转换图减少要测试的状态及转换的数量减少要测试的状态及转换的数量每种状态至少访问一次每种状态至少访问一次测试最常见最普遍的状态转换测试最常见最普遍的状态转换测试状态之间最不常用的分支测试状态之间最不常用的分支测试所有错误状态及其返回值、测试所有错误状态及其返回值、测试随

41、即状态转换测试随即状态转换失败状态测试失败状态测试找到测试软件失败的案例找到测试软件失败的案例。竞争条件和时序错乱竞争条件和时序错乱重复重复压迫压迫重负重负。 提示、菜单、帮助的格式和术语是否一致 各个控件之间的对齐方式是否一致 输入界面和输出界面在外观、布局、交互方式上是否一致 功能类似的相关界面是否在在外观、布局、交互方式上是否一致(例:商品代码检索和商品名称检索) 存在同一产品族的时候,是否与其他产品在外观、布局、交互方式上是否一致(例:Office产品族) 多个连续界面依次出现的情况下,界面的外观、操作方式是否一致(当然可能会有例外,比如操作结束的界面) 系统是否接受客户的正确输入并做

42、出提示(例:鼠标焦点跳转); 系统是否拒绝客户的错误输入并做出提示(例:弹出警告框,声响); 系统显示用户的错误输入的提示是否正确,浅显易懂(例:“ERR004”这样的提示让人不知所云); 系统提示所用的图标或图形是否具有代表性和警示性; 系统提示用语是否按警告级别和完成程度进行分级(若非某些破坏性操作,请对用户温和一些); 系统在界面(主要是菜单、工具条)上是否提供突显功能(比如鼠标移动到控件时,控件图标变大或颜色变化至与背景有较大反差,当移动开后恢复原状); 系统是否在用户完成操作时给出操作成功的提示(很多系统都缺少这一步,使用户毫无成就感)。 用户界面是否存在空白空间(没有空白空间的界面

43、是杂乱无章的,易用性极差); 各个控件之间的间隔是否一致; 各个控件在垂直和水平方向上是否对齐; 菜单深度是否在三层以内(建议不要超出三层,大家可以参考微软的例子); 界面控件分布是否按照功能分组(菜单、工具栏、单选框组、复选框组、Frame等); 界面控件本身是否需要通过滑动条的滑动来显示数据(建议采用分页显示并提供数据排序显示功能); 前景与背景色搭配是否反差过大; 系统界面是否采用了超过三种的基本色(一般情况下不要超过三种); 字体大小是否与界面的大小比例协调(一般中文采用宋体9-12,英文采用Arial或Times New Roman); 按钮较多的界面是否禁止缩放(一般情况下不宜缩放

44、,最好禁止最大、最小化按钮); 系统是否提供用户界面风格自定义功能,满足用户个人偏好; 是否存在用户频繁操作的快捷键(例:F1) ; 是否允许动作的可逆性(例:Undo,Redo)、是否有对用户的记忆要求、系统反应速度是否符合用户的期望值; 是否对可能造成长时间等待的操作提供操作取消功能;系统出错是是否存在恢复机制使用户返回出错前状态(例:Office XP的文件恢复); 在用户输入数据之前,用户输入数据后才能执行的操作是否被禁止(如特定的按钮变灰); 系统是否提供“所见即所得(WYIWG)”或“下一步提示”的功能(例:预览); 主要对模块的主要对模块的五个基本特性五个基本特性进行评价进行评价

45、(1)(1)驱动模块驱动模块( (驱动程序驱动程序):):(2)(2)桩模块桩模块( (测试存根、连接程序测试存根、连接程序):):B BA AC CD DE E待测试模块待测试模块单元测试的测试环境举例单元测试的测试环境举例: :被测模块被测模块 B B 驱动模块驱动模块( (模拟模块模拟模块A A) )桩模块桩模块( (测试存根测试存根) )( (模拟模块模拟模块E E) )测试用例测试用例测试结果测试结果单元测试的测试环境举例单元测试的测试环境举例: : 实际软件实际软件华氏到慑氏华氏到慑氏转换模块转换模块温度数据温度数据测试用例数据测试用例数据结果结果 测试驱动软件测试驱动软件华氏到慑

46、氏华氏到慑氏转换模块转换模块结果结果单元测试的测试环境举例单元测试的测试环境举例 温度显示模块温度显示模块温度接口温度接口模块模块 温度显示模块温度显示模块程序员编写程序员编写的桩模块的桩模块( (测试存根测试存根) )温度值的测试文件温度值的测试文件 通常采用黑盒测试技术通常采用黑盒测试技术实施策略实施策略: :非渐增式测试非渐增式测试渐增式测试渐增式测试 深度优先深度优先广度优先广度优先自顶向下结合自顶向下结合自底向上结合自底向上结合自顶向下结合方式举例自顶向下结合方式举例: :ADBE模块测试模块测试结合顺序结合顺序CF深度优先深度优先: :A、B、E、C、D、F广度优先广度优先: :A

47、、B、C、D、E、F自顶向下结合方式举例自顶向下结合方式举例: :( (深度优先深度优先) )A测试测试 AS2S2S1S1S3S3A加入加入BS2S2BS3S3S4S4A加入加入ES2S2BS3S3EA加入加入CCBS3S3E加入加入DCBDE加入加入FCBDEAAFS5S5自底向上结合方式举例自底向上结合方式举例: :A AC CB BD DF FE EE Ed d1 1C Cd d3 3F Fd d4 4B Bd d2 2E ED Dd d5 5F F自底向上结合方式举例自底向上结合方式举例: :McD1MaMbD2D3簇簇1 1簇簇2 2簇簇3 3自顶向下自顶向下自底向上自底向上 优点

48、优点可在测试早期可在测试早期 实现并验实现并验证系统主要功能证系统主要功能设计测试用例容易设计测试用例容易 缺点缺点不需驱动模块不需驱动模块需桩模块需桩模块不需桩模块不需桩模块 只有到最后程序才能作为只有到最后程序才能作为一个整体一个整体确认确认测试测试软件配软件配置审查置审查主管部主管部门批准门批准集成的软件集成的软件软件需求软件需求用户文档用户文档设计文档设计文档源程序源程序测试文档测试文档交付的交付的软软 件件确认的确认的软软 件件确认的确认的配配 置置(Stress Test)Spike testing:短时间的极端负载测试Extreme testing:在过量用户下的负载测试Hamm

49、er testing:连续执行所有能做的操作 关注点:how much和how fast关注点:how much 关注点:how much(而不是how fast)Volume Testing = Large amounts of dataLoad Testing = Large amount of usersStress Testing = Too many users, too much data, too little time and too little room200斤情况下,是否能坚持5分钟。200,300,400.斤情况下,他的表现,什么时候失败,失败之后什么表现,重新扛200

50、是否正常?在坚持5分钟的情况下,他一次最多能扛多少斤? 用户注册、登录、信息提交等。 Cookies是否起作用? 是否按预定的时间进行保存? 刷新对Cookies有什么影响?等等 是否易于导航?是否易于导航? 导航是否直观?导航是否直观? WebWeb系统的主要部分是否可通过主页存取?系统的主要部分是否可通过主页存取? WebWeb系统是否需要站点地图、搜索引擎或其他的导航帮助?系统是否需要站点地图、搜索引擎或其他的导航帮助? - - 要确保图形有明确的用途,图片或动画不要胡要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。乱地堆在一起,以免浪费传输时间。 - - 验证所

51、有页面字体的风格是否一致。验证所有页面字体的风格是否一致。 - - 背景颜色应该与字体颜色和前景颜色相搭配。背景颜色应该与字体颜色和前景颜色相搭配。 - - 图片的大小和质量也是一个很重要的因素,一图片的大小和质量也是一个很重要的因素,一般采用般采用JPGJPG或或GIFGIF压缩。压缩。 - - 当用户浏览当用户浏览WebWeb应用系统时是否感到舒适?应用系统时是否感到舒适? - - 是否凭直觉就知道要找的信息在什么地方?是否凭直觉就知道要找的信息在什么地方? - - 整个整个WebWeb应用系统的设计风格是否一致?应用系统的设计风格是否一致?测试有效和无效的用户名和密码,要注意到是否大测试

52、有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登录小写敏感,可以试多少次的限制,是否可以不登录就能直接浏览某个页面就能直接浏览某个页面 等等。等等。例如:用户登录后在一定时间内(例如例如:用户登录后在一定时间内(例如1515分钟)分钟)没有点击任何页面,是否需要重新登录才能正常没有点击任何页面,是否需要重新登录才能正常使用。使用。 不符合用户操作习惯; 不够专业,缺乏基本知识,而又没有高手检查; 界面中英文混杂,经常弹出莫名其妙的信息,而且还拼错单词; SETUP界面:CopyRight 1994-1996;缺省认为用户使用某种分辨率; 说明书或帮助的排版格式

53、不专业; 程序名/路径名是程序员的名字、或没有安装程序、或安装程序不完善(丢掉一些必要的模块或文件); 界面元素参差不齐,文字不能完全显示,TAB时鼠标乱走。 输入无合法性检查和值域检查,允许用户输入错误的数据类型,并导致不可逆料的后果; 界面中的信息不能及时更新,不能正确反映数据状态,甚至对用户产生错误的误导。如:数据库中剩余记录个数;参数设置对话框中的预设值。 表达不清或过于模糊的信息提示; 要求用户输入多余的、本来系统可以自己得到的数据。如:服务是否启动,安装后用户要手动修改某些配置文件; 为了达到某个设置或对话框,用户必须做许多冗余操作。如:对话框嵌套层次太多; 不能记忆用户的设置或操

54、作习惯,用户每次进入都需要重新操作一次初始环境; 使用不完善的功能且不给用户以恰当的提示,如:对于TIF图片的不完全支持;Undo功能的局限性;不可重现的死机,或不断申请但不完全释放资源,系统性能越来越低主系统和子系统使用同样的临界资源而互相不知道。如:使用同样的类名或临时文件名、使用同样的数据库字段名或登录帐号。不能重现的错误,许多与代码中的未初始化变量(在Debug时一般是缺省初始化的)有关,有些与系统不检查异常情况(如内存申请不成功、网络突然中断或长时间没有响应)有关。 文档匮乏:无标准;无新功能使用方法;无版本改动说明;运行时不检查内存、数据库或硬盘空间等;提供的版本带病毒,或根本无法

55、安装,或没有加密;提供Debug版本给测试组或测试用户,或项目组与测试组使用不同版本;用户现场开发和修改,又没有记录和保留;错误反复出现,改动得不彻底、或版本管理出现混乱;错误越改越多,改动得不彻底、或改动得不小心;有些选项永远是灰的;有些选项、菜单项在该灰时还不灰,并且还能状态显示;修改Bug的人考虑得不够周全,也可能是没有能力考虑周全-问题留给测试组去发现的心态-自己不会用,不了解产品的用法。更多地从用户使用的角度考虑设计、编码与测试。 1) 软件或项目的名称2) 软件或项目的版本(内部版本号)3) 功能模块名4) 用例的简单描述,即该用例执行的目的或方法5) 测试用例的参考信息(便于跟踪和参考)6) 本测试用例与其他其他测试用例间的依赖关系7) 本用例的前置条件,即执行本用例必须要满足的条件,如对数据库数据库的访问权限8) 用例的编号(ID),如可以是软件名称简写-功能块简写-NO.。9) 步骤号、操作步骤描述、测试数据描述10) 预期结果(这是最重要的)和实际结果(如果有BUG管理工具,这条可以省略)11)开发人员(必须有)和测试人员(可有可无)12)测试执行日期以一个B/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论