来说,是非常适合的,解释执行的脚本语言可以再有限的代码量内开发 出尽可能丰富的功能,而不用担心内存分配与释放等其他编译执行语言需要考虑的问题。而面向对象有可以满 足第二点的要求。所以,如果选择自动化框架的脚本语言,推荐 Python 和 Ruby。 业界常用的控制库的设计方法和工具有哪些? 业界常用的控制库的设计方法和工具有哪些? 既然是自动化测试,就涉及到对远程的被测试对象进行无人值守的自动化控制与测试。需要自动化复现测 试人员的手动操作步骤和结果判断步骤。而对于远程被测对象的控制,可以分为 1、命令行(CLI)控制 2、图形用户界面(GUI)控制 CLI 的控制主要是使用 Expect 的远程控制库。Expect 库在 TCL 上最先开发,后来也被移植到了 Perl, Ruby 和 Python 上。 控制图像界面的工具分为控制 Web 浏览器的工具和控制窗口的工具。具体应用的时候又可以分为开源和 商用工具两个方面:
常用 Web 浏览器自动化控制商用工具: ● Winrunner ● QTP ● Silktest ● IBM Rational Robot 常用的 Web 浏览器自动化控制开源工具: ● Selenium ● AutoIT ● IE Automate ● Ruby Waitr 推荐使用工具的原则是无论使用商用还是开源的自动化测试工具,都需要可以支持标准的脚本编程语言: TCL, Perl, Ruby, Python。这样,可以保证自动化测试体系不会锁定在某一个测试工具上。 一个测试框架最基本功能是什么? 一个测试框架最基本功能是什
么? 既然是一个测试框架,很多设计人员喜欢把一大堆的东西都塞在里面,为测试框架增添很多的功能。实际 上,一个测试框架应该在两个核心功能上做好文章,其他的都是次要的辅助功能: 1、强力的执行引擎:真正做到无人值守 2、良好的报表生成和管理功能
所谓强力的执行引擎,是指一个自动化测试框架在批量执行脚本的情况下,不论遇到什么情况,如脚本运 行错误,脚本质量错误,测试环境异常,被测设备死机或者挂起等,都要有能力重新清理测试环境,使测试环 境恢复到最初始的状态,并执行接下来需要执行的脚本。 也就是说,一个好的测试引擎,能够做到 24 小时 7 天的无人值守的运行,而不会中途因为任何的非物理异常而退出。 良好的报表生成功能是指一个测试框架要有分布式的对脚本的结果的收获和呈现的能力。很多情况下,脚 本是并发执行的,就像一下子种了一大块田,而当脚本执行完毕,也就是庄稼成熟的时候,如何对脚本执行的 结果进行快速收割,并捆绑好,整齐划一,让人对结果一目了然。更重要的是,要需要能够提供针对不同版本 的相同自动化脚本执行日志的比较。并能够对这些报表进行
搜索和排序, 这些都需要一个很好的报表生成和 管理功能。 要不要IDE开发环境? 要不要IDE开发环境? IDE开发环境 很多人问,一个自动化测试框架,如果没有一个集成开发环境,开进行脚本的开发和调试,那还叫做自动 化测试框架么?实际上,这里面有一个对自动化测试框架理解的误区。而这个误区,在没有真正做过完整的软 件测试发布流程之前,是一个脚本开发人员不会了解的。 一个自动化测试框架的目的到底是什么?很多人一下子回答不上来。而在多年的实践中,我们了解到,一 个自动化测试的最重要的目的,或者说它存在的理由是:缩短产品的测试周期。企业之所以愿意在自动化测试 框架上投入人力和物力,主要原因还是因为自动化框架可以大规模的驱动自动化测试脚本的并行执行,并能够 在短时间之内获取到测试结果。并根据测试结果生成完整的测试报告。而这个测试报告时一个软件版本能否发 布的重要的质量依据。越早拿到整个测试
报告,产品的发布周期就会缩短。 Time to Market 的时间就会缩短, 企业就会早一点占领市场。 从这个角度看,一个集成的开发环境并不能够满