APP下载

软件测试自动化管理系统的设计与实现

2014-10-21张思亚

计算机光盘软件与应用 2014年24期
关键词:软件测试脚本浏览器

摘 要:现代化信息技术不断发展,软件在我们生活中扮演着不可或缺的角色。软件测试的地位也越来越重要。其中软件测试自动化管理系统为软件测试带来了福音,以自动化测试代替手工测试,极大提高了工作效率。这项技术的发展不仅缩短了测试工期和降低了成本费用,而且保证了软件质量。本文设计与实现了一个软件测试自动化管理系统。

关键词:软件自动化测试;自动化管理系统的框架构建;设计与实现

中图分类号:TP311.5

软件测试自动化管理系统不仅能测试数字化资产管理,方便数据在整个测试期间内循环使用,而且大大提高了测试效率,使得测试人员能有足够时间致力于研发更好、更快的测试新产品。自动化测试的目的就是减轻手工测试时的工作量,力争在最短时间内节省最多人力、物力资源,最终达到保证软件质量的目的。

1 软件自动化测试的优点

相比一般测试软件来说,软件测试主要有这三方面的优点。第一,软件测试能完成一些手工测试难以完成的项目。比如大数据量测试、压力测试、模拟系统测试等,都是一些手工测试无法驾驭的;第二,软件自动化测试能降低风险,提高软件产品质量。自动化测试相比手工测试成本较低,人力使用量少,大大降低了资金风险,以最少的花费取得最大的收益;第三,自动化测试具有统一性和可循环性。自动化测试时使用相同脚本,所以每次测试都能保证一致性,这点是手工测试无法做到的。

2 软件测试自动化管理系统的结构

软件测试自动化管理系统的结构其实就是通过一些假设和概念,以此为根据来为软件测试自动化管理系统提供支持的实际组成。

2.1 脚本模块结构。脚本模块结构的构建需要一系列相对较小、独立的脚本来表示一些程序和函数的帮助,然后采用分级方式来将这些脚本组成较大的测试,最终构成一个特殊的测试用列,自动化测试脚本有结构脚本和共享脚本。结构脚本中含有脚本执行的命令,在一定情況下,这些命令成为控制结构或调用结构。结构脚本的主要特点体现在控制性上,控制整个自动化流程的进行;共享脚本是脚本能同时被多个测试用例利用,实现脚本资源共享。共享脚本不仅稳定性好,而且可以循环利用,减少工程量。

2.2 测试库结构。测试库框架的结构与脚本模块框架差不多,不同的是测试库结构将待测试应用程序分解成函数和过程而不是脚本。实现功能的个体由脚本变成了函数,这些功能函数被储存在一个库中,这个库就被叫做测试库。当测试进行时,就可以调动测试库函数来执行程序。图1就是通过TCL语言实现测试库结构的自动测试化用例。

2.3 混合型测试结构。从字面上来说,混合型测试结构就是结合多个测试结构特点,取其精华以形成的一种框架结构。软件自动化测试管理系统是以关键字驱动为主要框架的系统,并以脚本模块和测试库结构为辅,较好解决了框架单一,功能简单的问题。图2就较好概括了混合型测试结构的工作原理。

3 软件测试自动化管理系统的设计与实现

自动化测试系统(Automated Testing System,ATS)主要以混合型测试自动测试框架为主,支持自动化测试系统完成一些基础设备操作的一类测试管理系统。ATS是一个与具体测试业务和被测对象无关的一个测试平台,可以被任何对象和测试业务所利用。其实真正和测试业务有联系的是ATS中的API,它为测试提供了一个统一的框架,使得测试具有统一性和稳定性。而且ATS还支持脚本管理,利用ATS提供的API较为方便的编写出测试脚本,提高测试效率。在ATS中,测试脚本主要分为三个部分:Test case、Test suite 和Test job。软件测试自动化管理系统ATS的设计结构总共由5个模块构成:User Interface、Request Handler Manager、Job Controller、Execution Server、Suite Execute Layer。下文主要对其中的2个模块做具体分析。

3.1 Request Handler Manager。ATS主要采用B/S结构,用户在使用软件自动化测试系统中只需打开Web浏览器,而不要安装客户软件就能完成测试,方便快捷了人们的工作。用户在界面上的所有操作都会以数据形式由Web浏览器发送到Web服务器上。但是,Web浏览器不能记住所有操作从而会大大降低系统机动性和延伸性。Request Handler Manager就能很好解决这问题,由它来记住操作和处理器之间的关系,Web浏览器只需接到指令就好。

3.2 Execution Server。Execution Server的主要特点是执行job。因为job由多个suite组成,所以Execution Server需要给每个job提供一个suite队列,然后来执行程序。但是Execution Server不会主动处理,它通常是接到请求后才会执行操作流程,扮演着一个被动者的身份。图3就完整的描述了Execution Server整个执行过程。

4 结束语

综上所述,软件自动化测试管理系统是软件开发的一个重要环节,将直接决定着软件质量和办事效率。但是软件本身就存在多变性和复杂性,相应的自动化测试系统要不断更新和改善,才能提高软件质量,从而方便人们生活。另外,软件开发技术人员要不断丰富自身专业知识和提高技术能力,为软件测试行业带来新的生机与活力。

参考文献:

[1]严少清,陈革,万年红.软件测试自动化管理系统的设计与实现[J].计算机工程,2002,09:152-153.

[2]江鲸.软件自动化测试系统的研究与实现[D].电子科技大学,2006.

作者简介:张思亚(1990-),女,贵州遵义人,本科在读,研究方向:计算机科学与技术(软件工程)。

作者单位:重庆文理学院,重庆 402160

猜你喜欢

软件测试脚本浏览器
酒驾
基于OBE的软件测试课程教学改革探索
反浏览器指纹追踪
数据库系统shell脚本应用
EXCEL和VBA实现软件测试记录管理
关于软件测试技术应用与发展趋势研究
快乐假期
软件测试工程化模型及应用研究
环球浏览器