软件工程软件测试_第1页
软件工程软件测试_第2页
软件工程软件测试_第3页
软件工程软件测试_第4页
软件工程软件测试_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、软件测试,第5章,5.1软件测试的基本概念,一、软件测试的目的和重要性由于在开发工作的早期阶段不可避免地会引入错误,所以测试的目的是发现和纠正错误,这对于一些涉及人类生命安全或重要的军事和经济目标的项目尤其重要。1963年,美国飞往火星的火箭爆炸了,因为FORTRAN程序:DO 5 I=1,3被错误地写成:DO 5 I=1。损失了1000万美元。1967年,苏联的“联盟1号”宇宙飞船在返回时烧毁,因为它忽略了小数点,进入大气层时无法打开降落伞。2.软件测试的特点1。据Boehm统计,软件测试成本很高,软件测试成本约占总成本的30%-50%。例如,APPOLLO登月计划的80%用于软件测试。2.

2、软件测试结论3的特征。软件测试是困难的根据上面的分析,因为不可能进行彻底的测试并找出尽可能多的错误,所以软件测试是困难的。只选择“高效测试用例”,什么是“高效测试用例”?如何选择“高效的测试用例”?这是本章讨论的主要问题!3.软件测试的基本原则。在测试中充分注意聚类。1.尽量不要被程序员测试。2.关键是要注意测试用例的选择。输入数据(输入数据和预期输出结果)的构成包括合理的输入数据和不合理的输入数据。用例可以检查应该完成的任务和不应该完成的任务。测试用例的长期保存。软件测试方法分为两类:静态分析和动态测试。首先,静态分析是指通过手动和非正式的方法来分析和测试程序。在前台和步行检查代码时,经常使

3、用以下分析方法:调用图从语义的角度检查程序的控制路线。数据流分析图检查分析变量的定义和引用。调用图,无论Y值是多少,都不能调用子程序。ready,y0,n,x:=y,x0,y,n,y,调用子程序,A,B,C,D,E,也就是说,在执行ABC之后,不可能执行路径CDE。第二,动态测试方法(1),通过选择合适的测试用例,执行程序。常用方法:1。白盒分析程序的内部逻辑结构,注意选择合适的覆盖标准,设计测试用例,并尽可能测试主要路径。2.黑盒方法不考虑程序的内部结构和特征,只根据程序的功能或外部特征设计测试用例。白盒方法,也称为逻辑覆盖方法,它的测试用例选择是根据不同的覆盖标准来确定的。句子覆盖、判断覆

4、盖、条覆盖、判断条覆盖、条组合覆盖、弱、强、语句覆盖:选择足够的测试用例,以便程序中的每个语句至少可以执行一次。决策覆盖:执行足够多的测试用例,这样程序中的每个决策至少可以得到一个“真”值和一个“假”值。条件覆盖:执行足够多的测试用例,以便判断中的每个条件都能得到各种可能的结果。判断/条件覆盖:执行足够多的测试用例,这样判断中的每个条件都可以得到各种可能的值,每个判断都可以得到各种可能的结果。条件组合覆盖:执行足够多的示例,以便所有可能的条件组合在每个判断中至少出现一次。覆盖标准常用于白盒法,白盒法步骤:例:用白盒法测试以下程序:程序(VAR A,b,x:实);如果(A1)和(B=0)开始,则

5、X :=X/A;如果(A=2)或(X1),则X:=X 1结束;1)选择逻辑覆盖标准。2)根据覆盖标准列出所有情况。3)选择并确定测试用例。4)验证分析结果和预期结果。逻辑结构、白盒方法示例、程序(var a、b、x : real);如果(A1)和(B=0)开始,则X :=X/A;如果(A=2)或(X1),则X:=X 1结束;1,语句覆盖率,这样程序中的每个语句至少可以执行一次。、a1和b=0、x:=x/a、a=2orx1、x:=x 1、a、b、c、d、e,满足TRUE语句覆盖率:执行路径:ace,选择use FALSE: (2、0、0、a1和b=0、x:=x/a、a=2orx1、x:=x 1、

6、a、b、c、d、e,覆盖率:应执行ace abd或:acd abe路径,并应执行用例(一个,应满足以下覆盖条件:判断一: A1,A1,B=0,B0判断二: A=2,A2,X1,X1,X1,选择用例:(2,0,4),(2,0,3) (1,1,1),(1,1,1)请注意, (1,0,3),(1,0,4) (2,1,1)和(2,1,2)满足条件覆盖,但不满足判断覆盖。4,判断/条件覆盖,同时满足判断覆盖和条件覆盖。ace abd b=0、x:=x/a、a=2orx1、x:=x 1、A、B、c、d、e,应满足以下覆盖条件:条件: A1、A1、b=0、B0 A=2、A2、x1、X1 0、4)、(2、0、

7、3) (ace) (1、1、1)、(1、1) (Abd)、y、y、n、n、5、条件组合覆盖,以便出现所有可能的条件组合、a1、x:=x/a、a=2、x:=x 1、a、b、C、d、e、b=0、x 1、y、n、y、n、y,满足以下覆盖条件:a1、b=0a1、b0a1、b=0a1、b0a=2、x1a=2、x1a2、x1a2、x1,选择用例:(2,0,4)、(2,0,3) (2,1,1)、(2,1,启动输入(a,b,1)那么z=30否则z=3结束如果打印(x,y,z)停止,有8个可能的执行路径。三个判断表达式的值依次为假、假、假:输入期望输出:X=1,Y=2,Z=3;三个判断表达式的值依次为假、假、真

8、;输入:A=2,B=3,c=23预期输出:X=1,Y=2,Z=30依次为假、真、假;输入:A=3,B=12,c=6;预期输出:X=1,Y=20,Z=3;三个判断表达式的值依次为假、真、真;输入:A=4,B=13,c=16预期输出:X=1,Y=20,Z=30依次为真、假、假;输入:A=6,B=7,c=9;预期输出:X=10,Y=2,Z=3;三个判断表达式的值依次为真、假、真;输入:A=8,B=8,c=18预期输出:X=10,Y=2,Z=30三个判断表达式的值依次为真、真、假;输入:A=10,B=12,c=6;预期输出:X=10,Y=20,Z=3;三个判断表达式的值依次为真、真、真;输入:A=11

9、,B=14,c=57预期输出:X=10,Y=20,Z=30。第二,动态测试法(2)、等价分类法、边界值分析法、误差和误差推测法和结果图法。第二,黑盒方法没有考虑程序的内部结构和特征,只根据程序的功能或外部特征设计测试用例。等价分类,基本思想:根据程序的输入输出特性,将程序的领域划分为有限数量的等价类,从等价类中选择的用例具有代表性。等价类分为:有效等价类是程序规范的一组合理且有意义的输入数据。无效等价类对于程序规范来说是不合理的,它是无意义输入数据的集合。等价分类的步骤应根据输入条件(如输入值的范围、值的数量、值的集合以及输入条件必须是什么)分为有效等价类和无效等价类。例如,每个学生可以选修1

10、-3门课程,并且可以分成一个有效的等价类:选修1-3门课程。它可以分为两个无效等价类:没有选修课,超过三门选修课。标识符的第一个字符必须是字母。它可以分为一个有效的等价类:第一个字符是一个字母。您可以划分一个无效的等价类:第一个字符不是字母。划分“等价类”,显然,关键是如何划分等价类、a、号各等价类;让一个测试用例覆盖尽可能多的有效等价类。特别注意:一个测试用例只能覆盖一个无效的等价类。选择测试用例,等价分类步骤,如何划分等价类?有效等价类(合理等价类)无效等价类(不合理等价类),(1)如果输入条件指定了值域,则可以定义一个有效等价类和两个无效等价类。输入值是学生等级,范围为0 100、010

11、0、有效等价类0等级100、无效等价类等级100、无效等价类等级0、(2)如果输入条件代表集合的元素,则可以定义有效等价类和无效等价类。(3)如果指定了一组输入数据值,并且程序不同地对待不同的输入值,则每个允许的输入值都是有效的等价类,并且存在无效的等价类(所有不允许的输入值的集合)。示例:如果输入条件表明教育背景可以是:专科、本科、硕士和博士学位中的一个,这四个值将分别被视为四个有效的等价类,除了这四个资格之外的任何教育背景都将被视为无效的等价类。(4)如果指定了输入数据必须遵循的规则,则可以确定一个有效等价类(符合规则)和几个无效等价类(从不同角度违反规则)。(5)如果被划分的等价类的元素

12、在程序中被不同地处理,则等价类应该被进一步划分成更小的等价类。使用等价类划分方法设计测试用例:(1)形成等价类表,每个等价类指定一个唯一的数字;(2)设计一个测试用例来覆盖尽可能多的有效等价类,并重复这个步骤,直到所有有效等价类都被测试用例覆盖;(3)设计一个新的测试用例,只覆盖一个无效等价类,并重复这个步骤,直到覆盖所有无效等价类;示例:报表处理系统要求用户输入处理报表的日期,日期限制为2003年1月至2008年12月,即系统只能在此期间内处理报表,如果日期不在此范围内,将显示输入错误消息。系统日期指定由年和月的6位数字组成,前4位数字代表年,后两位数字代表月。如何用等价类划分方法设计测试用

13、例来测试程序的数据检查功能?输入条件有效等价类无效等价类、报告日期类型和长度,6位数字(1),非数字字符(4)小于6位数字字符(5)大于6位数字字符(6),年份范围,2003年到2008年(2),小于2003年(7)且大于2008年(8)“报告日期”输入条件的等价类表小于1 (9)且大于12 (10)。步骤2:为有效的等价类设计测试用例,预期覆盖测试数据、200306,等价类(1)、(2)和(3)。输入有效,对于表中编号为1、2和3的三个等价类有效(1)6位数字字符(2)2003年至2008年(3)月112年。步骤3:为每个无效等价类设计至少一个测试用例,预期结果覆盖测试数据、003可能,等价

14、类(4),无效输入,20035,等价类(5)。等效类(7),无效输入,200905,等效类(8),无效输入,200300,等效类(9),无效输入,200313,等效类(10),无效输入,不能出现相同的测试用例。本例中的10个等价类至少需要8个测试用例。2.边,分析步骤:a,先划分等价类。选择测试用例,测试等价类边界。边界选择原则:a、根据输入值范围的边界。b、显示输入/输出值的边界数。输出范围的边界。输入/输出有序集的边界。a,显示输入值范围的边界。例如,如果输入值的范围是-1.0到1.0,可以选择用例1.0、1.0、-1.001和1.001。b、显示输入/输出值的边界数。例如,如果输入文件可以有1-255条记录,那么设计案例:文件中的记录数是0、1、255和256。输出范围的边界。例如,最多搜索4个摘要。设计用例:可以检索0、1、4和5(错误)。输入/输出有序集的d边界(如顺序文件和线性表)。应该选择第一个元素和最后一个元素。边值分析的例子,3,错误推断方法,凭经验或直觉猜测可能的错误,列出程序中可能的错误和容易出错的特殊情况,并选择测试用例。输入条件被视为“原因”,输出条件被视为“结果”,黑盒被视为从原因到结果的网络图,并且功能规范中输入条件和输出的各种组合之间的关系以逻辑图的形式表达。根据这种关系,可以选择有效的测试用例。因

温馨提示

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

评论

0/150

提交评论