领测软件测试网
4支持外部函数库
除了针对被测系统建立库函数外,一些外部函数同样能够为我们的测试提供更强大功能,如
WINDOWS程序中对DLL文件的访问,CLIENT/SERVER程序中对
数据库编程接口的调用等。举一个很简单又很实用的例子,做向数据库插入一条记录的操作,程序可以提示我们已插入成功,但是否数据确实正确写入数据库中,通常我们要手工去数据库里进行检查以确认功能的正确实现,如果能够在
测试脚本中插入检查点,通过调用数据库提供的编程接口,来检查刚才的操作是否执行正常,这样就无需我们人工检查,测试程序可以自动完成一些校验的功能。
5抽象层
抽象层用于将程序界面中存在的所有对象实体一一映射成逻辑对象,帮助减少测试维护工作量。有些工具称这一层叫“TEST MAP”“GUI MAP” 或“TEST FRAME”。举个简单的例子来看看抽象层的作用。如一个用户登录窗口,其中需要输入两条信息,程序中对这两条信息的标识分别叫“NAME”和“PASSWORD”。这时你建立抽象层,把这两条信息也标识为“NAME”和“PASSWORD”,而且在很多脚本里都要做登录操作。但是在软件的下一版本中,登录窗口两条输入信息的标识变成了“USERNAME” 和“PWORD”。这时难道需要把所有脚本都修改一遍吗?其实你只需要将抽象层中这两个对象的标识进行一次修改就可以了。脚本执行时通过抽象层自动会使用新的对象标识。多数软件支持对程序界面自动搜索,建立所有对象的抽象层,当然也可以手工建立或进行一些定制操作。
6分布式测试(distributed test)的支持
一个软件测试项目,通常需要多名
测试人员协同工作,由其在
自动测试中,当两项测试任务要同时打开一个文件时,会出现资源竞争问题,因此如果测试工具不支持分布式测试,将很难保障这种协同测试工作的开展。分布式测试最大的好处是我们可以事先定制任务执行的时间表,如在指定时间、指定设备上执行指定测试任务。
7支持数据驱动测试(data-driven test)
即支持对操作系统文件的读写操作。在数据驱动测试中,测试脚本通过从事先准备好的数据文件中读取或写入数据保证
测试流程的正常执行,这样我们只需编制少量的脚本,而准备大量的测试数据,测试工具可以自动重复完成大量的测试工作。比如在WINDOWS系统中,如果测试工具支持对INI文件的处理,被测软件通过读。INI文件知道要在哪一台
服务器上运行,那么我们只要把需要进行程序的服务器名写进。INI文件中,而不需要修改测试脚本,就可以让程序在指定设备上运行。
8错误处理
对于可以自动执行的测试任务通常我们会在上班时间将任务定制好,下班后启动任务执行,第二天上班再来检查测试执行的结果。但是可能经常会出现本来需要执行整晚的工作,第二天来发现才执行了五分钟就因为程序一些异常错误而终止了,而且这种情况可能经常发生。因此如果测试工具有一套很好的错误处理系统,能够帮助我们在问题出现时,跳过错误,或对系统进行复位,然后继续执行下面的任务。当然如果我们能够对错误处理系统进行定制就更好了,比如对于每一类错误自动执行预先写好的相应修复程序,这样自动化测试系统才会更健壮。
9调试器(de
bugger)
调试器在自动测试系统中的作用与软件
开发集成环境中的作用类似,可以帮助我们更有效地对测试脚本的执行进行跟踪核对,迅速定位问题。通常调试器与测试脚本的开发环境是集成在一起的,支持脚本单步运行、设置断点、核对变量返回结果等。也有一些功能更强的调试器,可以跟踪进入可执行程序、外部调用的库函数等等。
10源代码管理
类似于版本管理,源代码的管理对于任何一个软件开发系统来说都是很重要的,在自动化
测试管理过程中也同样必要。可以帮助我们进行测试脚本库的倒入、倒出,回退到以前版本、比较不同版本间差别,以及同时对几个项目进行跟踪等,由其在团队开发中很有必要,可以对测试数据文件、测试脚本、对象抽象层进行统一管理。如果
测试环境与开发环境使用同一套版本管理工具,能够给
项目管理带来更大的便利。
11支持脚本的命令行方式(command line)执行
如果能够通过命令行方式运行测试脚本,可以为测试的执行带来更大的灵活性。如机器启动时、程序BUILD后都可以自动启动测试脚本的执行。
12 用户社区
测试工具通常没有这个功能,但最好能寻找一些其它工具,帮助建立用户讨论组、WEB站点等,支持成员间互相讨论、学习,共享一些比较实用的函数、源代码等,这对于自动化测试的开发非常有用。
购买建议
对于大多数单位来说,购买一个软件工具不可避免都要有相当可观的资金投入,这里涉及到的不单单是购买的费用,还包括现有测试工作全部转向新的工具、或继续对现有工具进行维护等的开销。那么先买少量的LICENSE,在小范围内使用通常是减小风险的好办法,可以先试用一段时间,如果效果很好,我们可以有足够的信心进行全面更新,如果效果不理想也没太大关系,毕竟还没有做更多的投入。特别是对于现有工具还可以使用,但是上面提到的某功能又不具备时,建议采用这种购买方法,因为更换一个工具的实际开销一定会比你预想的要多。
结论
对于自动化测试工具的评估和选购确实需要非常慎重,因为多数销售商在推销产品时会首先强调产品的易用性,而对其功能的扩展能力、定制和编程等不会做特别的宣传,而这些特点都是在你已经使用了一段时间,系统的维护、源代码的管理工作量越来越大以后,才会发现它的重要性的。因此以上提到的这些特征能够帮助对工具的选购提供参考,在实际情况应该根据对工具的要求、资金情况进行考虑。同时也切不可相信销售商说明他的产品能够如何如何容易实现自动化测试,其实所有自动化的工作都离不开对产品相当熟悉的基础上,进行必要的开发和定制工作。
文章来源于领测软件测试网 https://www.ltesting.net/