现在的位置: 首页 > 综合 > 正文

第5讲 全程软件测试-测试自动化

2012年01月17日 ⁄ 综合 ⁄ 共 1447字 ⁄ 字号 评论关闭

 

   工欲善其事,必先利其器。荀子曰:吾尝终日而思矣,不如须臾之所学也。吾尝〔足支〕而望矣,不如登高之博见也。登高而招,臂非加长也,而见者远。顺风而呼,声非加疾也,而闻者彰。假舆马者,非利足也,而致千里。假舟辑者,非能水也,而绝江河。君子生非异也,善假于物也。君子性非异也,善假于物也。

        在测试过程中,测试工具是必需的,特别是在系统性能测试、负载测试(压力测试)和安全性测试等方面。在负载测试中,需要模拟大量数据(如每秒钟发送几十个数据包)或大量并发用户(如同时在线访问用户5000人)等各种应用场合时,如果不借助测试工具,几乎是不可能完成这种测试任务的。

其次,软件测试具有一定的重复性,主要体现在回归测试中。任何一个软件测试项目后期都要进行回归测试,可能是由于修正缺陷,也可能是由于软件不断升级而新加功能、增强功能。回归测试就是要验证已经实现的大部分功能,为了消除代码改动所造成的影响而要进行大量的测试。虽然回归测试找到软件缺陷的可能性小、效率比较低,但又是必要的、不可缺少的。如果由手工完成不断重复的回归测试,会很大程度上降低测试工作的趣味性。如果由测试工具自动完成回归测试,将会解放测试人员,是一件非常有意义的事。

除此之外,手工测试还存在其它的限制,主要有:

1)    通过手工测试无法做到覆盖所有代码路径。

2)    许多与时序、死锁、资源冲突、多线程等有关的错误通过手工测试很难捕捉到

3)    在进行系统可靠性测试时,需要模拟系统运行十年、几十年的情景,以验证系统能否稳定运行,也是手工测试无法模拟的。

4)    如果有大量(几千)的测试用例,需要在短时间内(1天)完成,又不可能投入大量人力。

5)    测试可以发现错误,但并不能表明程序的正确性。因为不论黑盒、白盒都不能实现穷举测试。对一些关键程序,如导弹发射软件,则需要考虑利用数学归纳法或谓词演算等进行证明。

由于手工测试的局限性,软件测试借助测试工具成为必要,并向软件测试全面自动化发展,可以解决手工测试的局限性,带来一些益处。

1)        缩短软件开发测试周期。对上千个测试用例,测试工具可以在很短时间内完成,而且测试工具不知劳累、24小时不停地运行同样测试用例十遍、一百遍等。这些都体现了软件测试工具执行测试具有速度高、效率高的特点。

2)        脚本可以多次重复运行,降低成本。在回归测试中、在很多不同的测试环境(如不同的浏览器、不同的操作系统、不同的连接条件等)下,测试工具可以多次运行同样的测试用例,而测试脚本只要开发一次。

3)        增强测试的稳定性和可靠性,通过测试工具运行测试脚本,能保证百分之百被执行,所有的测试结果都能客观地记录下来。

提高软件测试的准确度和精确度,软件测试自动化的结果都是数量化,并且和所预期结果或规格说明书规定的标准进行量化对比

 

在本讲,主要介绍以下内容:

p

1.自动化测试和测试自动化 

p2.测试工具的实现原理 

p3.结构化、数据驱动和关键字驱动脚本 

p4.测试工具选择的标准 

p5.开源工具的完整解决方案 

p6.商业工具的完整解决方案 

p7.以开源工具Selenium介绍自动化功能测试 

p8.以开源工具JMeter介绍自动化性能测试

p9.测试自动化框架 
 
 
 

 

抱歉!评论已关闭.