自动化功能测试和接口测试工具整理( 二 )


  • 自动化测试代码或脚本的编写 , 可以是人工编写 , 也可以通过录制生成 。
  • 测试数据的产生问题 , 参考测试管理过程域
  • 自动化测试脚本能够重复执行的要求 , 确保每次持续集成都能够重复运行测试脚本
到了自动化测试的第四级开始 , 可以看到增加了对独立的自动化测试平台的要求 , 同时也增加了对测试结果分析和度量的要求 , 即通过测试结果的度量分析来进一步改进测试效率 , 提升代码质量 。
自动化测试概述今天只谈下对于常见的一个Web应用的自动化测试应该如何去考虑 。
要知道自动化测试不是一个新鲜的东西 , 很早就有 , 只是最近几年有了新的发展 。比如在10多年前我们做每日构建和冒烟测试 , 持续集成的过程中 , 我们就已经在用Junit做自动化测试 , 并集成到整个持续集成过程 。在每日构建完成后 , 自动化运行Junit的自动化测试脚本并输出冒烟测试的测试结果报告 。
而在当时如果涉及到CS应用的自动化测试 , 包括对于Web类应用的自动化测试 , 我们采用QTP(现在改名为UFT)工具来做自动化测试 , 但是并没有得到广泛的应用 , 一个核心的原因就是QTP来做Web端的自动化测试 , 实际上脚本录制和代码编写量都很大 , 而且很难对所有的测试用例做到完全覆盖 , 同时即使用了QTP工具录制和维护脚本 , 实际的人工测试还是不能省略 , 因此这些都导致了QTP自动化测试并没有大范围推广 。
而最近几年的发展可以看到 , 对于Web自动化测试Selenium和Robot Framework逐渐成为了主流的自动化测试框架和选择 。同时在微服务架构 , 前后端分层开发推广下 , 对于接口的自动化测试也发展很快 。
UFT/QTP自动化测试工具 
自动化功能测试和接口测试工具整理

文章插图
 
QTP是Quick Test Professional的简称 , 是一种自动测试工具 。当前已经更名为UFT , 即统一功能测试框架 。使用QTP的目的是想用它来执行重复的自动化测试 , 主要是用于回归测试和测试同一软件的新版本 。因此你在测试前要考虑好如何对应用程序进行测试 , 例如要测试哪些功能、操作步骤、输入数据和期望的输出数据等 。
HP QuickTest Professional 提供符合所有主要应用软件环境的功能测试和回归测试的自动化 。采用关键字驱动的理念以简化测试用例的创建和维护 。它让用户可以直接录制屏幕上的操作流程 , 自动生成功能测试或者回归测试用例 。专业的测试者也可以通过提供的内置脚本和调试环境来取得对测试和对象属性的完全控制 。
以QTP为核心的自动化测试框架优点在于:适用性好 , 很多人都已经会用或者至少说可以简单应用 , 脚本也简单易懂 , 大多数无任何代码基础的测试人员都可以加入脚本录制和调试 。然而它最大的缺点就是对象库 , 关键字的框架 , 灵活度也不高 , 且加上QTP在对flex等的支持上 , 也是让许多人头疼的问题 。
在原来对于编码能力往往测试工程师都比较弱 , 因此对于QTP这种可以自动录制 , 自动执行和输出报告完整工具应用相当广泛 。而现在的自动化测试技术栈 , 不管是接口、web、移动端 , 绝大多数都是基于开源项目来构建 , 测试人员本身的编码能力也在加强 , 特别是类似Python等脚本语言的大量使用 , 因此现在实际还在采用类似QTP商用工具的已经越来越少 。自动化测试更多的采用类似Selenium ,  Robot Framework等开源工具进行集成 。
Selenium自动化测试工具
自动化功能测试和接口测试工具整理

文章插图
 
Selenium是一个用于Web应用程序测试的工具 。
这个工具的主要功能包括:测试与浏览器的兼容性 , 测试你的应用程序 , 看是否能够很好得工作 , 在不同浏览器和操作系统之上 。测试系统功能 , 创建回归测试检验软件功能和用户需求 。支持自动录制动作和自动生成 .Net、JAVA、Perl等不同语言的测试脚本 。
Selenium当前免费 , 而且可以和Jenkins , Maven , TestNG等实现集成 , 同时支持多语言 , 多平台和浏览器 。因此当前被使用的相当多 。


推荐阅读