您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第17章 软件测试工具
主讲教师:丁月华Email:ding_mickey@sina.com软件测试工具1-2WHPU章节内容17.1概述17.2静态分析工具17.3动态分析工具17.4功能测试工具(实践环节展开)17.5性能测试工具(实践环节展开)1-3WHPU17.1概述人、过程和工具是决定软件测试质量的三个主要要素,软件测试工具在测试过程中扮演着重要角色。17.1.1软件测试工具的引入17.1.2软件测试工具分类1-4WHPU17.1.1软件测试工具的引入(自学)软件测试的问题手工方式执行测试的工作量和时间耗费过于庞大衡量软件测试工作进行到什么程度软件长时间运行的可靠性问题对并发用户进行模拟问题系统的性能瓶颈问题软件测试过程管理问题1-5WHPU17.1.2软件测试工具分类软件测试工具从运行原理角度分类白盒测试工具黑盒测试工具测试管理工具(测试流程管理、缺陷跟踪管理、测试用例管理)软件测试工具从是否免费使用角度开源测试工具商业测试工具1-6WHPU17.1.2软件测试工具分类1.白盒测试工具原理:一般都针对程序源代码进行测试,其在测试过程中发现的软件缺陷往往可以方便地定位到具体的代码行,侧重统计分析。分类①静态分析工具:一般是对源代码进行语法扫描,找出不符合编码规范的地方,也可以根据某种质量模型评价源代码质量,可以生成系统函数模块的调用关系图等。②动态分析工具:要求被测试软件实际运行起来,且只能收集到执行过的那部分源代码的关注数据,采用“插桩”的方式,向被测试软件源代码编译生成的可执行文件中插入一些监测代码,利用监测代码收集并统计分析被测试软件实际运行时的关注数据,依据关注数据生成测试报告。1-7WHPU17.1.2软件测试工具分类2.黑盒测试工具原理:一般采用测试脚本的录制(Record)/回放(Playback)机制模拟用户的业务操作,回放时将被测软件的输出记录下来并同预先给定(往往是脚本录制时记录的)的标准结果相比较。分类①功能测试工具:检测应用程序是否能够按照预期功能进行正常运行,主要用于功能回归测试②性能测试工具–主要用于度量客户机/服务器架构的分布式应用软件系统的可扩展性和并发访问性能,是一种预测系统在压力情况下的性能和行为的自动化测试工具。–性能测试工具能够对整个企业架构进行测试,通过性能测试工具,企业能最大限度地缩短测试时间,优化系统性能并缩短应用系统的发布周期。1-8WHPU17.1.2软件测试工具分类3.测试管理工具测试管理工具对测试需求、测试计划、测试用例、测试实施过程进行管理,测试管理工具还包括对软件缺陷的跟踪管理。测试管理工具还能够让位于不同工作地点的测试员、开发人员或其他相关IT人员通过中央数据仓库方便地交流相关信息。下面列出了几种常见的测试管理工具:①TestDirector②TestManager③TestTrack④Bugzilla⑤Bugfree1-9WHPU17.2静态分析工具17.2.1静态测试工具的原理17.2.2常用静态测试工具17.3.3IBMRationalPurifyPlus简介(不做要求)1-10WHPU17.2.1静态测试工具的原理原理:测试程序源代码文件作为输入,对程序源代码进行分析,然后与用户定制的质量模型进行比较,根据实际情况与模型之间的差距,得出对软件产品的质量评价。功能对程序源代码进行规范性检查对程序源代码的静态结构进行分析对程序源代码的代码复杂度进行度量。1-11WHPU17.2.1静态测试工具的原理静态测试工具程序语言的预处理器:预处理器把词法分析和语法分析结合在一起以识别各种类型的语句,它把程序源代码划分成为若干程序模块单元,同时生成包含变量使用、变量类型、标号和控制流等信息的许多表格;数据库:表格信息都被放入数据库中,以供错误分析器方便地进行信息查询和信息更新。错误分析器:在用户确定规则的指导下有针对性地生成错误列表,并把这些错误列表存放在相应表格中。报告生成器:报告生成器用于提取出错误列表并输出相应的测试报告1-12WHPU17.2.2常用静态测试工具针对Java编程语言的静态测试工具PMD是SourceForge下面的一个开源静态Java源代码分析工具CheckStyle是SourceForge下面的一个开源项目FindBugs是一种开源的静态测试工具Jtest是parasoft公司推出的一款针对Java编程语言的自动化白盒测试工具1-13WHPU17.3动态分析工具在动态测试中,软件测试员要观察被测软件运行时刻内部是否发生了不该发生的事情如软件系统的所有功能都能够正常执行可就是无法长时间持续运行;还有些客户机/服务器架构的软件系统在并发登录的客户端少时可以正常运行可是并发登录的客户端增多时系统运行就不正常。17.3.1动态分析工具的原理17.3.2常见的动态分析工具1-14WHPU17.3.1动态分析工具的原理软件动态分析工具为了收集被测软件的运行时信息大都采用插桩技术。观测软件系统运行状态时候的各种行为和各种状态,通过收集、分析得出相关的覆盖率分析、内存分析、性能分析等结果原始插桩技术,常常要往相关代码中插入一些打印语句有些动态分析工具往程序源代码中插桩后,再编译插桩后的源代码,然后动态执行以收集被测软件的运行时信息;有些动态分析工具往可执行文件(包括DLL动态链接库文件)中插桩,再执行插桩后的可执行文件,以收集被测软件的运行时信息。1-15WHPU17.3.2常见的动态分析工具动态分析工具作用:覆盖率分析(指出测试过程中的代码覆盖程度)内存分析(指出内存泄漏位置及需要进行内存优化处理的代码位置)性能分析(通过度量程序运行中各函数/指令花费的时间指出程序性能瓶颈)。业界有很多种动态分析工具,各动态分析工具都有其针对性的编程语言,见书中表17-1列出了一些常见的动态分析工具及其相应特点。1-16WHPU结束1-17WHPU17.4功能测试工具17.4.1功能测试自动化过程17.4.2HPWinRunner简介(不作要求)1-18WHPU17.4.1功能测试自动化过程(自学)实施自动化功能测试的步骤1)形成一个全面的软件测试计划。2)将测试计划细分成测试用例。3)创建自动化测试脚本。4)使用数据驱动的测试来扩大测试覆盖面。5)增加自动化测试验证。6)完成第5步操作后要对测试脚本进行试运行,试运行不通过的测试脚本要进行调整。1-19WHPU17.5性能测试工具17.5.1性能测试步骤17.5.2RationalRobot简介(不做要求)1-20WHPU17.5.1性能测试步骤1.制定目标和分析系统只有明确了性能测试目标并了解了被测软件的系统特性后才会弄明白性能测试范围,才会知道在性能测试中需要使用什么样的测试技术。2.选择测试度量方法确定要收集的测试数据;制定相关流程、角色、职责;制定依据测试数据改进性能测试的策略;制定测试结果对比标准。1-21WHPU17.5.1性能测试步骤3.学习相关技术和工具性能测试工作主要是通过性能测试工具模拟大量用户的并发操作,需要掌握一定的测试工具知识才能进行性能测试性能测试工具一般通过录制DBLIB、DCOM、HTTP、IIOP、Jolt、ODBC、Oracle、Socket、SQLServer、Sybase或Tuxedo通讯协议记录客户机与服务器之间的会话。工具评估:开展性能测试工作时需要对各种性能测试工具进行评估,每一种性能测试工具都有其自身的特点,只有经过工具评估,才能选择符合被测软件架构的性能测试工具,确定性能测试工具后,需要组织测试员进行测试工具、通讯协议、相关编程语言的学习。1-22WHPU17.5.1性能测试步骤4.制定评估标准任何一种测试工作的目标都是确保被测软件符合预先规定的目标和要求,性能测试也不例外,所以必须制定一套标准。5.设计测试用例设计测试用例必须在了解软件业务流程的基础上进行。6.运行测试用例通过性能测试工具运行测试用例。7.分析测试结果执行测试用例的过程中要收集相关信息,进行数据统计分析,找出性能瓶颈。
本文标题:第17章 软件测试工具
链接地址:https://www.777doc.com/doc-4054937 .html