最后,详细介绍了基于 TestLink 的">自动化测试解决方案的核心实现技术,即如何通过编程的方式自动化的从测试计划中获取测试用例信息、如何上传、下载、执行测试用例脚本文件和如何回传测试结果信息到 TestLink 等。
本系列文章适用于需要为测试团队寻找测试过程管理解决方案的测试设计、测试管理人员。目前,开源理念在国内外越来越深入人心,开源软件大大推动了软件研发行业的快速发展。TestLink 作为软件测试管理类开源软件中的佼佼者,在中小型的软件测试项目组中得到了普遍应用,项目组的测试效率得到了很大的提升。本文作为使用 TestLink 管理软件测试过程系列文章的第二部分,主要介绍如何使用该工具管理软件自动化测试过程。首先探讨设计自动化测试框架时需要考虑的几个关键点,接着介绍基于 TestLink 的自动化测试解决方案。最后,详细介绍了基于 TestLink 的自动化测试解决方案的核心实现技术,即如何通过编程的方式自动化的从测试计划中获取测试用例信息、如何上传、下载、执行测试用例脚本文件和如何回传测试结果信息到 TestLink 等。本系列文章的第一部分已对如何使用 TestLink 管理软件功能测试过程进行介绍。
首先,探讨一下设计自动化测试框架时,需要慎重考虑的几个关键设计点。
设计自动化测试框架的关键点
在设计自动化测试框架时,测试架构设计师需要考虑很多关键设计点,这些关键点决定着测试框架的成败。本文中,我们主要关注以下三点:如何维护测试用例脚本文件、如何汇总展示测试结果统计报表和自动化测试框架如何与其他研发管理平台的集成。
如何维护自动化测试脚本文件是需要考虑的重要关键点之一。从实际自动化测试项目来看,维护自动化测试用例脚本文件的方式主要有以下两种:
文件系统
使用自动化测试工具录制、编写完毕自动化测试脚本,自动化测试工具会把脚本文件维护在本地文件夹。为了在测试团队之间共享,会进一步把脚本文件维护在服务器共享文件系统上,甚至会维护在 FTP 服务器。在执行那些脚本文件之前,需要预先复制那些脚本文件到执行环境。比如:自动化脚本存储在服务器 A,如果计划在服务器 B 和服务器 C 上分别运行不同的脚本。一般的做法是:先将相应的脚本文件手工从服务器 A 分别复制到服务器 B 和服务器 C,然后再在服务器 B 和服务器 C 上分别运行自动化测试。如果还有更多的服务器需要运行脚本,采用类似的方法复制,运行即可。除了手工干预,编写 DOS 批处理脚本、Shell 脚本或者编程等自动完成复制,会更加有效率。
版本配置管理软件 SVN 等
使用版本配置管理软件 SVN 管理自动化测试脚本文件,比使用服务器文件系统管理更加灵活。可以充分利用 SVN 的版本控制特性,维护脚本文件的多个版本;还可以利用 SVN 的权限设置特性,为测试套件设置访问权限。需要执行自动化测试的时候,手工检出脚本,或者编写脚本自动化检出。
上面所描述的维护自动化测试脚本文件的两种方式有很多局限,比如,测试用例文档和测试用例脚本文件分隔开来,无法实现一一对应。查看脚本文件时,需要去别处查找测试用例文档。再比如,使用上述两种方式维护自动化测试用例脚本文件,需要花费很多精力去设计脚本维护模块与自动化测试框架其他功能模块单元的集成。本文会分享一种使用 TestLink 维护自动化测试脚本文件的解决方案,通过 Web 方式在线访问存取测试用例脚本文件,而且测试用例和测试脚本很容易一一对应,在同一个页面实现对两者的访问。TestLink 的丰富功能模块,版本管理、权限设置、结果报表等功能模块都可以为自动化测试框架所复用。
一个用户体验良好的测试框架必须拥有一个良好的汇总展示测试结果统计报表的设计与实现。目前流行的自动化测试工具通常会把测试执行结果保存在测试工具所运行的服务器上。如果多台机器同时运行,会产生不同的分散结果,这就会遇到结果查询与汇总的问题。如果脚本执行结果分散在不同的机器上,需要复制到同一个服务器上进行汇总;由于不同的测试框架所产生的测试结果数据格式不统一,需要进行提取与分析;结果数据解析汇总后又会遇到统一管理维护与展示问题;测试结果也无法8206.html">实时更新,不能满足用户实时查询等问题。为了解决这些问题,在设计自动化测试框架时,不得不花费时间与精力额外设计与开发测试结果汇总解析与展示模块,用于向测试管理人员与执行人员展示测试结果报表数据。
设计优秀的测试框架时,还不得不考虑自动化测试框架如何与其他研发管理平台的集成。目前大多数测试团队的自动化测试框架,很难与其他研发测试管理平台进行数据共享与同步,比如:自动化测试执行完成后,其自动化脚本所覆盖的测试用例的执行结果信息,仍然需要在测试用例管理平台上通过手工标记 Pass、Failed、NotRun 等进行变更;同样对缺陷管理平台也是如此,有 Failed 的测试用例,仍然需要手工在缺陷管理平台中填入缺陷信息,而不能自动同步到缺陷管理平台中去。本文提出的基于 TestLink 的自动化测试解决方案可以自动回传自动化执行结果到 TestLink 服务器,并能与第三方开源缺陷管理平台进行良好的集成。
接下来,让我们一起探讨一下把测试框架与 TestLink 进行集成的解决方案。该方案的显著特征为:使用 TestLink 的测试用例附件功能模块来维护自动化测试脚本文件,利用 TestLink 的测试结果报表功能模块来汇总展示自动化测试执行结果。通过扩展,自动化实现 TestLink 与第三方开源缺陷平台的进行集成。