51Testing丛书连载:(一)精通QTP——自动化测试技术领航

发表于:2011-12-28 16:20

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:余杰 赵旭斌    来源:51Testing软件测试网

第1章  测试脚本开发从零开始

1.1  自动化测试从零开始

  阶段要点

  自动化测试的优势与劣势。

  引入自动化测试的条件。

  避免自动化测试的因素。

  实例解读软件测试自动化。

  严格的自动化测试流程。

  自动化测试用例设计详解。

1.1.1 什么是自动化测试

1.1.1.1 引言

  “自动化测试”,一个耳熟能详的软件测试行业术语、一个绝大部分测试界人员的奋斗目标、一个听上去就很有感觉的名词、一个甚至能牵动未来测试界发展水平快慢的技术。是的,以上说的几点都没有错,它就是软件测试行业中最高端的技术之一,测试自动化技术!它以程序测试程序、以代码代替思维、以脚本的运行代替手工测试。自动化测试同时涵盖各种各样的测试种类,常见的有以下几种:功能(黑盒)自动化测试、功能(白盒)自动化测试、性能测试、压力测试、GUI测试、安全性测试,它们都可以由测试自动化技术来代替手工测试,其实还有很多,作者只是概括了大家都熟悉的软件测试种类,其他的诸如作者曾经收到过这样一个问题,这名测友问:“网络游戏的功能可以引入自动化测试吗?”虽然作者并没有游戏行业的软件开发、测试经验,但是作者确信,网络游戏一样也可以引入测试自动化技术,为什么?因为网络游戏同样是用程序写出来的,只要是一种程序,那么它一定能用程序测试程序、用代码代替思维、用脚本的运行为手工测试代劳!

  可以这么说,自动化测试这个术语,每天都索绕在我们的耳边,所以,掌握测试自动化这门技术,对测试工程师来说,是至关重要的,我们并不需要精通每种测试自动化技术,但是,至少我们需要精通其中的一种,只要精通其中一种,相信你在测试这个领域一定会占有一席之地,这门技术能带给你非常大的优势!虽然测试永远脱离不了手工测试,但是,未来测试行业一定会是由自动化测试来引导。这是不争的事实,中国测试行业发展之快也是有目共睹的,如果你现在能掌握这门技术,相信未来的测试路会越走越顺畅,你的测试职业生涯会越来越精彩。

1.1.1.2 自动化测试能做到什么及其优势,你心知肚明吗

  万物存在即合理,自动化测试能不断地发展至今,足以证明其在测试领域中有着举足轻重的地位,能切实地帮助项目进度的推动、提高项目的质量和协助测试人员提高工作效率。那么自动化测试究竟有何功能呢?这里归纳了最重要的几点并予以分析。

  ● 回归测试更方便、可靠。通常来说,这是自动化测试最主要的任务和特点,特别是在程序修改比较频繁时,效果是非常明显的。由于回归测试的业务流程操作和测试用例是预先完全设计好的,预期结果也是完全在项目人员掌握之中的,将回归测试交给计算机自动运行,可以极大提高测试效率,缩短回归测试时间。这里需要强调一点,上述说的程序修改比较频繁指的是新功能的不断加入,而老功能的逻辑是不变或者很少变化的,不是指整个程序全部或大批量地改动,因为这样是违反自动化测试原理的,在下文也会有类似的讲解。

  ● 可运行更多、更繁琐的测试,且快速、高效。自动化测试的一个明显好处是,可以在较少的时间内运行更多的测试。我们知道,有很大一部分业务功能由于业务逻辑极其繁琐(暂时不说有多复杂),使用手工测试往往耗费大量的时间,测试1次、2次、3次可以,但是,如果测试10次以上或者更多呢?当一个测试人员测试同一个业务功能10次以上,几乎可以断定,没有一个测试人员会继续耐心地测试下去。所以,此时自动化测试就能发挥作用,自动化测试的耐心是无限大的,而且计算机的执行速度远比人工快!

  ● 可执行一些对于手工测试来说相当困难或根本做不到的测试。比如,对于大量用户的测试并发,不可能同时让足够多的测试人员同时进行测试,但是却可以通过自动化测试模拟同时有许多用户并发点击某一功能,从而达到测试的目的。再比如,人工不可能24小时不眠不休地进行测试,但是计算机则不用休息。当然,类似的例子还有很多,无法全部列举出来。

  ● 更好地利用资源,使资源的使用更有价值。将繁琐的任务自动化,可以提高准确性和测试人员的积极性,将测试技术人员解脱出来投入更多精力设计更好的测试用例。有些测试不适合于自动化测试,仅适合于手工测试,将可自动化测试的测试自动化后,可以让测试人员专注于手工测试部分,提高手工测试的效率。在引入自动化测试后,测试人员的工作很大一部分可以交给计算机,而自己则解放出来,将精力投入新功能或者测试更深的业务逻辑,争取发现更深层次的缺陷,能做到这些,自动化测试可以说功不可没。

  ● 具有一致性和可重复性的特点。由于测试是机器自动执行的,每次测试的结果和执行的内容与操作的一致性是可以得到保障的,从而达到测试可重复的效果。机器可以按照相同的轨迹不断地执行测试并丝毫没有差错(即使错了也可以自动解决),但是人不能!

  ● 自动化测试脚本完全具有复用性。由于自动化测试通常以脚本的方式来实现,这样在不同的版本之间,就有可能只需要做少量的维护甚至不做任何修改,实现在不同的测试版本中使用相同的测试脚本执行相同的测试用例。

  ● 使软件更有信任度。由于测试是由计算机自动代劳的,所以,不存在执行过程中的疏忽和错误,完全取决于测试的设计质量。一旦软件通过了具有说服力的自动化测试后,软件的信任度一定会大大增加。

  ● 多环境下测试。我们知道,一个系统往往会被要求能支持各种不同的环境并稳定运行,但是这么多不同的环境,比如常用浏览器有IE6、IE7、IE8、FireFox等,系统有Windows 2003、Windows XP、Windows Vista、Windows 7等,甚至还有杀毒软件,如卡巴斯基、360、诺顿等,那么多的环境组合,如果每一种环境组合我们都需要花人力、物力去把功能测试一遍的话,估计研发周期至少得增加10倍!在这种情况下,自动化测试又可以完全发挥其优势与作用了,由计算机去代劳,在不同的环境组合中执行测试。

31/3123>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • 176626650
    2014-12-22 16:41:50

    肯定是部分呀,要不怎么卖书呀

  • hzj0301
    2012-11-20 11:03:41

    很好

  • 莲藕之家
    2012-1-11 15:34:03

    请问一下,是全部连载,还是部分,为什么有些和书目录显示的不一致呢,如缺少了1.1.1.6节

  • tengzai00
    2012-1-09 15:52:21

    很不错

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号