引子:目前国内软件企业对软件测试越来越重视,都有专门的测试部门,而且很多公司还有专门做自动化测试的。但是由于我国的测试行业起步比较晚,积累还不多,很多公司都在探讨适合自己的测试方式,包括手工测试和自动化测试,当然也包括性能测试。笔者长期从事自动化和性能测试的设计与培训工作,对如何构建一个企业级的自动化测试框架有一些心得体会,愿与所有测试人一起分享,如有纰漏欢迎指正。
声明:本文将不探讨自动化测试的可行性,也不探讨具体的自动化测试如何展开,而是站在一个更高的层面,探索如何构建一个企业级自动化测试框架,并使之提升企业的生产力。本文面向已经具有自动化测试经验,且认可自动化测试并愿意在自动化测试领域进行深入研究的企业和个人,另外,本文只探讨基于应用级的自动化测试,不包括基于代码级的单元测试和基于协议级的性能测试。
一、自动化测试概述
1、自动化测试原理
但凡提到“测试”,它一定与另外四个字密不可分,那就是“期望结果”,毫无疑问,我们要真正理解测试是什么,最重要的就是理解这一个基本原理。手工测试是这样,自动化测试也是这样,自动化测试工具是不知道任何产品的商业逻辑的,工具也不能像人一样具有智能。工具其实非常单纯,它只做一件事情,那就是把实际运行的结果和我们给它的期望结果进行比较,结果一致则测试通过,否则测试失败。
自动化测试工具要实现自动化从而代替人的手工操作,只需要实现如下三个功能即可:
对象识别:手工测试中点击鼠标和键盘是必须的操作,使用工具来做测试则需要首先找到它应该点哪个对象,应该在哪个文本框中输入值。
检查点:检查点就是期望结果,我们将期望结果写入检查点,运行过程中工具将实际结果与检查点进行对比来决定测试是否成功,代替人工判断。
参数化:为了实现代码的重用和不同的输入,我们使用参数化来完成并可提升测试效率。
2、自动化测试流程
从流程中我们可以看出,一个好的测试框架,将直接决定着测试脚本的开发,使用与维护,也就意味着:时间。
为何要做自动化?我想不会是为了找到更多缺陷(道理很简单:如果自动化测试能找到缺陷,那么在设计自动化测试脚本并调试时缺陷已经暴露),而是为了……
……………………
查看全文请点击下载:http://www.51testing.com/html/76/n-212876.html
3、自动化测试工具
自动化测试工具相对来说已经是一门比较成熟的技术,由于其实现原理相对简单,所以自动化测试的工具框架越来越多,给企业选择带来了不少的麻烦。本文并不探讨如何进行工具造型,但是考虑到后面章节会提到一些工具,所以将目前市面上一些较有名的工具或框架按功能列出,仅供参考:
测试Windows窗口程序:HP公司的QTP,IBM公司的RFT,免费的AutoIt,MS的UIAutomation。
测试Web应用程序:……
……………………