文档介绍:会计学
*
软件测试自动化96
第一页,共55页。
[本章要点]
;
2. 自动化测试和手工测试中涉及的问题以及二者的优缺点;
;
;
(guòchéng)实例及自动化测试经验。
第1页/共54页
第二页,共55页。
[本章目标]
。
(zhǎngwò)自动化测试和手工测试的优缺点,知道如何正确选择两种软件测试策略。
、使用目的及其选择,了解几种常用的测试工具。
。
第2页/共54页
第三页,共55页。
并非一律(yīlǜ)用自动化测试就好,要考虑经济性、有效性,适当的进行自动化测试。
当对产品的一些特征来设计一系列测试时,对每一个测试都需要决定是否对其进行自动化测试。
如何做出一个合理的决定,假设如下:
1.拥有稳定的自动化测试技术支持。
2.两种极端的可能性:一种就是无需人工干预的完全自动化测试,另一种就是只运行一次就废弃的人工测试。
3.自动化测试和手工测试都可行(但事实并非如此)。
第3页/共54页
第四页,共55页。
4.测试是通过外部接口来完成的(黑盒测试)。
5.不要求必须进行自动化测试。
6.测试已经设计好之后,再决定是否进行自动化测试。
7.有一定的时间用于完成测试,并且在这段时间里完全有可能把测试做好。
在决定是否要进行自动化测试之前,通常需要考虑如下几个主要(zhǔyào)问题:
1.同手工测试相比,只运行一次的自动化测试要多付出多少代价?
2.自动化测试的生命周期是有限的。那么,这类测试是否迟早要终止?什么事件将会导致测试中止?
第4页/共54页
第五页,共55页。
3.在整个生命周期内,这次测试能捕获到新bug的可能性会有多大?这些难以预计的收益能够使自动化测试的成本得到补偿吗?
创建一次自动化的测试所花费的时间要比一次手工测试所花费的时间多得多。测试成本因产品的架构以及自动化测试的方式不同而异。介绍如下几种(费用由高至低):
<1>通过图形用户界面来测试产品;
<2>使用GUI捕捉/回放工具来跟踪(gēnzōng)测试与产品之间的交互,同时建立脚本;
<3>测试的是一个编译器;
第5页/共54页
第六页,共55页。
测试成本(chéngběn)还要考虑测试时间、Bug的多少等问题。
测试的生命周期如下图7-1所示:
第6页/共54页
第七页,共55页。
在决定是否进行自动化测试之前,必须首先估计一下,产品的代码变动在什么范围内,测试仍能存活。如果要求代码不能有太多变动,要做的测试最好是非常善于捕获bug的测试;而且要求估计生命周期。
介于需要被测试的代码和测试之间的代码称作中介代码(intervening code)。
一、中介代码的变动对测试周期的影响
中介代码是使测试中止的一个主要原因。
例如,用户界面以前要求输入电话号码,现在变为提供一个可视的电话键盘,使用鼠标点击数字(shùzì)来模拟使用真实的电话。虽然通过两种界面向被测试的代码传递的都是相同的数据,但是因为没有了提供输入电话号码的地方,自动化测试可能就会中止。
第7页/共54页
第八页,共55页。
为了使测试免受中介代码变化的影响,应该从以下(yǐxià)几个方面考虑:
1、评估一下中介代码的改变会不会影响测试。如果绝不会影响到测试,使用自动测试就能节省大量的时间。
2、如果中介代码的变化会影响到测试,就必须考虑一下使用测试库函数能够使测试不受影响的可能性会有多大。
3、假如没有测试函数库——如果是在捕捉/回放的模式下使用GUI测试自动化工具——不要指望测试会不受影响。
二、被测试代码的改变对测试周期的影响
第8页/共54页
第九页,共55页。
需要判断一下被测试的代码的稳定性。
首先,需要重点考虑(kǎolǜ)代码的行为。
其次,考虑(kǎolǜ)功能的增加会不会影响测试。
进行自动化测试要解决的问题就是:自动化测试的价值必须要超过所有因此而放弃的手工测试的