软件结构性测试

软件结构性测试

ID:43816470

大小:1.08 MB

页数:84页

时间:2019-10-15

软件结构性测试_第1页
软件结构性测试_第2页
软件结构性测试_第3页
软件结构性测试_第4页
软件结构性测试_第5页
资源描述:

《软件结构性测试》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、软件结构性测试概览在本章中,我们将学习:结构性测试概述程序结构分析逻辑覆盖结构性测试案例目标完成此课程之后,学员将具备以下能力:了解结构性测试的含义进行程序结构分析使用逻辑覆盖的方法进行白盒测试使用Devpartner进行白盒测试课程目录结构测试概述程序结构分析逻辑覆盖结构测试案例分析结构测试工具使用结构测试定义把测试对象看做一个透明的盒子白盒测试是根据被测程序的内部结构设计测试用例并完成测试的一种测试方法白盒测试或逻辑驱动测试基于一个应用代码的内部逻辑知识,测试覆盖全部代码、分支、路径和条件结构测试特点可以构成测试数据使特定

2、程序部分得到测试有一定的充分性度量手段可获得较多工具支持通常只用于单元测试结构测试的方法程序结构分析代码走查代码审查控制流分析数据流分析信息流分析逻辑覆盖语句覆盖分支覆盖条件覆盖分支-条件覆盖路径覆盖结构测试的局限不可能查出程序是否违反了设计规范不可能查出程序中因遗漏路径而出错可能发现不了一些与数据有关的错误不易生成测试数据代码覆盖率采用白盒法进行测试时,考虑的是测试用例对程序内部逻辑的覆盖程度最彻底的白盒法是覆盖程序中的每一条路径,但这往往无法实现采用其它一些标准来量度覆盖的程度,并希望覆盖程度尽可能高些课程目录结构测试概述

3、程序结构分析逻辑覆盖结构测试案例分析结构测试工具使用程序结构分析代码走查代码审查控制流分析数据流分析信息流分析代码走查含义代码走查是由一组程序和错误检查技术组成,并以代码审查组方式进行人员组长(有威信的资深程序员担任):负责分配资料、安排计划、主持会议、记录并保存被发现的错误资深程序员测试人员程序开发员(可做会议主持)代码走查原因功能性测试很难实现有太多的条件有太多的测试用例代码审查内容检查代码和设计的一致性检查代码对标准的遵循、可读性检查代码的逻辑表达的正确性检查代码结构的合理性代码审查步骤准备程序阅读审查会跟踪及报告控制流

4、分析非结构化程序会给测试、排错、和程序的维护带来许多困难要求写出的程序结构良好检查程序的控制结构成为十分有意义的工作程序流程图1325控制流图12435abcdef控制流图节点标有编号的圆圈程序流程图中矩形框所表示的处理菱形表示的两个甚至多个出口判断多条流线相交的汇合点控制流图控制流线或弧箭头与程序流程图中的流线一致,表明了控制的顺序控制流线通常标有名字控制流图矩阵acbdef1234512345控制流图矩阵便于机器表示和处理控制流图连接弧的节点的号码决定了矩阵中元素的位置注意控制流的方向两个节点没有弧线,所对应的位置也就没有

5、元素程序结构的基本要求写出的程序不应包含:转向并不存在的标号没有用的语句标号从程序入口进入后无法达到的语句不能达到停机语句的语句数据流分析查找引用未定义变量等程序错误查找对以前未曾使用的变量再次赋值等数据流异常的情况常见的错误表现形式错拼名字名字混淆语句丢失数据流如果程序中某一语句执行时能改变某程序变量V的值,则称V被该语句定义如果一语句的执行引用了内存中变量V的值,则称V被该语句引用例如:X=Y+Z;ifY>Zthenreturn;控制流图与数据流表1234106758911节点被定义变量被引用变量1X,Y,Z2XW,X3X

6、,Y4Y,Z5YV,Y6ZV,Z7VX8WY9ZV10ZZ11Z信息流分析通过对输入数据、输出数据、语句之间的关系的分析来检查程序错误整除算法例子输入: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√√√√√√√√out_qout_r12345√√√√out_qout_rin_mIn_n(1)(2)(3)信息流分析

7、能够列出对输入变量的所有可能的引用在程序的任何指定点检查其执行可能影响某一输出变量值的语句输入输出关系提供一种检查,看每个输出值是否由相关的输入值,而不是其他值导出课程目录白盒测试概述程序结构分析逻辑覆盖结构测试案例分析结构测试工具使用覆盖准则测试到什么地步可以结束测试?覆盖准则被测小程序if(A>1&&B==0)X=X/A;if(A==2

8、

9、X>1)X=X+1;被测程序段流程图A>1&&B==0aA==2

10、

11、X>1X=X/AFTbcX=X+1TeFd逻辑覆盖测试方法语句覆盖分支覆盖条件覆盖分支-条件覆盖路径覆盖语句覆盖原理:

12、如果语句中有错误,仅靠观察不执行可能发现不了在测试时,首先设计若干个测试用例,然后运行被测程序,使程序中的每个可执行语句至少执行一次若干个->尽量少语句覆盖、程序段覆盖、程序块覆盖语句覆盖率语句覆盖率已执行的可执行语句占程序中可执行语句总数的百分比复杂的程序不可能达到语句的完

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。