当前位置:文档之家› 全程软件测试之软件测试自动化PPT(共61页)

全程软件测试之软件测试自动化PPT(共61页)

3. 容易实施、结果可靠 4. 做手工不能做
测试自动化项目的本质
定义:利用GUI自动化测试工具来开发和执行测试 脚本,从而验证是否满足需求
本质:测试自动化项目本质上是软件开发项目 一个测试自动化项目必须具有:
清晰定义并严格实施的过程 来自组织各级的支持 周密的计划 具体的设计和架构
测试自动化成本/收益分析
11.6 19 7.4
各自特点
软件测试自动化(TA)虽然具有很多优点,但只是对手工测试 的一种补充,TA绝不能代替手工测试,有各自的特点:
在系统功能逻辑测试、验收测试、适用性测试、涉及物理交互性测试 时,多采用黑盒测试的手工测试方法; 单元测试、集成测试、系统负载或性能、稳定性、可靠性测试等比较 适合采用TA; 对那种不稳定软件的测试、开发周期很短的软件、一次性的软件等不 适合测试自动化 工具本身并没有想象力和灵活性,根据经验报道,自动测试只能发现 15%的缺陷,而手工测试可以发现85%的缺陷;TA工具在进行功能测试 时,其准确的含义是回归测试工具,因为工具不能发现更多的新问题, 但可以保证对已经测试过部分进行测试的准确性和客观性
手工测试的局限性 (2)
代码全部Code Path测试覆盖也几乎不可能 每一个if…else…或switch语句就会把情况增加一倍 许多异常处理代码在正常使用中不会碰到 许多与时序,死锁,资源冲突,多线程有关的错误很难捕捉 到
每一个产品都会有不同的版本外加各自的SP与QFE (Quick Fix Engineering, 又称Hot fix) NT4, VS6 SP1~SP5, Windows 2000 SP1-SP4 VS .NET, SQL Server SP1 – SP3
测试自动化的基本结构
文件服务器
Build系统编译 Dev Build, Test Build
SQL Server
寻找工作项目
拷贝测试文件 拷贝测试结果
控制程序 分派工作
机房
更新 Web服务器 显示
分派工作
办公室
查询结果
测试自动化的原理和方法
代码分析: 类似于高级编译系统,在工具中定义类/对象/ 函数/变量等定义规则、语法规则等,在分析时对代码进行 语法扫描,找出不符合编码规范的地方。
手工测试的局限性 (2)
自动测试定义软件系统
功能规格书(Spec)只是从书面上的 一套软件产品是由一套完整的可运行的测试来定义的
测试所有可能情况将遭遇“组合爆炸”问题
Win98, WinME, WinNT, Win2k, WinXP, WinXP TablePC Ed, WinXP MediaCenter Ed, Longhorn, etc
结构
成本 收益 净收 益
No Automation
0 00
Recording and Playback
8.3 11 2.7
Data-driven structure using datapools 8.4 18 9.6
Framework structure
9.8 15 5.2
Framework / data-driven (hybrid) structure focusing on views of the application and using datapools
5.1测试自动化的内涵
5.1.1 为什么要软件测试自动化 5.1.2 自动化测试的引入和应用 5.1.3 测试自动化的基本结构 5.1.4 测试自动化的原理和方法 5.1.5 测试自动化普遍存在的问题
手工测试的局限性
通过手工测试无法做到覆盖所有代码路径; 许多与时序、死锁、资源冲突、多线程等有关的错误通过手工测试很 难捕捉到 在系统负载、性能测试时,需要模拟大量数据、或大量并发用户等各 种应用场合时,也很难通过手工测试来进行 在进行系统可靠性时,需要模拟系统运行十年、几十年,以验证系统 能否稳定运行,也是手工测试无法模拟的。 如果有大量(几千)的测试用例,需要在短时间内完成,手工测试又 怎么办呢? 测试可以发现错误,并不能表明程序的正确性。
English, German, Japanese, Chinese, Arabic, Thai… Office 97, Office2000, Office XP, Office 2003… X86 32-bit, Intel 64-bit, AMD 64-bit, Alpha, MIPS… SQL Server 6.5, SQL Server 7.0, SQL Server 2000… Visual Studio 6, VS .NET, VS .NET 2003, Whidbey…
正确认识测试自动化
不现实的期望注定测试自动化的失败 测试自动化能:
显著降低重复手工测试的时间 建立可靠、重复的测试,减少认为错误 增强测试质量和覆盖率
测试自动化不能:
完全替代手工测试和手工测试工程师 保证100的测试覆盖率 弥补测试实践的不足
自动化测试的引入和应用
找准测试自动化的切入点 把测试开发纳入整个软件开发体系 测试自动化依赖测试流程和测试用例 软件测试自动化的投入较大 进行资源的合理调度
全程软件测试
- Ch.5软件测试自动化
第5章 软件测试自动化
5.1测试自动化的内涵 5.2 测试工具的分类和选择 5.3 测试工具的主流产品介绍 5.4 IBM-Rational产品的整体解决方案 5.5 Mercury Interactive产品的整体解决方案 5.6 Compuware产品的整体解决方案
可重复使用的自动测试对产品未来版本与Service Pack的测试将 有事半功倍的效果
自动化测试带来的好处
1. 缩短周期 Testing cycle - Regression Testing 2. Attributes of TA,
•Speed 速度 •Efficiency 效率 •Accuracy and Precise 准确、精确 •Relentlessness 无情
捕获和回放: 代码分析是一种白盒测试的自动化方法, 捕获和回放则是一种黑盒测试的自动化方法。
相关主题