Web功能自动化测试工具CubicTest

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:gauxten01
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:该文简要介绍了CubicTest作为最简单的网页功能自动化测试解决方案之一,通过与功能更全的QTP比较来突出其优点与缺点。使用开放源码软件来替代QTP的知识,在为客户提供咨询时十分有用。最后,提供了一个开发的框架,以补充CubicTest和Selenium所不能提供的功能。这里还有很多可提高的余地,感谢那些来自论坛的优秀的软件架构师的贡献。
  关键词:Web功能自动化测试;CubicTest;Selenium;QucikTest Professional
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)09-2115-04
  Functional Web Testing Automation with CubicTest
  JIN Ming-yan
  (Tongji University, Shanghai 200092, China)
  Abstract: This paper briefly introduced CubicTest as one of the easiest solutions to automate functional web testing and emphasized its strength and weakness by comparing a more fully featured HP Mercury QuickTest Professional. Knowledge of open source alternative to QTP will be useful when serving customer as consultants. Lastly, I provided an overview of the framework I developed to supplement the feature CubicTest and Selenium do not provide. There is still much room for enhancement and I will appreciate contribution from talented software architects in the community.
  Key words: functional Web testing automation; CubicTest ; Selenium; QuickTest Professional
  当前没有一个作为行业标准的网页功能自动化测试工具能像JUnit那样做为Java应用程序的单元测试标准。即使像Quick Test Professional(QTP,下文同)往往作为第一选择,但也因为其是一个昂贵的商业工具,所以只能是有限的使用。在我们的“测试工具箱”中,一定会有一个更方便、更容易获得的替代方法。CubicTest[1]就是这样的一个易于使用的开放源码网页功能自动化测试工具。该文主要给出了在一个探索性的项目中,对使用CubicTest和QTP的评估中的一些发现。还介绍一个我小型框架,用以对CubicTest的一些扩展和功能补充。该文还把一部分重点放在了其他CubicTest使用者对此工具的反馈,并且概述了如何在实践中对它的利用。还为提供了一些有用的信息给那些使用自动化工具为客户提供测试的顾问,或者那些网页开发人员。
  1为何选用CubicTest
  Opensourcetesting.org[2]网站曾经编撰过一份公开源码的功能测试工具名单。在名单中,我试图寻找一个网页测试工具,能够使我不必编写代买来执行测试用例还能确保测试用例都是自我描述且直观容易理解。大多数的工具都需要用户编写Java或者XML(可扩展标记语言)的代码来实现断言或者检查点。但是,编码要求高度熟练的人员,以及大量的精力来维护测试。因为可读性差,又增加了那些不得不维护测试用例的痛苦因素。在下面的选项中给出了CubicTest的主要特点:
  1)录制用户交互。没有Java,XML或者任何编码需要。
  2)以图形化屏幕工作流形式来展现测试用例。
  3)与JUnit集成。可配置从Java的调用。
  4)可使用文本编辑器编辑测试用例代码。
  CubicTest是一个Eclipse的插件,可以在Selenium[3]中启动用以录制和执行测试用例。Selenium是另一个开放源码的网页测试工具,作为Mozilla Firefox的插件它可以录制网页的交互。使用这个功能,CubicTest能录制用户与网页的交互,并通过右击在网页中显示的文本来产生断言以及提供关键字检查。图1是CubicTest正在录制过程中的截图。在右手边,打开的Firefox浏览器中,我在文本“11111”上右键从上下文菜单中选择”Assert Test‘11111’Present”(断言文本“11111”与当前文本)。在左手边,在Firefox浏览器背后是CubicTest通过录制同步生成测试用例的功能。这种简便的使用并不需要特别的技能,这使得大量测试用例的开发变得低成本和容易部署。它的学习曲线十分容易,我和我的小组差不多花15到30分钟就可以开始上手。即使对于那些没有计算机知识和技能应届毕业生,在学历了30分钟左右的教程以后也能成功的写出测试用例。
  该工具用户友好的图形表达,能使任何人都可以理解和维护测试用例,并且编程的知识也不一定是必需的。
  与Java的集成给予了架构师、高级程序员很大的自由度去添加那些CubicTest周边功能用以补充那些在CubicTest范围内的缺少功能。添加了一个执行在文件中的SQL(结构化查询语言)语句的小功能,用以在执行测试用例前后准备和整理数据库。在下面的文章中,描述实施此功能的框架。
  每个CubicTest的测试用例都基本上是一个XML文件,这使得用AWK,Perl或者Ruby去做类似文本替换这样的修改,相比通过GUI(用户图形界面)逐个去修改要简单的多。尽管,你通常不需要查看或修改XML的测试用例,通过脚本编辑器修改文本来驱动测试用例的功能可以是改进其维护性。例如,假设网页服务器的主机名都是内嵌在每个测试用例文件中。在不同的环境中,你就需要更改你的主机名。你可以写一个脚本来替换主机名,而不是打开每一个测试用例手工的去修改。
  CubicTest是满足上述优点的工具之一。在继续深入之前,建议花30分钟左右阅读其教程用以了解那些我描述的优点。请相信,这十分容易。
  
  
  图2框架结构
  4进一步的工作
  目前,正在探索一种能用简单的方法来添加数据检查功能的框架。其关键因素是:
  1)测试设计人员不是必须要写Java代码。
  2)可以避免重复的精力去创建和维护那些供测试人员使用的文档(通常是电子表格)和供程序使用的(通常是XML)的测试数据,期望数据。成功的测试自动化的关键是就花最少的功夫。
  相信这十分方便使人们在一个电子表格中看所有测试用例的测试数据和预期数据,以便快速了解每个测试用例间的差别。在团队中,使用了这种方式来设计和审查测试数据和预期数据。更好的讲,如果能转换人们可阅读的电子表格到程序阅读的XML文件,并利用数据库测试框架,比如DbUnit,来加载、清除和验证数据库状态。另一种可能性是从数据库中生成XML文件和电子表格。
  5结束语
  希望从该文的读者中获得建议或意见。此外,欢迎读者修改、扩展和改进框架代码并且在论坛中共享。
  参考文献:
  [1]“CubicTest”, OpenQA[EB/OL].http://cubictest.seleniumhq.org/.
  [2]“Functional test tools”, opensourcetesting.org[EB/OL].http://www.opensourcetesting.org/functional.php.
  [3] SeleniumHQ [EB/OL]. http://seleniumhq.org/jinmingyan.1981@gmail.com.
其他文献
目的观察食管鳞癌组织中肝细胞生长因子(HGF)及其受体c-met的表达变化,并探讨其临床意义。方法采用RT-PCR技术和免疫组化法检测50例食管鳞癌患者手术切除肿瘤组织(观察组)和其中2
在计算机网络技术日新月异的今天,怎样为社会培养掌握过硬本领的知识、技能型人才,是当今高校教学改革的一个长期改革方向。详细探讨了新形势下计算机网络课程的主要教学、实践
摘要:现在信息检索的应用已经越来越广泛,但要在具体领域中做到准确搜索,仍然是一件比较难的事情。该文提出一种基于概念语义树的语义相似度计算方法,综合考虑了概念的语义关系、层次结构和继承关系等因素,尽可能的地提高在特定领域中的信息检索效率,并最后通过实验,验证了该方法的可行性。  关键词:语义检索;概念语义树;语义相似度  中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2011
Nginx是一个开源的高性能http服务器和反向代理服务器,其最大优点是支持高并发连接,并消耗很少内存。Jboss AS7.x引入域管理功能,为JEE程序发布提供了快捷管理功能。该文就是
随着科学技术的不断提高,使用计算机对图书馆信息进行管理,极大地提高了图书馆管理的效率。同时,图书馆管理信息系统的管理,应重视前端的应用程序和后台的数据库建立和维护,
阿拉尔高位于阿尔及利亚撒哈拉地台东部三叠盆地和西部古生界盆地的过渡带,是海外油气勘探的重要战略区。在区域构造-沉积演化分析的基础上,对阿拉尔高地区生储盖组合发育特
期刊
摘要:计算机网络基础是计算机类专业的一门重要的专业基础课程,而传统的教学方式已经不能满足高职院校对学生培养的要求,该文针对计算机网络基础课程的教学内容、教学方法和教学过程等方面的改革进行详细的阐述。  关键词:计算机网络基础;课程改革;教学内容;工作任务  中图分类号:G642 文献标识码:A 文章编号:1009-3044(2012)30-7297-03  计算机网络基础课程是
针对气压式电子驻车制动系统中的电磁阀匹配问题,对改进设计的直动式两位两通电磁阀,以及常见的微型电磁阀、分步直动式电磁阀进行研究。首先对气压式电子驻车制动系统展开了