自动化测试2021最全课件.ppt
自动化测试,测试自动化的理由,提高测试的效率;达到更好的测试效果;减少测试中引入的错误;节约软件测试阶段的代价;仿真作模拟坚持不懈需要强调指出:所有可以自动化的测试工作都可以用手工完成;,结果比较时的一些特殊情况测试有效性和可靠性分析;能观察和控制执行过程(可控制性);能形式化的进行描述的工作;控制和操作被测试软件的工具测试过程的自动化管理(Rational)需要强调指出:所有可以自动化的测试工作都可以用手工完成;基于需求说明的测试数据生成减少测试中引入的错误;测试过程的自动化管理(Rational)基于需求说明的测试数据生成(4)自动生成测试过程中所需要的桩模块;程序单元识别和相互关系分析干扰注入器和噪声发生器自动执行多个测试用例;能观察和控制执行过程(可控制性);减少测试中引入的错误;生成测试数据的依据不同,方法也不同。,测试工具,查看器和监视器ViewerMonitorCommunications analyzer程序驱动工具控制和操作被测试软件的工具Batch file脚本运行工具StubsEmulator,测试工具,压力和负载工具StessLoad干扰注入器和噪声发生器内存、CPU等资源数据分析工具Word,excel,database,file comparer,scape,cal,cameral,回顾:简单的软件测试过程,Software to be tested,Verification,测试自动化涵盖的内容,软件测试过程的自动化测试用例自动生成测试驱动自动生成自动执行测试测试结果自动比较测试报告自动生成软件测试管理的自动化(计算机辅助)软件程序分析的自动化,自动化的一般规律,自动化工作适用范围大量的重复性的劳动;复杂的计算过程;自动化工作的条件能形式化的进行描述的工作;能避免交互的工作;,自动化中要考虑的问题,需要做的工作编程(自动测试工具、驱动程序、桩程序)自动化测试的前期准备自动化测试的数据接口避免自动化工作对测试的真实性有效性带来不利影响;,测试数据自动生成,即根据已知的一些条件生成用于测试的输入数据。生成测试数据的依据不同,方法也不同。基于程序结构的测试数据生成静态分析基于谓词计算的分析方法动态搜索(基于路径覆盖)遗传算法退火算法二分法,测试数据自动生成,基于需求说明的测试数据生成基于形式逻辑的规格说明(因果图的形式化描述)等价类方法边界条件分析基于UML图的测试数据生成,测试过程自动化,主要工作消除程序运行过程中的用户交互过程;自动执行多个测试用例;保留执行结果;能观察和控制执行过程(可控制性);主要方法替换程序中的交互函数;驱动程序和桩程序的编写;事件驱动测试,测试结果自动比较,把测试的实际输出结果,和测试用例的预期结果进行比较,得出测试用例是否通过的结论;必须强调的是测试用例的ID;结果比较时的一些特殊情况GUI测试,测试报告自动生成,根据测试结果比较的结论,产生测试报告;测试情况总结,错误定位分析;测试有效性和可靠性分析;如果要进一步进行测试情况的分析,还需要相应的信息;控制流程图;数据流图;,其他工作,测试过程的自动化管理(Rational)产生测试计划;进行测试过程跟踪;程序相关信息提取程序控制流图生成程序单元识别和相互关系分析变量依赖关系分析程序切片,例子:一个测试驱动器的开发,典型的测试工具软件,结构性测试工具,一般完成以下一种或几种功能:(1)对被测程序进行静态分析,得到相关的结构信息;(2)确定测试模块(或类,也可以是方法)的顺序;(3)根据一定的覆盖准则(例如分支、路径、定义-使用对覆盖等)产生测试数据,(有的也可能产生期望输出);(4)自动生成测试过程中所需要的桩模块;(5)执行被测程序,收集动态测试的信息,并根据相应的测试准则评估测试结果。代表软件有C+Test、Cantata+等;该方向的原型系统研究比较多,典型的有TOONS、OOTME、ASTOOT、OOTA等。,典型的测试工具软件,功能性测试工具,功能性测试工具最常见的是利用脚本的录制(Record)/回放(Playback),模拟用户的操作,记录被测程序的输出并同预先给定的标准结果比较。代表性的软件有:Rational TeamTest、Robot、TestRuner、Visual Test、QC/Replay 等。,典型的测试工具软件,性能/负载测试工具主要是检查系统在重负载情况下的性能,多用于对网络应用程序的测试。常见的工具有QALoad、Rational Suit Performance Studio 等,