欢迎来到天天文库
浏览记录
ID:58868111
大小:1.38 MB
页数:94页
时间:2020-09-30
《软件白盒测试ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件白盒测试概览在本章中,我们将学习:结构性白盒测试概述程序结构分析逻辑覆盖结构性测试案例目标完成此课程之后,学员将具备以下能力:了解结构性测试的含义进行程序结构分析使用逻辑覆盖的方法进行白盒测试了解Devpartner进行白盒测试课程目录结构测试概述程序结构分析逻辑覆盖结构测试案例分析结构测试工具结构测试定义把测试对象看做一个透明的盒子白盒测试是根据被测程序的内部结构设计测试用例并完成测试的一种测试方法白盒测试或逻辑驱动测试基于一个应用代码的内部逻辑知识,测试覆盖全部代码、分支、路径和条件结构测试特点可以构成测试数据使特定程序部分得到测试有一定的充分性度量手段可获得
2、较多工具支持通常只用于单元测试结构测试的方法静态测试方法:程序结构分析代码走查代码审查控制流分析数据流分析信息流分析动态测试方法:逻辑覆盖语句覆盖分支覆盖条件覆盖分支-条件覆盖路径覆盖代码覆盖率采用白盒法进行测试时,考虑的是测试用例对程序内部逻辑的覆盖程度最彻底的白盒法是覆盖程序中的每一条路径,但这往往无法实现采用其它一些标准来量度覆盖的程度,并希望覆盖程度尽可能高些课程目录结构测试概述程序结构分析逻辑覆盖结构测试案例分析结构测试工具使用程序结构分析代码走查代码审查控制流分析数据流分析信息流分析代码走查含义代码走查是由一组程序和错误检查技术组成,并以代码审查组方式进行
3、人员组长(有威信的资深程序员担任):负责分配资料、安排计划、主持会议、记录并保存被发现的错误资深程序员测试人员程序开发员(可做会议主持)重点探讨代码编写思路:比如算法,基于对象的编程,类设计。但是代码走查非常枯燥,现在变成了关注于强制代码标准代码审查内容检查代码和设计的一致性检查代码对标准的遵循、可读性检查代码的逻辑表达的正确性检查代码结构的合理性形成公司积累变成容易出错的checklist代码审查步骤准备程序阅读审查会跟踪及报告控制流分析非结构化程序会给测试、排错、和程序的维护带来许多困难要求写出的程序结构良好检查程序的控制结构成为十分有意义的工作程序流程图1325
4、控制流图12435abcdef控制流图节点标有编号的圆圈程序流程图中矩形框所表示的处理菱形表示的两个甚至多个出口判断多条流线相交的汇合点控制流图控制流线或弧箭头与程序流程图中的流线一致,表明了控制的顺序控制流线通常标有名字控制流图矩阵acbdef1234512345控制流图矩阵便于机器表示和处理控制流图连接弧的节点的号码决定了矩阵中元素的位置注意控制流的方向(行--〉列)两个节点没有弧线,所对应的位置也就没有元素程序结构的基本要求写出的程序不应包含:转向并不存在的标号没有用的语句标号从程序入口进入后无法达到的语句不能达到停机语句的语句目前对这四种情况的检测主要通过编译
5、器和程序分析工具来实现。可以利用控制流图分析出来,是否存在以上情况。例如:1-》2-》3、4-》4-》5(结束)数据流分析查找引用未定义变量等程序错误查找对以前未曾使用的变量再次赋值等数据流异常的情况常见的错误表现形式错拼名字名字混淆语句丢失数据流如果程序中某一语句执行时能改变某程序变量V的值,则称V被该语句定义如果一语句的执行引用了内存中变量V的值,则称V被该语句引用例如:X=Y+Z;---------X被定义,Y和Z被引用ifY>Zthenreturn;----Y和Z被引用控制流图与数据流表1234106758911节点被定义变量被引用变量1X,Y,Z2XW,X3
6、X,Y4Y,Z5YV,Y6ZV,Z7VX8WY9ZV10ZZ11ZZ的值被送给外部环境例如:假定某个变量的值在使用以前被错误的改写了(对输出没有任何作用),这个语句就会被发现信息流分析通过对输入数据、输出数据、语句之间的关系的分析来检查程序错误信息流分析用来分析,是否存在无用的语句。整除算法例子输入:in_m是被除数,in_n是除数输出:out_q是商,out_r是余数整除算法例子out_q=0;out_r=in_m;While(out_r>=in_n){out_q++;out_r=out_r–in_n;}信息流关系图√√√√√√√in_min_n12345√√√√√
7、√√√out_qout_r12345√√√√out_qout_rin_mIn_n(1)输入变量影响语句(2)语句影响到输出变量(3)输入影响到输出信息流分析能够列出对输入变量的所有可能的引用在程序的任何指定点检查其执行可能影响某一输出变量值的语句输入输出关系提供一种检查,看每个输出值是否由相关的输入值,而不是其他值导出课程目录白盒测试概述程序结构分析逻辑覆盖结构测试案例分析结构测试工具使用覆盖准则测试到什么地步可以结束测试?覆盖准则被测小程序if(A>1&&B==0)X=X/A;if(A==2
8、
9、X>1)X=X+1;被测程序段流程图A>1&&B==0
此文档下载收益归作者所有