最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

一分鐘了解自動(dòng)化測(cè)試【靈魂配圖】

2020-05-13 21:47 作者:愛(ài)碼小哥  | 我要投稿

其實(shí)自動(dòng)化測(cè)試已經(jīng)不是一個(gè)新興產(chǎn)物。為了寫這個(gè)文章,我特意去百度百科搜索了一下,這個(gè)是百度自動(dòng)化測(cè)試的官方定義。


接下來(lái)我們大約用一分鐘的時(shí)間來(lái)了解自動(dòng)化測(cè)試。盡量精簡(jiǎn),有利于大家的閱讀理解。



顯而易見(jiàn),掌握了自動(dòng)化測(cè)試,薪資待遇是十分可觀的。


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


* 了解 selenium、appium或者其他自動(dòng)化測(cè)試框架


* 至少熟悉一門面向?qū)ο箝_(kāi)發(fā)語(yǔ)言,有一定的代碼功底優(yōu)先


* 熟悉Java或者python,有一定的測(cè)試自動(dòng)化經(jīng)驗(yàn)和代碼閱讀能力


* 了解接口集成測(cè)試,會(huì)使用JMeter、Postman、SoapUI等接口測(cè)試工具


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


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


#測(cè)試

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


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


* 運(yùn)行被測(cè)試的軟件,執(zhí)行軟件的功能


* 運(yùn)行其他工具,去檢查軟件的內(nèi)部和外部


總而言之,是一個(gè)過(guò)程,執(zhí)行的過(guò)程。接下來(lái)就一張最常見(jiàn)的測(cè)試示意圖:




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


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



#自動(dòng)化

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


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

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


重點(diǎn)來(lái)了,機(jī)器。讓機(jī)器去動(dòng),這可不是“吃雞”哦,這是人類命令機(jī)器去操作。不知道童鞋們有沒(méi)有思考過(guò),機(jī)器怎么知道人類的要求?上面的例子,測(cè)試主管只要告訴測(cè)試工程師,命令傳達(dá)就完成了??墒侨祟愔苯拥臏贤ǎh(yuǎn)比人機(jī)溝通容易啊。


* 首先,機(jī)器聽(tīng)不懂“人話”,無(wú)論中文,英文……


* 其次,機(jī)器默認(rèn)會(huì)的“匯編語(yǔ)言”,應(yīng)該是絕大部分的童鞋不會(huì),并且短期掌握不來(lái)吧。


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



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


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


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



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


* 從軟件測(cè)試的實(shí)踐過(guò)程看:?jiǎn)卧獪y(cè)試、集成測(cè)試、確認(rèn)測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試……


* 從軟件測(cè)試的方法策略看:白盒測(cè)試、黑盒測(cè)試、灰盒測(cè)試……


* 從軟件測(cè)試的測(cè)試視角看:功能測(cè)試、性能測(cè)試、兼容性測(cè)試、安全測(cè)試、探索性測(cè)試……


* 從軟件測(cè)試的技術(shù)程度看:手工測(cè)試、自動(dòng)化測(cè)試、測(cè)試開(kāi)發(fā)……


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


#自動(dòng)化測(cè)試

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


* 功能自動(dòng)化測(cè)試


* VBScript + QTP(HP UFT),商用功能自動(dòng)化測(cè)試方案


* Python/PHP/Java/C#/JavaScprit/Ruby + Selenium/Appium + 單元測(cè)試框架,開(kāi)源功能自動(dòng)化測(cè)試方案


* 這里我們多介紹一點(diǎn),Selenium/Appium 本身不能算是測(cè)試工具,而只是機(jī)器用來(lái)操作瀏覽器的工具,并且這個(gè)工具能聽(tīng)懂多種語(yǔ)言:


* Java,C# 這兩個(gè)重 (zhòng) 語(yǔ)言


* Python,Ruby 這兩個(gè)腳本輕語(yǔ)言


* PHP,JavaScript 這兩個(gè)專門處理 Web 的語(yǔ)言


* 工具外加指定的語(yǔ)言,可以讓機(jī)器來(lái)操作瀏覽器,但是到此時(shí)還無(wú)法做到測(cè)試,于是才需要每個(gè)語(yǔ)言自己的單元測(cè)試框架,來(lái)一起完成這個(gè)功能自動(dòng)化測(cè)試方案的構(gòu)建。


* 此外,業(yè)界還一種暫時(shí)臨時(shí)的方案,就是 Python 2 + Robot Framework + Selenium Library 插件 + 單元測(cè)試框架 構(gòu)成的一種測(cè)試方案,這個(gè)方案筆者不是非常推薦,主要基于兩點(diǎn):


* 理念:這是一種基于關(guān)鍵字的方案,那么關(guān)鍵字是 QTP(HP UFT)的特長(zhǎng),并不是Selenium的本意


* 技術(shù):Python 2 終究是要退出歷史舞臺(tái)的,如果從零開(kāi)始做自動(dòng)化測(cè)試,還是直接入手 Python 3 吧,然而 Robot Framework 不支持 Python 3……


* Python/Java/C#/JavaScprit/Ruby + Gauge,又一款開(kāi)源的功能自動(dòng)化測(cè)試方案


* Thoughtworks 的基于BDD理念的自動(dòng)化測(cè)試工具


* Gauge 本身就是完整的測(cè)試方案


* Gauge 是從需求分析師(BA)到測(cè)試工程師(QA)都覆蓋的測(cè)試方案


* Java/Python + Macaca,阿里巴巴的功能自動(dòng)化測(cè)試方案,缺點(diǎn)是文檔少


* JavaScript + TestCafe,DevExpress 的開(kāi)源


#功能自動(dòng)化測(cè)試方案


* pure node.js - TestCafe不使用Selenium,并且不需要插件來(lái)在實(shí)際瀏覽器中運(yùn)行測(cè)試。 它建立在node.js的頂部,因此它與現(xiàn)代開(kāi)發(fā)工具集成和工作良好


* 無(wú)需額外的設(shè)置或配置- TestCafe是所有設(shè)置后立即運(yùn)行測(cè)試npm install


* 完整的測(cè)試工具 - 使用單個(gè)啟動(dòng)命令,TestCafe啟動(dòng)瀏覽器,運(yùn)行測(cè)試,收集結(jié)果并生成報(bào)告


* JavaScript + Postman,免費(fèi)的Web接口功能自動(dòng)化測(cè)試方案


* Groovy + SoapUI,開(kāi)源的Web接口功能自動(dòng)化測(cè)試方案


#性能自動(dòng)化測(cè)試


* Java/C + HP LoadRunner,商業(yè)版性能測(cè)試方案


* Java + JMeter,開(kāi)源版性能測(cè)試方案


* Python + locust,開(kāi)源版性能測(cè)試方案


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



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


* 編程語(yǔ)言,面向?qū)ο缶幊虄?yōu)先,因?yàn)榇罅康拈_(kāi)源技術(shù)方案,都是基于面向?qū)ο蟮木幊谭绞?/p>


* 第三方測(cè)試工具和測(cè)試框架,這些主要通過(guò)官網(wǎng)的文檔學(xué)習(xí)


* 測(cè)試的理念與設(shè)計(jì),工具和語(yǔ)言,只是測(cè)試的手段,如何準(zhǔn)備測(cè)試數(shù)據(jù),如何設(shè)置測(cè)試的檢查點(diǎn)與測(cè)試步驟,這些決定了測(cè)試的成敗


此外綜合的 前端與服務(wù)器后端技術(shù),是測(cè)試執(zhí)行的保障。加油吧童鞋們,一分鐘過(guò)去了么?那么你現(xiàn)在了解到自動(dòng)化測(cè)試了么?如果依舊有疑問(wèn),歡迎聯(lián)系筆者進(jìn)一步的溝通交流


我深刻體會(huì)到閉門造車是不可取的,一個(gè)人需要琢磨一下午的問(wèn)題,在有經(jīng)驗(yàn)的前浪那里也許就是點(diǎn)撥一下就馬上可以理解通電開(kāi)竅之感。





一分鐘了解自動(dòng)化測(cè)試【靈魂配圖】的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
东乡| 凤阳县| 甘肃省| 丹凤县| 罗平县| 天台县| 焦作市| 邯郸县| 浏阳市| 和顺县| 囊谦县| 乐昌市| 达州市| 贺兰县| 曲阜市| 兰溪市| 夹江县| 惠州市| 微山县| 息烽县| 江华| 文水县| 龙州县| 南京市| 基隆市| 淮南市| 焦作市| 尼玛县| 甘南县| 东阿县| 当阳市| 万年县| 普定县| 宜城市| 明光市| 罗田县| 怀集县| 庄河市| 祁阳县| 波密县| 五大连池市|