色欲香天天综合网站,亚洲AV优女天堂熟女,色一情一乱一伦一区二区三欧美,日本久久综合久久综合

一分鐘了解自動(dòng)化測試

引子寫在最前面:目前自動(dòng)化測試并不屬于新鮮的事物,或者說自動(dòng)化測試的各種方法論已經(jīng)層出不窮,但是,能夠明白自動(dòng)化測試并很好落地實(shí)施的團(tuán)隊(duì)還不是非常多,我們接來下用通俗的方式來介紹自動(dòng)化測試……...

引子

寫在最前面:目前自動(dòng)化測試并不屬于新鮮的事物,或者說自動(dòng)化測試的各種方法論已經(jīng)層出不窮,但是,能夠明白自動(dòng)化測試并很好落地實(shí)施的團(tuán)隊(duì)還不是非常多,我們接來下用通俗的方式來介紹自動(dòng)化測試……

本文共有2410字,閱讀需要大約一分鐘。

首先我們從招聘崗位需求說起??唇诘穆殬I(yè)機(jī)會,提到“軟件測試工程師”,基本上都有關(guān)于自動(dòng)化測試的要求。例如:

了解 selenium、appium或者其他自動(dòng)化測試框架至少熟悉一門面向?qū)ο箝_發(fā)語言,有一定的代碼功底優(yōu)先熟悉Java或者python,有一定的測試自動(dòng)化經(jīng)驗(yàn)和代碼閱讀能力了解接口集成測試,會使用JMeter、Postman、SoapUI等接口測試工具

等等,上述內(nèi)容不再一一列舉。突然自動(dòng)化測試遍地開花,好像測試工程師的自動(dòng)化測試能力成為了標(biāo)配一般。本文就從自動(dòng)化測試的要求入手,簡單的進(jìn)行自動(dòng)化測試掃盲,爭取讓各位在一分鐘之內(nèi)了解自動(dòng)化測試。

那么我們就從“自動(dòng)化測試”五個(gè)字來剖析。

測試

測試:這個(gè)我們熟悉。最經(jīng)典的一個(gè)解釋“程序測試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行的過程?!边@個(gè)來自于G.J.Myers的經(jīng)典著作《軟件測試的藝術(shù)》的定義,給我們展示了測試的本質(zhì):過程。

測試是為了發(fā)現(xiàn)軟件的錯(cuò)誤,而執(zhí)行的過程,這個(gè)過程可以是以下內(nèi)容:

運(yùn)行被測試的軟件,執(zhí)行軟件的功能運(yùn)行其他工具,去檢查軟件的內(nèi)部和外部

總而言之,是一個(gè)過程,執(zhí)行的過程。接下來就一張最常見的測試示意圖:

一分鐘了解自動(dòng)化測試插圖
確認(rèn)過眼神的手工測試

?比如:測試主管讓測試工程師去把軟件的所有功能遍歷一遍,該測試工程師通過鼠標(biāo)、鍵盤、麥克風(fēng)、手機(jī)屏幕觸控等,把軟件所有的功能,全部遍歷了,這個(gè)叫做什么?熟悉測試的童鞋明白,這就是傳說的“手工目測”呀,這是“人肉測試”。

我們好好的畫這張圖,實(shí)際上是這樣的。

一分鐘了解自動(dòng)化測試插圖1
好吧,手工測試

自動(dòng)化

到這里,結(jié)合上面的說法,自動(dòng)化測試就是讓被測試的軟件自己運(yùn)行起來,執(zhí)行軟件的功能;或者就是讓其他的工具自己運(yùn)行起來,去檢查軟件的內(nèi)部和外部。

既然測試是一個(gè)過程,那么自動(dòng)化測試,就是自動(dòng)的執(zhí)行的過程。

接下來我們探討的一個(gè)核心的問題:自動(dòng)。什么叫做自動(dòng)呢?讓機(jī)器自己動(dòng),就是自動(dòng)。讓機(jī)器按照人類的要求,把軟件的所有功能遍歷一遍,這是自動(dòng)化。。這樣說會不會清晰一點(diǎn)?

重點(diǎn)來了,機(jī)器。讓機(jī)器去動(dòng),這可不是“吃雞”哦,這是人類命令機(jī)器去操作。不知道童鞋們有沒有思考過,機(jī)器怎么知道人類的要求?上面的例子,測試主管只要告訴測試工程師,命令傳達(dá)就完成了。可是人類直接的溝通,遠(yuǎn)比人機(jī)溝通容易啊。

首先,機(jī)器聽不懂“人話”,無論中文,英文……其次,機(jī)器默認(rèn)會的“匯編語言”,應(yīng)該是絕大部分的童鞋不會,并且短期掌握不來吧。

好吧,用“編程語言”。是時(shí)候拿出我們的另一張圖了:

一分鐘了解自動(dòng)化測試插圖2
這個(gè)厲害了吧,自動(dòng)化測試

機(jī)器學(xué)習(xí)一個(gè)編程語言,輕松和簡單到令人發(fā)指的地步:安裝上去,機(jī)器就學(xué)會了。好在人類學(xué)習(xí)編程語言也不是特別難的的事情。看來這個(gè)可行。

有了編程語言,就有了人機(jī)交流的橋梁,剩下的事情,是幫機(jī)器挑選工具。做對應(yīng)的測試,就需要找到對應(yīng)的工具,這樣自動(dòng)化就自動(dòng)起來了。能到這里,我希望各位童鞋了解了基本的“自動(dòng)”原理。

同樣,好好的畫這張自動(dòng)化測試的示意圖:

一分鐘了解自動(dòng)化測試插圖3
這個(gè)呢?自動(dòng)化測試示意圖

然后我們介紹各種常見的工具,來繼續(xù)討論自動(dòng)化測試。進(jìn)一步探討之前,我們先看看測試的常用分類。這里不同的分類維度下,我們可以分為不同的測試,這里我們認(rèn)真分析一下。

從軟件測試的實(shí)踐過程看:單元測試、集成測試、確認(rèn)測試、系統(tǒng)測試、驗(yàn)收測試……從軟件測試的方法策略看:白盒測試、黑盒測試、灰盒測試……從軟件測試的測試視角看:功能測試、性能測試、兼容性測試、安全測試、探索性測試……從軟件測試的技術(shù)程度看:手工測試、自動(dòng)化測試、測試開發(fā)……

以上這些維度下的分類,只有一部分測試可以通過“人肉測試”的“手工目測”完成,剩下的其實(shí)從廣義概念上,都是需要機(jī)器來完成的。我們把這一部分測試抽取出來:系統(tǒng)測試-黑盒測試-功能測試-手工測試。不可否認(rèn)的講,這條線是目前軟件測試從業(yè)者的重點(diǎn)覆蓋范圍,該范圍之外的地方,便是自動(dòng)化測試的用武之地。

自動(dòng)化測試

接下來我們探討一下主流的自動(dòng)化測試方案,無一例外,都有人機(jī)溝通的編程語言,加上機(jī)器操作的工具來組成。

功能自動(dòng)化測試VBScript + QTP(HP UFT),商用功能自動(dòng)化測試方案Python/PHP/Java/C#/JavaScprit/Ruby + Selenium/Appium + 單元測試框架,開源功能自動(dòng)化測試方案這里我們多介紹一點(diǎn),Selenium/Appium 本身不能算是測試工具,而只是機(jī)器用來操作瀏覽器的工具,并且這個(gè)工具能聽懂多種語言:Java,C# 這兩個(gè)重 (zhòng) 語言Python,Ruby 這兩個(gè)腳本輕語言PHP,JavaScript 這兩個(gè)專門處理 Web 的語言工具外加指定的語言,可以讓機(jī)器來操作瀏覽器,但是到此時(shí)還無法做到測試,于是才需要每個(gè)語言自己的單元測試框架,來一起完成這個(gè)功能自動(dòng)化測試方案的構(gòu)建。此外,業(yè)界還一種暫時(shí)臨時(shí)的方案,就是 Python 2 + Robot Framework + Selenium Library 插件 + 單元測試框架 構(gòu)成的一種測試方案,這個(gè)方案筆者不是非常推薦,主要基于兩點(diǎn):理念:這是一種基于關(guān)鍵字的方案,那么關(guān)鍵字是 QTP(HP UFT)的特長,并不是Selenium的本意技術(shù):Python 2 終究是要退出歷史舞臺的,如果從零開始做自動(dòng)化測試,還是直接入手 Python 3 吧,然而 Robot Framework 不支持 Python 3……Python/Java/C#/JavaScprit/Ruby + Gauge,又一款開源的功能自動(dòng)化測試方案Thoughtworks 的基于BDD理念的自動(dòng)化測試工具Gauge 本身就是完整的測試方案Gauge 是從需求分析師(BA)到測試工程師(QA)都覆蓋的測試方案Java/Python + Macaca,阿里巴巴的功能自動(dòng)化測試方案,缺點(diǎn)是文檔少JavaScript + TestCafe,DevExpress 的開源功能自動(dòng)化測試方案pure node.js – TestCafe不使用Selenium,并且不需要插件來在實(shí)際瀏覽器中運(yùn)行測試。 它建立在node.js的頂部,因此它與現(xiàn)代開發(fā)工具集成和工作良好無需額外的設(shè)置或配置- TestCafe是所有設(shè)置后立即運(yùn)行測試npm install完整的測試工具 – 使用單個(gè)啟動(dòng)命令,TestCafe啟動(dòng)瀏覽器,運(yùn)行測試,收集結(jié)果并生成報(bào)告JavaScript + Postman,免費(fèi)的Web接口功能自動(dòng)化測試方案Groovy + SoapUI,開源的Web接口功能自動(dòng)化測試方案性能自動(dòng)化測試Java/C + HP LoadRunner,商業(yè)版性能測試方案Java + JMeter,開源版性能測試方案Python + locust,開源版性能測試方案

這里,我們借用一張別人的圖,Martin Fowler,敏捷開發(fā)方法的創(chuàng)始人之一,他借用金字塔的概念來展示測試的層次。

一分鐘了解自動(dòng)化測試插圖4
Martin Fowler 的測試金字塔

事實(shí)上,自動(dòng)化測試覆蓋了從 UI (功能測試)到契約(接口測試)以及底層代碼方法(單元測試)的整個(gè)過程,要想很好的掌握自動(dòng)化測試,那么的確需要以下三種領(lǐng)域的經(jīng)驗(yàn)積累:

編程語言,面向?qū)ο缶幊虄?yōu)先,因?yàn)榇罅康拈_源技術(shù)方案,都是基于面向?qū)ο蟮木幊谭绞降谌綔y試工具和測試框架,這些主要通過官網(wǎng)的文檔學(xué)習(xí)測試的理念與設(shè)計(jì),工具和語言,只是測試的手段,如何準(zhǔn)備測試數(shù)據(jù),如何設(shè)置測試的檢查點(diǎn)與測試步驟,這些決定了測試的成敗

此外綜合的 前端與服務(wù)器后端技術(shù),是測試執(zhí)行的保障。加油吧童鞋們,一分鐘過去了么?

那么你現(xiàn)在了解到自動(dòng)化測試了么?如果依舊有疑問,歡迎聯(lián)系筆者進(jìn)一步的溝通交流,liu.tingli@qq.com。

接下來的寫作安排:

基于 Selenium 的測試方案構(gòu)建與測試過程中踩過的坑(系列文字)基于 Gauge 的自動(dòng)化測試方案(系列文字)基于 Postman 的Web 接口測試基于 SoapUI 的 Web 接口測試基于 requests Python 庫的Web接口自動(dòng)化測試構(gòu)建(系列文字)基于 JMeter 的性能測試方案(系列文字)基于 Python locust 庫的性能測試方案基于 HP LoadRunner 的性能測試方案(系列文字)

聯(lián)系我們

聯(lián)系我們

0769-81627526

在線咨詢: QQ交談

郵箱: info@kingpo.hk

工作時(shí)間:周一至周五,9:00-17:30,節(jié)假日休息
關(guān)注微信
微信掃一掃關(guān)注我們

微信掃一掃關(guān)注我們

手機(jī)訪問
手機(jī)掃一掃打開網(wǎng)站

手機(jī)掃一掃打開網(wǎng)站

返回頂部
天峨县| 拜泉县| 渝北区| 志丹县| 达孜县| 海盐县| 青河县| 平武县| 大名县| 丰城市| 永顺县| 彭阳县| 耿马| 灯塔市|