致力于测试团队建设和自动化测试开发,欢迎有兴趣者一起研究讨论

如何学习自动化测试

上一篇 / 下一篇  2008-08-09 22:25:50 / 个人分类:Automation

51Testing软件测试网CS kP6y2M5O _

本文出自zte_boy的51Testing软件测试博客,转载请保留出处及链接:http://www.51testing.com/?161787

Sd7E,RM5N;n0

g0zQ$}X&LT5o0从事了几年测试工作,也着实见证了测试的发展,如今测试行业对从业者的要求是越来越高,不再仅仅局限于要求会写测试用例、会细致的执行测试、能有效的发现系统缺陷等;越来越多的企业对应聘者本身的技能要求也越来越高,招聘信息中诸如精通VBscrīptPerl/Rbuy等至少一门脚本语言至少熟悉一门开发语言精通QTPLR自动化测试工具有大型项目自动化实施成功经验此类的字眼也逐渐增多。目前看来,除白盒测试内容和测试管理外,主流的方向有两个:功能自动化测试和性能测试。这就要求从业人员能够在短时间内快速的掌握这些知识,才能获取到更好的工作机会。本人是名功能自动化测试的工程师,以自己学习、工作的过程结合QTP讲讲该如何学习自动化测试

gC]C2h-qU051Testing软件测试网 p.E?O/^uT#Z

首先,想从事自动化测试,必须先了解What/Why/How,也就是常说的去了解什么是自动化测试、为什么要进行自动化测试、该如何进行自动化测试,这类的资料在网上有很多,这里就不做重复了

.|-q/ODa}&mh$T\051Testing软件测试网LR;Z4N7k

其次,需要根据项目的特点,选择合适的自动化测试工具,并了解工具的特性。以QTP为例,该如何去掌握它呢?对于初学者,大多数都是通过录制的方式来生成脚本,这个阶段应该掌握的基础知识有

iA%E(s$dsB6H|Y0

1)     QTP是如何去识别对象的,对于新手经常会出现录制的脚本回放的时候报错的现象,这个时候就应该考虑为什么呢?如果很了解QTP识别对象的原理啊,我想就能很快定位到原因了51Testing软件测试网GS"}Fs6z ^!M~/^u&{

2)     去掌握一些QTP对象的方法,如GetROPrepertyGetTOPrepertyChildObjects等等,对于相似的方法应该去搞清楚到底区别在哪?像GetROPrepertyGetTOPreperty有什么区别等

U.Z q`dC0

3)     什么是Action参数、什么又是Test参数?两者有什么区别,又有什么联系,在同一Test和不同Test间这些参数如何工作

4w'J-RL-U$GJ r0

4)    什么是环境变量?环境变量是如何建立和使用的,环境变量在参数传递中和action参数、test参数有什么不同51Testing软件测试网 t JynB-G

5)    了解检查点的知识,明白什么是内置检查点,什么又是自定义检查点。并搞清楚在什么时候该如何使用检查点

?o kEbG0

6)    掌握对象库的操作,了解对象库对于测试的意义,象是否启用智能识别对测试脚本有何影响、为什么同一对象识别起来会有_1_2之类的后缀等都是需要去研究清楚的问题51Testing软件测试网*Z!Nzs7rWz q2d

:K.d2K(B7Wc Qg7z0这几个问题都搞清楚的话,那基本就能够利用QTP生成正确的脚本了,当然以上只是部分必须掌握的内容,其实还是很多细节的设置,就需要在实际运用中去掌握了

Fu8`4mkA051Testing软件测试网fZ+if yL{

接下来,就可以进一步提升自己的QTP运用水平了,这个阶段就需要去学习vbs知识和如何运用描述性编程实现脚本了,同时在这个过程中还需要去学习html知识、DOMXML、以及像excelword等的API知识了,总的来说,这个阶段应该掌握的内容大体上包括51Testing软件测试网 Z$|T ]5GY ?&Dut

1)    VBscrīpt的基础知识,熟悉常用的方法和函数,掌握文件对象的操作等51Testing软件测试网4I:O:a!@K7P

2)    熟练掌握XML技术excelwordAPI对象,可以根据需要创建日志

"{,]t*q9_s y {!Y0

3)    熟练掌握DOMHTML知识,能够结合这些技术对Web页面进行解析51Testing软件测试网c8bL I8ub)P

4)    掌握数据库的基本操作语句,能够利用ADO对象进行数据操纵

;zh"bH6@X0

5)    熟练掌握正则表达式,很多时候处理对象问题相当方便51Testing软件测试网^_.n({-y"qJ

6)    掌握如何调用dll进行工作

*jU;A:bn!@9Ba a0

7)    能够利用QTP的自动化对象模型创建出需要的运行模式51Testing软件测试网SGV~9b:B;]

8)    掌握WMI知识

2Si)dZ}{$Z0

~}]&X#K!{!v2N S\0以上只是我考虑到的部分,并不全面,呵呵,供大家参考,当然这些技术主要是针对Web系统运行,因为我们的系统就是B/S的,呵呵。如果这些知识都能够扎实的掌握的话,个人认为,基本上能够处理自动化过程中的绝大多数问题了,这个时候你对自动化测试的技术应该是有一定积累了

3o-qr!W3[]051Testing软件测试网hm0@I5|K y

接下来就需要考虑自动化测试框架问题了。当脚本规模到了一定的程度,就会面临一些问题,如:

5@)`6z/{ Z0

1)      如何有效的管理并调度脚本

.b| m;xD-bM0

2)    如何实现脚本运行的无人值守,测试过程中能够自动进行错误处理并进行日志记录

zp-`R _9a0

3)    如何生成简介明确的测试报告51Testing软件测试网v)qrj(U [

4)    如何能够更加高效的维护测试脚本

\d{:Qf;]^0

5)    实现框架代码和业务代码的分层、业务脚本和业务数据的分离51Testing软件测试网k?4rc/j{*nH u.LD-}6b

p*uu2}\7jw4guIZ0这个阶段主要体现的是测试人员的测试思想,是可以脱离工具独立存在的过程。当然各个公司项目的实际情况不同,导致设计出来的思想不同,但总体上来说一般包括数据驱动和关键字驱动两种模式。后者实现的技术难度大于前者,大多数公司目前都采用的数据驱动模式。这个阶段不应局限于技术运用上,而需要从测试全局考虑,进行分层设计、模块化实现,减少代码之间的耦合

4~C"^Ry%N i051Testing软件测试网{0JIw1W9N

如果以上三个方面都能够做的很好的话,那么恭喜你,你已经可以独立负责项目的自动化测试建立工作了,呵呵!

HbB-m S H0

G9VL|1NU5g#G0总之,学习自动化测试需要在实际项目中进行,这样提高的会比较快,项目中运用了很多种技术,自动化实施过程会碰见各种各样的问题,是很好的学习机会,关键要善于总结、积累经验,只要能够把各个细节做好,那么你一定能够成为一名优秀的自动化测试工程师51Testing软件测试网OB\|]U;N


TAG: Automation

1honglong1的个人空间 引用 删除 1honglong1   /   2009-02-15 09:14:22
5
刘沛的测试空间 引用 删除 zte_boy   /   2008-09-01 20:40:27
都是一步一步走过来的,呵呵,加油!
zrlcj的个人空间 引用 删除 zrlcj   /   2008-09-01 13:51:13
不错,但感觉自己要学习的东西挺多的。
引用 删除 星空   /   2008-08-25 15:21:32
很有实际的参考价值,我正在想要怎么学习自动化呢
季风的测试生活 引用 删除 jifeng   /   2008-08-12 11:24:55
总结的很好
季风的测试生活 引用 删除 jifeng   /   2008-08-12 11:24:55
总结的很好
 

评分:0

我来说两句

日历

« 2024-04-04  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 90861
  • 日志数: 79
  • 图片数: 1
  • 建立时间: 2008-05-18
  • 更新时间: 2009-06-04

RSS订阅

Open Toolbar