《软件测试自动化》PPT课件

《软件测试自动化》PPT课件

ID:39724459

大小:264.19 KB

页数:54页

时间:2019-07-10

《软件测试自动化》PPT课件_第1页
《软件测试自动化》PPT课件_第2页
《软件测试自动化》PPT课件_第3页
《软件测试自动化》PPT课件_第4页
《软件测试自动化》PPT课件_第5页
资源描述:

《《软件测试自动化》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七章软件测试自动化[本章要点]1.自动化测试应考虑的各种因素;2.自动化测试和手工测试中涉及的问题以及二者的优缺点;3.应用自动化测试工具的目的;4.自动化测试工具的分类和选择方法;5.自动化测试过程实例及自动化测试经验。[本章目标]1.了解自动化测试应考虑的各种因素以及如何衡量自动化测试成本。2.掌握自动化测试和手工测试的优缺点,知道如何正确选择两种软件测试策略。3.了解测试工具的分类、使用目的及其选择,了解几种常用的测试工具。4.了解自动化测试的过程。7.1进行自动化测试的适当时机并非一律用自动化测试就好,要考虑经济性、有

2、效性,适当的进行自动化测试。7.1.1概述当对产品的一些特征来设计一系列测试时,对每一个测试都需要决定是否对其进行自动化测试。如何做出一个合理的决定,假设如下:1.拥有稳定的自动化测试技术支持。2.两种极端的可能性:一种就是无需人工干预的完全自动化测试,另一种就是只运行一次就废弃的人工测试。3.自动化测试和手工测试都可行(但事实并非如此)。4.测试是通过外部接口来完成的(黑盒测试)。5.不要求必须进行自动化测试。6.测试已经设计好之后,再决定是否进行自动化测试。7.有一定的时间用于完成测试,并且在这段时间里完全有可能把测试做好。

3、在决定是否要进行自动化测试之前,通常需要考虑如下几个主要问题:1.同手工测试相比,只运行一次的自动化测试要多付出多少代价?2.自动化测试的生命周期是有限的。那么,这类测试是否迟早要终止?什么事件将会导致测试中止?3.在整个生命周期内,这次测试能捕获到新bug的可能性会有多大?这些难以预计的收益能够使自动化测试的成本得到补偿吗?7.1.2自动化测试的成本创建一次自动化的测试所花费的时间要比一次手工测试所花费的时间多得多。测试成本因产品的架构以及自动化测试的方式不同而异。介绍如下几种(费用由高至低):<1>通过图形用户界面来测试产品

4、;<2>使用GUI捕捉/回放工具来跟踪测试与产品之间的交互,同时建立脚本;<3>测试的是一个编译器;测试成本还要考虑测试时间、Bug的多少等问题。7.1.3自动化测试的生命周期测试的生命周期如下图7-1所示:在决定是否进行自动化测试之前,必须首先估计一下,产品的代码变动在什么范围内,测试仍能存活。如果要求代码不能有太多变动,要做的测试最好是非常善于捕获bug的测试;而且要求估计生命周期。介于需要被测试的代码和测试之间的代码称作中介代码(interveningcode)。一、中介代码的变动对测试周期的影响中介代码是使测试中止的一个

5、主要原因。例如,用户界面以前要求输入电话号码,现在变为提供一个可视的电话键盘,使用鼠标点击数字来模拟使用真实的电话。虽然通过两种界面向被测试的代码传递的都是相同的数据,但是因为没有了提供输入电话号码的地方,自动化测试可能就会中止。为了使测试免受中介代码变化的影响,应该从以下几个方面考虑:1、评估一下中介代码的改变会不会影响测试。如果绝不会影响到测试,使用自动测试就能节省大量的时间。2、如果中介代码的变化会影响到测试,就必须考虑一下使用测试库函数能够使测试不受影响的可能性会有多大。3、假如没有测试函数库——如果是在捕捉/回放的模式

6、下使用GUI测试自动化工具——不要指望测试会不受影响。二、被测试代码的改变对测试周期的影响需要判断一下被测试的代码的稳定性。首先,需要重点考虑代码的行为。其次,考虑功能的增加会不会影响测试。7.1.4自动化测试的价值进行自动化测试要解决的问题就是:自动化测试的价值必须要超过所有因此而放弃的手工测试的价值。考虑问题如下:1.测试代码的结构要清晰。2.测试通常是用来测试功能代码。支撑代码对于测试者来说通常是不可见的。3.但功能代码的改变通常会改变代码的行为。因此,极有可能会使测试中止,而不是报告bug。4.测试的价值主要在于支撑代码

7、改变以后仍能捕获bug的能力。5.如果我们一点也不了解支撑代码,无法知道测试是否能捕获bug?如何估计测试是否有助于我们捕获bug?6.可以认为与被测试的代码进行交互的其他代码大多数是支撑代码,支撑代码的变化也会产生自动测试所能捕获的bug。注意:高价值的测试不可能是特征驱动测试而是任务驱动测试。一、分析被测试代码的结构。例子:被测试的是一段处理从银行账户里提款的代码。(例子详见教材)把被测试的代码分成两部分:①功能代码(featurecode),它直接实现被测试代码所完成的功能。测试会专门对其进行调用。功能代码(support

8、code)可以完成用户所进行的操作(通过使用用户界面的关联代码)。②支撑代码(supportcode),它起到支持功能代码(supportcode)的作用。测试代码会对其进行调用,但并没有针对这些代码的特殊测试。图7-2功能代码和支撑代码示意图在这里,支撑代码位

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。