软件测试.ppt_第1页
软件测试.ppt_第2页
软件测试.ppt_第3页
软件测试.ppt_第4页
软件测试.ppt_第5页
已阅读5页,还剩135页未读 继续免费阅读

下载本文档

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

文档简介

第3章软件测试基本技术,3.1黑盒测试与白盒测试3.2白盒测试技术3.3黑盒测试技术,3.1黑盒测试与白盒测试,任何工程产品都可以使用白盒测试和黑盒测试两种方法之一进行测试。1黑盒测试黑盒测试:已知产品的功能设计规格和用户手册,可以进行测试证明每个功能是否实现、每个实现了的功能是否符合要求,以及产品的性能是否满足用户的要求。,黑盒测试主要是为了发现以下几类错误:1.是否有不正确或遗漏的功能?2.在接口上,输入是否能正确的接受?能否输出正确的结果?3.是否有数据结构错误或外部信息(例如数据文件)访问错误?4.性能上是否能够满足要求?5.是否有初始化或终止性错误?,2白盒测试白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。软件的白盒测试是对软件的过程性细节做细致的检查,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。,白盒测试须对程序模块进行如下检查:1.保证一个模块中的所有独立路径至少被使用一次2.对所有逻辑值均测试true和false。3.在循环的边界和运行的界限内执行循环体。4.检查内部数据结构以确定其有效性。,黑白盒测试的关系,辩证统一,相互依赖而存在,相互对立又相互补充。,3.2白盒测试技术,白盒测试是一种被广泛使用的逻辑测试方法,也称为结构测试或逻辑驱动测试。白盒测试对象基本上是源程序,是以程序的内部逻辑为基础的一种测试方法。,了解软件内部结构有利于测试,静态白盒测试,程序的静态测试是在不执行程序的条件下,有条理地仔细审查软件设计、体系结构和代码,从而找出软件错误的过程。可尽早发现软件缺陷(开发初期),找到动态黑盒测试难以发现或者隔离的软件缺陷(测试后期)。也可为不了解代码细节的黑盒测试员提供思路。,正式审查基本要素,确定问题遵守规则准备编写报告,正式审查的隐含优点,交流(经验交流非正式)质量(有利于提高程序员的编码质量)小组同志化(不同角色间相互了解、尊敬)解决方案(非正式讨论解决方案),同事审查,同事审查常常仅在编写代码的程序员和充当审查者的其他12个程序员和测试员之间进行。,正式审查同事审查,方式:小组讨论各抒己见成员:代码作者,其他程序员,测试员内容:一起审查代码,寻找问题和失误特点:要求最低的正式审查,正式审查公开陈述Walkthrough,代码走查是由编写代码的程序员像其他程序员或者测试员组成的小组作正式陈述。走查小组按照所提交的测试用例,模仿计算机运行一遍,并记录跟踪情况。经过讨论分析后,找出软件的错误。,正式审查公开陈述,方式:代码作者向审查小组正式表述,审查者提问质疑成员:至少一位资深程序员内容:逐行通读代码,解释代码如何工作以及为什么,提交报告报告内容:所发现的问题,及其计划解决方案,正式审查检验Inspection,最正式的审查类型,具有高度的组织化。与走查不同之处是表述者不是原来的程序员。审查小组按照各自的职责,从不同角度审查产品。,正式审查检验,方式:非代码作者表述程序,成员:检验员内容:不同角度审查代码,甚至从尾到头报告:明确解决问题所必需的重做工作程序员:修改检验员:重新检验发现新缺陷,编码标准和规范,规范:建议最佳做法、推荐和更好的方式标准:没有例外情况,是结构严谨的法律公文的缩影,坚持标准规范的原因,可靠性:按标准编写的代码更可靠,缺陷更少可读性/维护性:符合标准的代码易读易理解移植性:,标准所包含的4个要素,标题:标准包含的主题标准:标准的内容,解释哪些允许哪些不允许解释说明:标准背后的原因,以使程序员理解为什么这是好的编程习惯示例:给出如何使用标准的简单示例,编程风格,编程者的编写习惯,特色。在符合6标准或规范的前提风格的静态表现:注释的冗长程度变量命名习惯循环结构的选择,获取标准,美国国家标准协会ANST国际工程协会(IEC)国际标准化组织(ISO)信息技术标准国家委员会(NCITS)计算机械联合会(ACM)电子电气工程学会(IEEE),静态结构分析法,在代码审查时,将以往所有可能发生的常见错误罗列出来,供与会者对照检查,从而提高会审效率。数据引用错误数据声明错误计算错误比较错误控制流程错误子程序参数错误输入/输出错误,数据引用错误,未正确初始化和引用方式不正确为初始化的变量数组和字符串下标是否整数数组下标的起始值是什么,是否漏掉常量被用作变量变量是否被赋予了不同类型的值是否为引用的指针分配内存一个数据结构是否在多个函数或子程序中引用,是否在每一个应用中明确定义结构,数据声明错误,不正确的声明和引用变量或常量所有变量赋值:长度、类型变量是否在声明时初始化变量是否有相似的名称是否存在声明过单位被引用过的变量特定模块中所有变量是否显示声明,计算错误,是否使用了不同数据类型的变量,如整数与浮点数相加?是否使用了数据类型相同但字节长度不同的变量?是否考虑到编译器对类型或长度不一致的变量的转换规则?赋值的目的变量是否小于赋值表达式的值?在数值计算过程中是否可能出现溢出?除数或模是否可能为零?对于整型算术运算或某些计算是否会丢失精度?变量的值是否超过有意义的范围?对于包含多个操作的表达式,运算优先级对吗?需要加括号吗?,比较错误,小于、大于、等于、不等于、真、假边界问题比较的结果是否正确分数或浮点数之间的比较,存在精度问题,是否影响比较结果每个逻辑表达式是否都正确表达逻辑表达式的操作数是否逻辑值,控制流程错误,由于循环等控制结构未按预期方式工作Begin与End是否对应程序模块子程序循环是否能终止是否存在死循环是否存在从不执行的循环switch语句的分支与索引变量个数是否一致是否存在“丢掉一个”错误,导致以外进入循环,子程序参数错误,参数传递错误子程序接收的参数是否匹配若子程序有多个入口点,引用参数是否与当前入口无关常量是否当作形参传递,被子程序改动全局变量在各模块中是否定义、属性相同,输入/输出错误,文件读取、接受键盘鼠标输入,向打印机屏幕等输出设备写入错误是否遵守外设的读写格式文件或外设为准备好软件对外设异常是否有处理软件是否按预期方式处理预计错误检查错误信息的准确性、正确性、语法和拼写,其他检查,是否使用其他语种是否要移植到其他编译器和cpu上运行是否考虑软硬件兼容问题编译时是否有警告信息,3.2.2程序插桩技术在软件动态测试中,程序插桩是一种基本的测试手段,有着广泛的应用。程序插桩方法是借助往被测程序中插入操作,来实现测试目的的方法,即向源程序中添加一些语句,实现对程序语句的执行、变量的变化等情况进行检查。,插桩后求最大公约数程序的流程图,设计插桩程序时需要考虑的问题包括:探测哪些信息;在程序的什么部位设置探测点;需要设置多少个探测点;如何在程序中特定部位插入某些用以判断变量特性的语句。,3.2.3逻辑覆盖逻辑覆盖也是白盒测试主要的动态测试方法之一,是以程序内部的逻辑结构为基础的测试技术,是通过对程序逻辑结构的遍历实现程序的覆盖,这一方法要求测试人员对程序的逻辑结构有清楚的了解从覆盖源程序语句的详细程度分析,逻辑覆盖标准有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖。,语句覆盖,语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次语句覆盖的方法似乎能够比较全面地检验每一个可执行语句。但需要注意的是,它是最弱的逻辑覆盖。,语句覆盖的例子,if(A1)(B=0)A=A+B;if(A=3)(X1)X=X+1;,(A,B,X):(3,0,2)-(3,0,3),判定覆盖,判定覆盖是指设计测试用例,使得程序中每一个判断的取真分支和取假分支都至少能够执行一次。不能保证一定能查出在判断的条件中存在的错误,判定覆盖的例子,(3,0,2),覆盖ace,(1,1,0),覆盖abd,if(A1)(B=0)A=A+B;if(A=3)(X1)X=X+1;,条件覆盖,条件覆盖是指设计测试用例,使得程序中每一个判断的每个条件的可能取值至少执行一次。某些用例可能只覆盖了某个判断的某个分支,不能满足判定覆盖的要求,(1,0,2)覆盖F1T2F3T4(3,1,1)覆盖T1F2T3F4,条件覆盖的例子,abe,abe,其他逻辑覆盖,1、条件判定组合覆盖使得判断中每个条件的所有可能取值至少执行一次,同时每个判断本身的所有可能判断结果至少执行一次。但某些条件可能掩盖另一些条件。2、条件组合覆盖使得每个判断的所有可能的条件取值的组合至少执行一次。但可能有的路径会遗漏掉。,条件组合覆盖的例子,(3,0,2)L1(3,1,1)L3(1,0,2)L3(1,1,1)L2,测试覆盖准则对于a?b,应适当选择a、b,使,=分别执行一次;对于aC,应选择a=C+M,其中M为数据类型的最小单位;对于外部变量,每一测试用例中赋予其不同的值和符合,3.2.4基本路径测试法基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每一条可执行语句至少执行一次。,路径测试的例子,(3,0,3)(1,1,1)(1,1,3)(2,0,1),1程序的控制流图控制流图是描述程序控制流的一种图示方式。,程序流程图和对应的控制流图,复合逻辑下的控制流程图,if(aandb)thenxelsey,2基本路径测试法的步骤(1)画出程序控制流图(2)计算程序环路复杂性独立路径,是指至少引入一个新处理语句或新判断的一条路径。程序的环路复杂性给出了程序基本路径集合中的独立路径条数。程序环路复杂性是确保程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。,通常环路复杂性可用以下3种方法求得。将环路复杂性定义为控制流图中的区域数。设E为控制流图的边数,N为图的结点数,则定义环路的复杂性为V(G)=EN+2。若设P为控制流图中的判定结点数,则有V(G)=P+1。,程序流程图,控制流程图,P1:4-14P2:4-6-7-14P3:4-6-8-10-13-4-14P4:4-6-8-12-13-4-14,4,7,6,13,12,10,8,14,控制流程图,(3)确定独立路径集合,P1:4-14P2:4-6-7-14P3:4-6-8-10-13-4-14P4:4-6-8-12-13-4-14,P1:4-14输入:Ir=0的某个值预期输出:x=0P2:4-6-7-14输入:Ir=1,It=0预期输出:x=2P3:4-6-8-10-13-4-14输入:Ir=1,It=1预期输出:x=10P4:4-6-8-12-13-4-14输入:Ir=1,It=2预期输出:x=20,(4)准备测试用例,3.基本路径测试中的图形矩阵工具图形矩阵是在基本路径测试中起辅助作用的软件工具,利用它可以实现自动地确定一个基本路径集。,流程图,矩阵图,用链接权重替代交叉点值的字母,矩阵就可以成为评估测试中控制结构的有效工具,替换后的矩阵图,1和0表示连接存在,字母被替换为1,3.2.6白盒测试应用策略以下是各种白盒测试方法的综合应用策略,可供在实际测试应用过程中参考。(1)在测试中,应尽量先使用工具进行静态结构分析。(2)测试中可采取先静态后动态的组合方式:先进行静态结构分析、代码检查,再进行覆盖率测试。,(3)利用静态分析的结果作为导引,通过代码检查和动态测试的方式对静态发现结果进行进一步的确认,使测试工作更为有效。(4)覆盖率测试是白盒测试的重点,一般可使用基本路径测试法达到语句覆盖标准;对于软件的重点模块,应使用多种覆盖率标准衡量代码的覆盖率。,(5)在不同的测试节点,测试的侧重点不同:在单元测试阶段,以代码检查、逻辑覆盖为主;在集成测试阶段,需要增加静态结构分析等;在系统测试阶段,应根据黑盒测试的结果,采取相应的白盒测试。,3.3黑盒测试技术,黑盒测试也称数据驱动测试。在黑盒测试过程中,只是通过输入数据、进行操作、观察输出结果,来检查软件系统是否按照需求规格说明书的规定正常使用,软件是否能适当地接收输入数据而产生正确的输出信息,并保持外部信息的完整性。,3.3.1功能测试1.等价类划分法等价类划分是一种典型的、常用的黑盒测试方法:是把所有可能的输入数据划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。,使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。划分等价类等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。测试某等价类的代表值就等价于对这一类其它值的测试。,等价类划分,有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。注意:在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。,等价类的划分的两种不同情况,划分等价类的方法如下:按区间划分按数值划分按数值集合划分按限制条件划分按限制规则划分按处理方式划分,划分等价类等价类的原则(一)按区间划分,(1)如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类。例如,在程序的规格说明中,对输入条件有一句话:“项数可以从1到999”则有效等价类是“1项数999”两个无效等价类是“项数1”或“项数999”。在数轴上表示成:,划分等价类等价类的原则(二)按数值划分,(2)如果输入条件规定了输入值的集合,或者是规定了“必须如何”的条件,这时可确立一个有效等价类和一个无效等价类。例如,在Pascal语言中对变量标识符规定为“以字母打头的串”。那么所有以字母打头的构成有效等价类,而不在此集合内(不以字母打头)的归于无效等价类。,划分等价类等价类的原则(三)按数值集合划分,(3)如果规定了输入数据的一组值,而且程序要对每个输入值分别进行处理。这时可为每一个输入值确立一个有效等价类,此外针对这组值确立一个无效等价类,它是所有不允许的输入值的集合。例如,在教师上岗方案中规定对教授、副教授、讲师和助教分别计算分数,做相应的处理。因此可以确定4个有效等价类为教授、副教授、讲师和助教,一个无效等价类,它是所有不符合以上身分的人员的输入值的集合。,划分等价类等价类的原则(四)按限制条件划分,(4)如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类。,划分等价类等价类的原则(五)按限制规则划分,(5)如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。例如,Pascal语言规定“一个语句必须以分号;结束”。这时,可以确定一个有效等价类“以;结束”,若干个无效等价类“以:结束”、“以,结束”、“以结束”、“以LF结束”等。,划分等价类等价类的原则(五)按处理方式划分,在确知已划分的等价类中个元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。,在确立了等价类之后,建立等价类表,列出所有划分出的等价类,如表3-1所示。,再从划分出的等价类中按以下原则选择测试用例。为每一个等价类规定一个惟一的编号。设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类;重复这一步骤,直到所有的有效等价类都被覆盖为止。设计一个新的测试用例,使其仅覆盖一个无效等价类,重复这一步骤,直到所有的无效等价类都被覆盖为止。,例子,1个函数包含3个变量:month、day和year,函数的输出为输入日期后一天的日期。例如,输入为2009年3月30日,则输出为2009年3月31日。要求输入变量month、day和year均为整数值,并满足条件:1month121day311920year2050,确定等价类表、设计测试用例,下面选取了7个测试用例,它们覆盖了所有的等价类。2009.3.30(1),(2),(5),(6),(9),(10)2009.0.1;(3)2009.13.1;(4)2009.3.0;(7)2009.3.32;(8)1919.3.1(11)2051.3.1(12),确立测试用例,2.边界值分析法边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。边界值分析法是通过选择等价类边界的测试用例进行测试。边界值分析法与等价类划分法的区别是边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。,测试员必须了解的边界,2的幂,测试员必须了解的边界,ASCII码,3.错误推测法基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法,这就是错误推测法。错误推测法的基本想法是:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。,4.因果图法因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。,(1)分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。(2)分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系?根据这些关系,画出因果图。,用因果图生成测试用例的基本步骤,(3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。(4)把因果图转换成判定表。(5)把判定表的每一列拿出来作为依据,设计测试用例。,因果图中使用的基本符号:,在因果图中,用Ci表示原因结点,用Ei表示结果结点。结点状态,可取值“0”或“1”。“0”表示某状态不出现,“1”表示某状态出现。符号包括两类:表示原因和结果之间关系的符号表示约束条件的符号,表示原因和结果之间关系的符号:,表示原因和结果之间关系的符号:,1.恒等:表示原因与结果之间一对一的对应关系。若原因出现,则结果出现;若原因不出现,则结果也不出现。2.非:表示原因与结果之间的一种否定关系。3.或:表示若几个原因中有一个出现,则结果出现;只有当这几个原因都不出现时,结果才不出现。4.与:表示若几个原因都出现,结果才出现;若几个原因中有一个不出现,结果就不出现。,表示约束条件的符号:,表示约束条件的符号:,E(互斥):表示a,b两个原因不会同时成立,两个中最多有一个可能成立。I(包含):表示a或b两个原因中至少有一个必须成立。O(唯一):表示a,b当中必须有一个,且仅有一个成立。R(要求):表示当a出现时,b必须也出现。不可能a出现,b不出现。M(屏蔽):表示当a是1时,b必须是0,而当a为0时,b值不定。,举例:自动饮料售货机,说明:两种饮料:橙汁和啤酒,价格:每杯5角钱;若投入5角钱或1元钱的硬币,按下橙汁或啤酒的按钮,则相应的饮料就送出来。若售货机没有零钱找,则显示零钱找完的红灯亮,这时在投入1元硬币并按下按钮后,饮料不送出来,而且1元硬币也退还出来;若售货机有零钱找,则显示零钱找完的红灯灭,这时在投入1元硬币并按下按钮后,在送出饮料的同时退还5角硬币。,举例:自动饮料售货机,1)分析这一段说明,列出原因(条件)和结果:原因:1.售货机有零钱找2.投入1元硬币3.投入5角硬币4.按下橙汁按钮5.按下啤酒按钮结果:21.售货机“零钱找完”灯亮22.退还1元硬币23.退还5角硬币24.送出橙汁饮料25.送出啤酒饮料,举例:自动饮料售货机,画出因果图。所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示中间结果:11.投入1元硬币且按下按钮12.按下橙汁按钮或啤酒按钮13.应找5角零钱且售货机有零钱找14.钱已付清由于2与3,4与5不能同时发生,分别加上约束条件E。因果图转换成判定表。在判定表中选择测试用例。,举例:自动饮料售货机,举例:自动饮料售货机,5.场景法现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。,用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有基本流和备选流。1基本流和备选流如图3-17所示,图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的色彩表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2和4)。,图3-17基本流和备选流,2场景法设计步骤根据说明,描述出程序的基本流及各项备选流;根据基本流和各项备选流生成不同的场景;对每一个场景生成相应的测试用例;对生成的所有测试用例重新复审,去掉多余的测试用例,测试用例确定后,对每一个测试用例确定测试数据值,6.判定表驱动法判定表(DecisionTable)是分析和表达多逻辑条件下执行不同操作的情况下的工具。在程序设计发展的初期,判定表就已被当作编写程序的辅助工具了。由于它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确,能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,在一些数据处理问题当中,若某些操作的实施依赖于多个逻辑条件的组合,判定表通常由四个部分组成,如图3-18所示。条件桩:列出了问题的所有条件,通常认为列出得条件的次序无关紧要。动作桩:列出了问题规定可能采取的操作,这些操作的排列顺序没有约束。条件项:列出针对条件的取值,在所有可能情况下的真假值。具体项:列出在条件项的各种取值情况下应该采取的动作。,图3-18判定表四个组成部分,生成条件表的规则如下:规则:任何一个条件组合的特定取值及其相应要执行的操作称为规则。在判定表中贯穿条件项和动作项的一列就是一条规则。显然,判定表中列出多少组条件取值,也就有多少条规则,既条件项和动作项有多少列。化简:就是把有两条或多条具有相同的动作,并且其条件项之间存在着极为相似的关系的规则合并。,判定表的建立步骤:确定规则的个数,假如有n个条件,每个条件有两个取值(0,1),故有n种规则;列出所有的条件项和动作项;填入条件取值;填入集体动作,得到初始判定表。简化,合并相似规则(相同动作)。,适合使用判定表设计测试用例的条件:规格说明以判定表形式给出,或很容易转换成判定表。条件的排列顺序不会也不影响执行哪些操作。规则的排列顺序不会也不影响执行哪些操作。每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要。,7.正交试验法正交实验设计方法:是依据Galois理论,从大量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法。类似的方法有:聚类分析方法,因子方法方法等。,正交试验法常使用下面2个术语:因子:影响实验指标的条件称为因子。因子的状态:影响实现因子的条件。,利用正交实验设计测试用例的步骤提取功能说明,构造因子-状态表加权筛选,生成因素分析表利用正交表构造测试数据集,8.功能图法功能图法是用功能图形象地表示程序的功能说明,并机械地生成功能图的测试用例,功能图方法是一种黑盒白盒混合用例设计方法。程序功能说明包括动态说明和静态说明。动态说明:描述输入数据的次序或转移次序。静态说明:描述输入条件和输出条件之间的对应关系。,功能图:功能图模型由状态迁移图和逻辑功能模型构成。状态迁移图:用于表示输入数据序列以及相应的输出数据;由输入数据和当前状态决定输出数据和后续状态。逻辑功能模型:用于表示在状态中输入条件和输出条件的对应关系。由输入数据决定输出数据。此模型只适用于描述静态说明。,状态转换图,功能图生成测试用例步骤如下:生成局部测试用例:在每个状态中,从因果图生成局部测试用例;测试路径生成:利用上面的规则生成从初始状态到最后状态的测试路径;测试用例合成:合成测试路径与功能图中每个状态的局部测试用例。结果是初始状态到最后状态的一个状态序列,以及每个状态中输入数据与对应输出数据的组合;采用条件构造树测试用例的合成算法。,3.3.2非功能测试1.强度测试(压力测试)强度测试是验证软件的性能在各种极端的周边环境和系统条件下是否能正常工作。这里所谓“强度”包括了两项:一项是超载运行测试,另一项是容量测试。,2.性能测试(负载测试)性能测试通常是验证软件的性能在正常环境和系统条件下重复使用时是否还能满足性能指标,软件的性能测试是系统测试中难度较大的测试。软件系统的性能测试包括:系统反应时间、用户反应时间、软件界面反应时间、中央处理器的利用率、检查系统记忆容量在运行程序时有没有流失现象(或称内存泄露,)等。,3.安全测试

温馨提示

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

评论

0/150

提交评论