软件测试方法二课件_第1页
软件测试方法二课件_第2页
软件测试方法二课件_第3页
软件测试方法二课件_第4页
软件测试方法二课件_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

软件测试方法和技术

-Ch.3软件测试方法主讲教师:郭晓燕软件测试方法二第三章软件测试方法3.1白盒测试方法3.2黑盒测试方法3.3静态测试和动态测试3.4主动测试和被动测试3.5形式化测试方法3.6基于风险的测试3.7模糊测试方法3.8ALAC测试和随机测试方法软件测试方法二3.2.5因果图法测试用例设计多种输入条件的组合,产生多种结果设计测试用例。设计步骤:分割功能说明书,识别“原因”和“结果”,并加以编号。分析程序规格说明的描述中,哪些是原因,哪些是结果。原因常常是输入条件或是输入条件的等价类,而结果是输出条件。根据原因与结果之间的关系画出因果图标明约束条件

把因果图转换成判定表。

为判定表中每一列表示的情况设计测试用例。软件测试方法二因果图通常在因果图中,用Ci表示原因,Ei表示结果,其基本符号如下图所示。各结点表示状态,可取“0”或“1”。“0”表示某状态不会出现,“1”表示某状态出现软件测试方法二因果图法由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的。为表明这些特定的情况,在因果图上使用若干标准的符号标明约束条件。从输入原因考虑,有4种约束,如下图所示。E(互斥):表示a、b两个原因不会同时成立,两个中最多有一个可能成立。I(包含):表示a、b、c这三个原因中至少有一个必须成立。O(唯一):表示a、b当中必须有一个,且仅有一个成立。R(要求):表示当a出现时,b也必须出现。a出现时b不可能不出现。M(屏蔽):表示当a是1时,b必须是0。而当a为0时,b的值不定。软件测试方法二举例某软件规格说明中包含这样的要求:

第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。分析原因和结果原因:1----第一列字符是A;2----第一列字符是B;3----第二列字符是一数字。

结果:21----修改文件;

22----给出信息L;

23----给出信息M。软件测试方法二因果图12311212223软件测试方法二软件测试方法二举例有一个处理单价为1元的盒装饮料的自动售货机软件。若投入1元硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还1元硬币。根据对这一段说明的分析,列出原因和结果。原因: ①投入1元硬币; ②投入2元硬币; ③按“可乐”按钮; ④按“雪碧”按钮; ⑤按“红茶”按钮。中间状态:①已投币;②已按钮。结果: ①退还1元硬币; ②送出“可乐”饮料; ③送出“雪碧”饮料;④送出“红茶”饮料。软件测试方法二因果图软件测试方法二1234567891011输入投入1元硬币(1)11110000000投入2元硬币(2)00001111000按“可乐”按钮(3)10001000100按“雪碧”按钮(4)01000100010按“红茶”按钮(5)00100010001中间结点已投币(11)11111111000已按钮(12)11101110111输出退还1元硬币(21)00001110000送出“可乐”饮料(22)10001000000送出“雪碧”饮料(23)11000100000送出“红茶”饮料(24)00100010000软件测试方法二3.2.5正交实验法当输入条件多,且每个条件不能以“是”或“否”来回答,测试组合会很多,工作量也很大。利用因果图来设计测试用例时,作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人,给软件测试带来沉重的负担,软件测试方法二3.2.6正交实验法利用正交实验设计方法设计测试用例,有以下优点:节省测试工作工时;可控制生成的测试用例数量;测试用例具有一定的覆盖率。正交实验法是研究多因素多水平的一种设计方法,依据高斯理论根据正交性原理,选择部分有代表性的点进行实验,具备“均匀分散,整齐可比”的特点。日本著名的统计学家田口玄一将正交试验选择的水平组合列成表格,称为正交表。

软件测试方法二3.2.6正交实验法举例,一个化工生产过程,要提高产品的转化率,选择影响转化率的三个因素:温度(A),时间(B)和用碱量(C),在其实验范围内选定几个具有代表性的值来进行实验(1)A:80、85、90

(2)B:90、120、150(分钟) (3)C:5、6、7%分别以全面实验法、单因子实验法和正交实验法来详细讨论。水平因子123温度808590时间90120150用碱量5%6%7%软件测试方法二3.2.6正交实验法全面实验法将所有的因子的水平组合均作一次,即3*3*3=27次多次单因子实验固定其他因子不变的情况下,只改变一个因子,得出该因子的最佳水平数,在此基础上类推,得到其他因子的最佳水平参数。实验次数:3+2*2=7结论有很大的片面性。软件测试方法二3.2.6正交实验法正交实验法的步骤提取功能说明构造因子--状态表把影响实验指标的条件称为因子,单个因子所能取的最大值称为水平数。考虑到被测系统中准备测试的功能点,而这些功能点就是要获取的因子或因素,但每个功能点要输入的数据按等价类划分有多个,即每个因素的输入条件,即状态或水平值

加权筛选,生成因素分析表。利用正交表构造测试数据集

正交表:在一整套比较严格的规则下设计出的表格,用Ln(tc)来表示,其中L是正交表代号,n是实验次数,t是水平数,c为列数,也是可能安排最多的因子个数。如:L8(27)水平数2因子数7测试用例数8)软件测试方法二3.2.6正交实验法正交实验法举例水平数3,因子数3,考虑交互作用,可以设置空白列L9(34)=因子数*(水平数-1)+1=(4*(3-1)+1=9正交表的每一列中不同的数字出现次数相等任意两列数字的排列方式齐全而且均衡软件测试方法二3.2.6正交实验法软件测试方法二L9(34)的正交表因子数列数1234111112122231333421235223262311731328321393321软件测试方法二根据L9(34)正交表生成的测试数据因素测试用例ABC水平组合18090分5%A1B1C1280120分6%A1B2C2380150分7%A1B3C348590分6%A2B1C2585120分7%A2B2C3685150分5%A2B3C179090分7%A3B1C3890120分5%A3B2C1990150分6%A3B3C2软件测试方法二3.2.7功能图法功能图法就是使用功能图形式化表示程序的功能说明,由状态迁移图和布尔函数组成,同时需要依靠判定表或因果图表示逻辑功能,并机械地生成功能图的测试用例。功能图法是黑盒、白盒混合用例的设计方法。程序的功能由静态说明和动态说明组成,动态说明描述输入数据的次序或者转移的次序;静态说明描述输入与输出条件之间的对应关系。功能图模型有状态迁移图和逻辑功能模型组成。状态迁移图针对动态说明,逻辑功能模型针对静态说明软件测试方法二3.2.7功能图法程序的功能由静态说明和动态说明组成,动态说明描述输入数据的次序或者转移的次序;静态说明描述输入与输出条件之间的对应关系。功能图法就是使用功能图形式化表示程序的功能说明,并生成功能图的测试用例功能图模型有状态迁移图和逻辑功能模型组成。状态迁移图针对动态说明,逻辑功能模型针对静态说明软件测试方法二3.2.7功能图法(动态说明)空闲状态等待输入密码ESC键按下不正确的密码输入正确的密码输入状态迁移图软件测试方法二3.2.7功能图法(静态说明)逻辑功能表输入ESC键按下I1其他键按下I2正确密码输入I3错误密码输入I4输出显示密码输入框O1密码错误提示信息O2状态空闲状态S1等待输入密码S2返回空闲状态S3初始化屏幕S4软件测试方法二3.2.7功能图法生成功能图测试用例的步骤如下:1)生成局部测试用例:在每个状态中,通过因果图生成局部测试用例。2)生成测试路径:利用规则生成从初始状态到最后状态的测试路径。3)合成测试用例:合成测试路径与功能图中每个状态的局部测试用例。其结果是初始状态到最后状态的一个状态序列,以及每个状态中输入数据与对应输出数据的组合。4)采用条件构造树测试用例的合成算法。软件测试方法二3.2.8测试场景法现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行由Rational公司提出,充分利用USE-CASE图生成测试用例用例场景表述流经用例的路径,从用例开始到结束遍历路径上所有基本流和备选流。软件测试方法二3.2.8测试场景法基本流:经过用例最简单的路径(无任何差错,程序从开始执行到结束),基本流通采用黑线表示备选流:由基本流开始,在某个特定条件下执行,然后重新加入基本流(一般是各种错误情况)开始用例结束用例备选流1备选流2备选流3备选流4软件测试方法二3.2.8测试场景法测试场景1:基本流1测试场景2:基本流1,备选流1测试场景3:基本流1,备选流1,备选流2测试场景4:基本流1,备选流3测试场景5:基本流1,备选流4测试场景6:基本流1,备选流3,备选流1测试场景7:基本流1,备选流3,备选流1,备选流2测试场景8:基本流1,备选流3,备选流4开始用例结束用例备选流1备选流2备选流3备选流4软件测试方法二3.2.8测试场景法测试ID号场景元素1元素2元素3……预期结果C01Vn/aIC02C03说明:V是表示有效数据元素,I是表示无效数据元素,n/a是表示不适应或没有场景测试用例设计表软件测试方法二基于测试方法选择的综合策略测试的设计方法不会单独存在,具体到每个项目会用多种方法。实际测试中,往往要综合使用多种方法才能提高测试效率和覆盖度。首先进行等价类划分;任何情况使用边界值分析法;使用错误推测法追加测试用例;对照程序逻辑,检查用例的逻辑覆盖程度;如果含有输入条件的组合,选用正交实验法、因果图法或判定表驱动法;对于业务流清晰的系统,可以利用场景法贯穿整个测试过程,综合使用各种测试方法。软件测试方法二3.3静态测试与动态测试定义:在不执行软件的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的过程。有时也称为结构分析。作用:尽早发现软件缺陷,以找出动态黑盒白盒测试难以揭示或发现的软件缺陷为接受该软件测试的黑盒测试员进行测试设计测试案例提供思路,他们不必了解代码细节,但是根据审查备注,可以确定有问题或者容易存在软件缺陷的特性范围问题:认为会减慢软件开发过程。软件测试方法二3.5形式化测试为解决自然语言设计和描述带来的问题,提出形式化方法。形式化方法的寄出是熟悉和逻辑学,通过严格的数字逻辑和形式语言完成软件定义,然后通过相应工具进行自动化分析、编码和验证。UML就是一种半形式化方法。软件测试方法二3.8ALAC测试和随机测试法ALAC测试(act-like-custome

温馨提示

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

最新文档

评论

0/150

提交评论