自动化测试

软件测试招聘方面基本上都有关于自动化测试的要求。了解 selenium、appium或者其他自动化测试框架至少熟悉一门面向对象开发语言,会使用JMeter、Postman等接口测试工具等等,这些相信在招聘信息上都看过,就不详细列举了。本文主要的目的就是科普一下什么是自动化测试。

测试

测试:这个我们熟悉。测试的本质:过程。测试是为了发现软件的错误,而执行的过程,这个过程可以是以下内容:运行被测试的软件,执行软件的功能运行其他工具,去检查软件的内部和外部。

自动化

自动化测试就是让被测试的软件自己运行起来,执行软件的功能;或者就是让其他的工具自己运行起来,去检查软件的内部和外部。

既然测试是一个过程,那么自动化测试,就是自动的执行的过程。

不知道童鞋们有没有思考过,机器怎么知道人类的要求?好吧~ 关键点是编程语言。机器学习一个编程语言,轻松和简单到令人发指的地步:安装上去,机器就学会了。好在人类学习编程语言也不是特别难的的事情。有了编程语言,就有了人机交流的桥梁,剩下的事情,是帮机器挑选工具。做对应的测试,找到对应的工具,这样自动化就自动起来了。

 

自动化测试

接下来我们探讨一下主流的自动化测试方案,无一例外,都有人机沟通的编程语言,加上机器操作的工具来组成。

功能自动化测试VBScript + QTP(HP UFT),商用功能自动化测试方案Python/PHP/Java/C#/JavaScprit/Ruby + Selenium/Appium + 单元测试框架,开源功能自动化测试方案这里我们多介绍一点。

Selenium/Appium 本身不能算是测试工具,而只是机器用来操作浏览器的工具,并且这个工具能听懂多种语言:Java,C# 这两个重 (zhòng) 语言Python,Ruby 这两个脚本轻语言PHP,JavaScript 这两个专门处理 Web 的语言工具外加指定的语言,可以让机器来操作浏览器,但是到此时还无法做到测试,于是才需要每个语言自己的单元测试框架,来一起完成这个功能自动化测试方案的构建。

此外,业界还一种暂时临时的方案,就是 Python 2 + Robot Framework + Selenium Library 插件 + 单元测试框架构成的一种测试方案。

主要基于两点:理念:这是一种基于关键字的方案,那么关键字是 QTP(HP UFT)的特长,并不是Selenium的本意技术:Python 2 终究是要退出历史舞台的,如果从零开始做自动化测试,还是直接入手 Python 3 吧,然而 Robot Framework 不支持 Python 3……Python/Java/C#/JavaScprit/Ruby + Gauge,又一款开源的功能自动化测试方案Thoughtworks 的基于BDD理念的自动化测试工具Gauge 本身就是完整的测试方案Gauge 是从需求分析师(BA)到测试工程师(QA)都覆盖的测试方案Java/Python + Macaca,阿里巴巴的功能自动化测试方案,缺点是文档少JavaScript + TestCafe,DevExpress 的开源功能自动化测试方案pure node.js - TestCafe不使用Selenium,并且不需要插件来在实际浏览器中运行测试。

软件测试

它建立在node.js的顶部,因此它与现代开发工具集成和工作良好无需额外的设置或配置- TestCafe是所有设置后立即运行测试npm install完整的测试工具 - 使用单个启动命令,TestCafe启动浏览器,运行测试,收集结果并生成报告JavaScript + Postman,免费的Web接口功能自动化测试方案Groovy + SoapUI,开源的Web接口功能自动化测试方案性能自动化测试Java/C + HP LoadRunner,商业版性能测试方案Java + JMeter,开源版性能测试方案Python + locust,开源版性能测试方案

事实上,自动化测试覆盖了从 UI (功能测试)到契约(接口测试)以及底层代码方法(单元测试)的整个过程,要想很好的掌握自动化测试,那么的确需要以下三种领域的经验积累:

编程语言,面向对象编程优先,因为大量的开源技术方案,都是基于面向对象的编程方式第三方测试工具和测试框架,这些主要通过官网的文档学习测试的理念与设计,工具和语言,只是测试的手段,如何准备测试数据,如何设置测试的检查点与测试步骤,这些决定了测试的成败

前端与服务器后端技术,是测试执行的保障。

posted @ 2019-02-22 23:59  小强找BUG  阅读(228)  评论(0编辑  收藏  举报