自动化测试基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
长春工业大学软件学院
SWPU
• 虚拟用户技术
– 通过模拟真实用户的行为来对被测程序(Application Under Test,AUT)施加负载,以测量AUT的性能指标值
长春工业大学软件学院
SWPU 1.2 软件测试工具简介
软件自动化测试工具特征
软件自动化测试通常借助测试工具进行,测试工具 可以进行部分的测试设计、实现、执行和比较的工 作。 部分的测试工具可以实现测试用例的自动生成,但 通常的工作方式为人工设计测试用例,使用工具进 行测试用例的执行和比较。
测试治理工具的代表
Rational公司的Test Manager Compuware公司的TrackRecord等软件。
长春工业大学软件学院
SWPU
软件自动化测试工具的选择
选择自动测试工具是一个重要的步骤,所以一定要 谨慎
• 因为测试工作经常会涉及到管理流程和开发流程的 改变、涉及到人员的考评标准,所以它有时会对整 个企业产生影响。
– 将用户每一步操作都记录下来 – 所有记录转换为一种脚本语言所描述的过程,模拟用户的 操作 – 回放时,将脚本语言所描述的过程转换成屏幕操作,然后 将被测系统的输出记录下来同预先给定的标准结果比较
长春工业大学软件学院
SWPU
录制和回放技术
长春工业大学软件学院
SWPU
• 脚本技术
– 脚本是一组测试工具执行的指令集合,也是计算机程序的 一种形式。 – 脚本可以通过录制测试的操作产生,然后再作修改。也可 以直接用脚本语言编写脚本。 – 脚本技术分类: » 线性脚本:录制手工执行的测试用例得到的脚本。 » 结构化脚本:类似于结构化程序设计,具有各种逻辑 结构(顺序、分支、循环),而且具有函数调用功能。 » 共享脚本:某个脚本可被多个测试用例使用,即脚本 语言允许一个脚本调用另一个脚本 » 数据驱动脚本:将测试输入存储在独立的数据文件中。 » 关键字驱动脚本:数据驱动脚本的逻辑扩展。
公司的PRQA软件。
长春工业大学软件学院
Байду номын сангаас
SWPU 白盒测试工具
动态测试工具
动态测试工具与静态测试工具不同,动态测试工具的一般采 用“插桩”的方式,向代码生成的可执行文件中插入一些监
测代码,用来统计程序运行时的数据。
与静态测试工具最大的不同就是动态测试工具要求被测系统 实际运行。
动态测试工具的代表有Compuware公司的DevPartner软件、
静态测试工具
静态测试工具直接对代码进行分析,不需要运行代码,也 不需要对代码编译链接,生成可执行文件。
静态测试工具一般是对代码进行语法扫描,找出不符合编码
规范的地方,根据某种质量模型评价代码的质量,生成系统 的调用关系图等。
静态测试工具的代表有Telelogic公司的Logiscope软件、PR
长春工业大学软件学院
SWPU
自动化测试的定义
自动化测试就是使用软件工具来代替手工进行的一系列动作。 它具有良好的可操作性、可重复性和高效率等特点。 自动化测试的目的是减轻手工测试的工作量,以达到节约资源 (包括人力、物力等),保证软件质量,缩短测试周期的效果。 通常是使用脚本或者其他代码驱动应用程序。这一切可以通过 可视用户界面(如浏览器)完成,也可以通过直接命令(从客 户端发向服务器,以模仿浏览器发送的命令)完成自动化测试。 自动化测试大都属于回归测试的范畴。
测试工具应该能够管理测试过程和测试文档,并生 成各种测试报告。 自动测试工具应该允许用户把自动测试的数据和流 程与手工的测试数据和流程结合到一起。
长春工业大学软件学院
SWPU
自动测试工具应该能够将业务需求与测试计划、测 试设计和测试结果相关联,允许最终用户根据测试 结果来评估应用程序的完成情况。 自动测试工具中的各功能模块应该紧密集成到一起, 共享和重用测试数据,支持回归测试。
长春工业大学软件学院
SWPU
自动化测试优点
提高测试效率 降低对软件新版本进行回归测试的开销 完成手工测试不能或难以完成的测试 具有一致性和可重复性 更好地利用资源 降低风险,增加软件信任度
长春工业大学软件学院
SWPU
自动化测试的局限性
不能完全取代手工测试和手工测试工程师 软件自动化测试可能降低测试的效率 测试人员期望自动测试发现大量的新错误 如果缺乏测试经验,测试的组织差、文档少或不一 致,则自动测试的效果比较差 软件自动化测试工具本身的问题
长春工业大学软件学院
SWPU
测试工具一般具有以下特征
• • • • • • • • • • • 支持脚本化语言(Scripting Language) 对程序界面中对象的识别能力 支持函数的可重用 支持外部函数库 抽象层可将程序界面中的对象实体映射成逻辑对象 支持分布式测试(Distributed Test) 支持数据驱动测试(Data-Driven Test) 错误处理 调试器(Debugger) 源代码管理 支持脚本的命令行(Command Line)方式
黑盒测试工具的代表
有Rational公司的TeamTest、Robot Compuware公司的QARun MI公司的WinRunner 、LoadRunner Radview公司的WebLoad Microsoft公司的WebStress
长春工业大学软件学院
SWPU 测试管理工具
长春工业大学软件学院
SWPU
测试工具的分类
白盒
黑盒
管理
针对代码进行 测试,测试中 发现的缺陷可 以定位到代码 级,包括静态 测试工具和动 态测试工具
适用于黑盒测 试的场合,包 括功能测试工 具和性能测试 工具
对测试计划、 测试用例、测 试实施、缺陷 跟踪进行管理
长春工业大学软件学院
SWPU 白盒测试工具
• 工具应该可以很容易地利用过去的或者其他人员的 测试资料。 • 工具内部应该使用一致的脚本语言和数据格式。
长春工业大学软件学院
SWPU
自动测试工具的体系结构和文件格式应该是开放的, 可以很容易地与其他技术或工具进行交互和集成。 自动测试工具厂商应该有比较完善的科室培训和技 术支持机制,能够为自动测试工具的实施提供咨询 和支持。
长春工业大学软件学院
SWPU
• 代码分析——类似于高级编译系统(白盒测试的自 动化方法)
– 在工具中定义类、对象、函数、变量等定义规则、语法规 则 – 在分析时对代码进行语法扫描,找出不符合编码规范的地 方 – 根据某种质量模型评价代码质量,生成系统调用关系图等
• 录制和回放——(黑盒测试的自动化方法)
长春工业大学软件学院
长春工业大学软件学院
SWPU
自动化测试的原理和方法
软件自动化测试的基础是可以通过设计的特殊程序 模拟测试人员对计算机的操作过程、操作行为,或 者类似于编译系统那样对计算机程序进行检查。 软件测试自动化实现的原理和方法主要有:直接对 代码进行静态和动态分析、测试过程的捕获和回放、 测试脚本技术和虚拟用户技术。
SWPU
第1章 软件自动化测试基础
长春工业大学软件学院
SWPU
主 要 内 容
1 2
软件测试自动化基础 软件测试工具简介
长春工业大学软件学院
SWPU
1.1软件测试自动化基础
自动化测试的产生
同样的测试需要执行多次
• 测试-〉修复-〉回复测试-〉修复…
手工执行测试用例效率极低 人工执行测试容易犯错误 人工执行测试很难模拟大量数据或大量并发用户等 应用场合
Rational公司的Purify系列 、 开源测试框架 JUnit
长春工业大学软件学院
SWPU 黑盒测试工具
黑盒测试工具的一般原理
利用脚本的录制(Record)/回放(Playback),模拟用户的操作, 然后将被测系统的输出记录下来同预先给定的标准结果比较。 黑盒测试工具可以大大减轻黑盒测试的工作量,在迭代开发 的过程中,能够很好地进行回归测试。