好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

实验二 白盒测试.docx

13页
  • 卖家[上传人]:人***
  • 文档编号:516397571
  • 上传时间:2023-01-25
  • 文档格式:DOCX
  • 文档大小:369.74KB
  • / 13 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 白盒测试实验一实验内容1、 系统地学习和理解白盒测试的基本概念、原理,掌握白盒测试的基本技术和方法;2、 举例进行白盒测试,使用语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖、路径覆盖进行测试3、 通过试验和应用,要逐步提高和运用白盒测试 技术解决实际测试问题的能力;4、 熟悉C++编程环境下编写、调试单元代码的基本操作技术和方法;5、 完成实验并认真书写实验报告(要求给出完整的测试信息,如测试程序、测试用例, 测试报告等)二实验原理白盒测试原理:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设 计规格要求,所有内部成分是否已经过检查它是把测试对象看作装在一个透明的白盒子里, 也就是完全了解程序的结构和处理过程这种方法按照程序内部的逻辑测试程序,检验程序 中的每条通路是否都能按预定要求正确工作其又称为结构测试对于该实验的例子给出其流程图如下图所示,我们来了解白盒测试的基本技术和方法语句覆盖是指选择足够的测试用例,使得程序中每个语句至少执行一次如上例选择测 试用例x=l,y=l和x=l,y=-l可覆盖所有语句判定覆盖是指选择足够的测试用例,使得程序中每一个判定至少获得一次'真”值和“假” 值,从而使得程序的每个分支都通过一次(不是所有的逻辑路径)。

      选择测试用例x=1,y=1 和x=1,y=-1可覆盖所有判定条件覆盖是指选择语句多数的测试用例,使得程序判定中的每个条件能获得各种不同的 结果选择测试用例x=1,y=1和x=-1,y=-1可覆盖所有条件判定/条件覆盖是指选择足够多的测试用例,使得程序判定中每个条件取得条件可能的 值,并使每个判定取到各种可能的结果(每个分支都通过一次)即满足条件覆盖,又满足 判定覆盖选择测试用例x=1,y=1和x=-1,y=-1可覆盖所有判定/条件条件组合覆盖是指选择足够的测试用例,使得每个判定中的条件的各种可能组合都至少 出现一次(以判定为单位找条件组合)注:a,条件组合只针对同一个判断语句存在多个条件的情况,让这些条件的取值进行 笛卡尔乘积组合b, 不同的判断语句内的条件取值之间无需组合c, 对于但条件的判断语句,只需要满足自己的所有取值即可选择测试用例x=1,y=1; x=1,y=-1,x=-1,y=1和x=-1,y=-1可覆盖所有条件组合路径覆盖是分析软件过程流的通用工具,有助分离逻辑路径,进行逻辑覆盖的测试,所 用的流程图就是讨论软件结构复杂度时所用的流程图三实验方法1、语句覆盖测试用例输入输出magic判定M的取值判定N的取值覆盖路径x=1,y=112TFabefx=1,y=-10FTacdf2、判定覆盖测试用例输入输出magic判定M的取值判定N的取值覆盖路径x=1,y=112TFabefx=1,y=-10FTacdf3、条件覆盖测试用例输入输出magic判定M的取值判定N的取值覆盖路径x=1,y=112TFabefx=-1,y=-10TTacdf4、判定/条件覆盖测试用例输入输出magic判定M的取值判定N的取值覆盖路径x=1,y=112TFabefx=-1,y=-10TTacdf5、条件组合覆盖测试用例输入输出magic判定M的取值判定N的取值覆盖路径x=l,y=l12TFabefx=l,y=-l0TTacdfx=-1,y=10TTacdfx=-1,y=-10TTacdf6、路径覆盖测试用例输入输出magic判定M的取值判定N的取值覆盖路径x=1,y=112TFabefx=1,y=-10TTacdfx=12,y=-11TFacef本例覆盖路径abdf不存在四实验结果根据上面设计的测试案例,编写程序后,白盒测试结果如下所示:1、语句覆盖x=1,y=1x=1,y=-12、判定覆盖x=1,y=1x=1,y=-13、条件覆盖x=1,y=1x=-1,y=-14、判定/条件覆盖x=1,y=1x=-1,y=-15、条件组合覆盖x=1,y=1x=1,y=-1x=-1,y=1x=-1,y=-16、路径覆盖x=1,y=1x=1,y=-1x=12,y=-1叵3 "C:\Windows\System32\Debug\test_adva.exe"BWA 心 12hWwA y: -imagic 已知:0 艮喩書禾帚庫;Sffi—「為看-logic的值 判定M 判定N 覆盖路径H.2 -1 1 T F acefPress any key to continue本例覆盖路径abdf不存在五实验分析对于白盒测试,在设计测试用例时首先对程序进行分析,从程序的内部结构出发设计测 试用例,涉及到程序的控制方法、源语句、编码细节、数据库设计等。

      设计测试用例时应用 了白盒测试中的多种测试方法,其中包括:测试覆盖(语句覆盖、分支覆盖、分支条件覆盖 等)、基路径测试等方法白盒测试中,对代码的测试比较透彻,但不容易生成测试用例, 而且测试工作量很大因为白盒测试是基于代码的基础上,所以对变量的定义、数据的分析、 精度的度量都有严格的要求同时,对于白盒测试的案例设计,要注意以下几点(1)保证每个模块中的所有独立路 径至少被执行一次;(2)对所有的逻辑值均需要测试真、假两个分支;(3)在上下边界及可 操作范围内运行所有循环;(4)检查内部数据结构以确保其有效性附件:(测试实现源程序)#include/*static */int sign=0; static char m='T',n='T'; //int logicExample(int,int); int logicExample(int xjnt y) {int magic=0; if(x>0&&y>0){magic=x+y+10;sign++;}else {magic=x+y-10;m='F';}if(magic<0){magic=0;sign+=2;}else n='F';return magic;}main(){int x,y;//static int sign=0;//static char m='T',n='T',char p[4][5]={"acef","abef","acdf","abdf"};coutvv" "vv'\n';coutvv"请输入 x:";cin>>x;coutvv"请输入 y:";cin>>y;coutvv"magic 已知:0"vvendl;coutvv" "vv'\n';coutvv"测试结果分别是:"vv'\n';coutvv" "vv'\n';coutvv"x的值 y的值 logic的值 判定 M 判定N 覆盖路径"vvendl;coutvv" "vv'\n';coutvvxvv" "vvyvv" "vvlogicExample(x,y)vv""vvm;coutvv" "vvnvv" "vvp[sign]vvendl;}。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.