文档详情

单元测试的方法.PPT

发布:2019-04-11约5.99千字共60页下载文档
文本预览下载声明
区域数目 4 边界数目 边 10 节点数目 8 判断节点数目 3 有向图 单元测试工具列表 /Kerryzhu JUnit介绍 /Kerryzhu JUnit()是开源测试框架体系xUnit的一个实例,可以方便地组织和运行Java程序的单元测试 JUnit结构 /Kerryzhu JUnit安装 /Kerryzhu JUnit设置 /Kerryzhu JUnit脚本示例一 /Kerryzhu JUnit脚本示例二 /Kerryzhu 微软VSTS的单元测试 /Kerryzhu Visual Studio Team System(VSTS)是一套工具集,全面整合了软件设计、开发、测试、部署和人员协作工具,其开发版(Development Edition)提供了静态分析、代码剖析、代码涵盖以及其它单元测试所需的功能特性。 创建单元测试项目。 设置项目引用。 添加适当的测试类(一个或多个)。 生成主干的单元测试框架(Unit Test Framework)类和属性。 创建单个测试方法。 创建适合特定接口的逻辑 VSTS单元测试属性 /Kerryzhu VSTS断言 /Kerryzhu 开源单元测试工具 /Kerryzhu C/C++ 语言单元测试工具:CppTest、CppUnit、… Java语言单元测试工具:TestNG、PMD、Checkstyle、Findbugs、Jalopy…… Mock Object类工具: MockObjects、Xdoclet、EasyMock、MockCreator、MockEJB、ObjcUnit、jMock等 其它 商业单元测试工具 /Kerryzhu C/C++语言的单元测试工具以商业工具为主,例如Parasoft C++、PR QA?C/C++、CompuWare DevPartner for Visual C++ BoundsChecker Suite、Panorama C++等 内存资源泄漏检查工具,如CompuWare BounceChecker, IBM Rational PurifyPlus等 代码覆盖率检查工具,如CompuWare TrueCoverage, IBM Rational PureCoverage,TeleLogic Logiscope等。 代码性能检查工具,如Logiscope和 Macabe等 Q A /Kerryzhu 实例 设计分析 节点① N 0 : 如N= -1, -2, …, -10, … N = 0: 如N=1,2, …, 10, … 节点③ (KN) and (R=Max) 成立 (True) (KN) and (R=Max) 不成立 (False) 节点⑤ R= Max R Max N= -2,Max = 10: 覆盖①?②?③?④?③?④?③?⑥ N= 5,Max = 1: 覆盖①?②?③?④?③?④?③?⑦ 分支覆盖 vs. 语句覆盖 i:=i+1; result:=result+i; (iN) and (result=maxint) result=maxint N 0 N := -N; output(result); output(too large); exit start yes no no yes yes no N 0 举例: maxint N 10 -1 0 -1 覆盖了所有语句,但不能保证覆盖了所有分支 (N=0) result=0 i=0 条件覆盖 vs. 分支覆盖 分支一 .T. a0, b0 : a= 1, b= 1 分支二 .F. a0, b=0 : a= 1, b= -1 a=0, b0 : a= -1, b= 1 a=0, b=0 : a= -1, b= -1 判断条件:{a0 and b0} 只有两个分支(.T. 和 .F.),但条件有 a0, a=0, b0, b=0, 构成四种组合 条件覆盖 vs. 分支覆盖 条件覆盖不能保证分支覆盖,例如设计两个测试用例N= 1、Max = -1和N= 0、Max = 1 (KN) and (R=Max)=.T. 的分支没有被覆盖 设计两个测试用例N= 3、Max = 10和N= -1、Max = 0,即覆盖了所有条件,也覆盖了所有分支 基本路径覆盖 路径覆盖就是设计所有的测试用例,来覆盖程序中的所有可能的执行路径。基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证被测试程序的每个可执行语句至少被执行一次。 程序流程图 示例 环路复杂性 V(G) = 区域数目 V(
显示全部
相似文档