17792550360
掃描二維碼
關(guān)注卓目鳥學(xué)苑公眾號(hào)
掃描二維碼
關(guān)注卓目鳥學(xué)苑公眾號(hào)
什么是自動(dòng)化測(cè)試?身處IT行業(yè)一定聽過或者接觸過自動(dòng)化測(cè)試。自動(dòng)化測(cè)試是把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過程。通俗理解類似工廠里使用機(jī)器替代流水線工人完成一些重復(fù)的工作。自動(dòng)化測(cè)試的優(yōu)勢(shì)顯而易 ...
什么是自動(dòng)化測(cè)試? 身處IT行業(yè)一定聽過或者接觸過自動(dòng)化測(cè)試。 自動(dòng)化測(cè)試是把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過程。通俗理解類似工廠里使用機(jī)器替代流水線工人完成一些重復(fù)的工作。 自動(dòng)化測(cè)試的優(yōu)勢(shì)顯而易見。有了自動(dòng)化測(cè)試,測(cè)試人員可以從簡單重復(fù)勞動(dòng)中解放出來,甚至也有人會(huì)覺得這樣就不需要測(cè)試人員了。但在實(shí)際測(cè)試工作中,自動(dòng)化測(cè)試仍然需要測(cè)試人員深度參與。 首先,自動(dòng)化測(cè)試的本質(zhì)是先編寫一段代碼,然后使用代碼去測(cè)試另一段代碼。而自動(dòng)化測(cè)試用例編寫本身屬于一項(xiàng)開發(fā)工作,需要測(cè)試人員投入大量的時(shí)間和精力。 其次,并非所有項(xiàng)目都適合做自動(dòng)化測(cè)試。自動(dòng)化測(cè)試的主要作用不是發(fā)現(xiàn)產(chǎn)品的缺陷,而是基于產(chǎn)品穩(wěn)定的情況下確保產(chǎn)品可以正常上線,產(chǎn)品的主流程沒有缺陷。當(dāng)自動(dòng)化測(cè)試的維護(hù)成本高于其節(jié)省的測(cè)試成本時(shí),自動(dòng)化測(cè)試就失去了價(jià)值與意義。 什么產(chǎn)品(項(xiàng)目)適合做自動(dòng)化測(cè)試? 需求穩(wěn)定,不會(huì)頻繁變更 自動(dòng)化測(cè)試主要是基于產(chǎn)品穩(wěn)定的情況下確保項(xiàng)目可以正常上線,項(xiàng)目的主流程沒有缺陷,如果需求不夠穩(wěn)定頻繁變更的話,這樣就會(huì)大大增加自動(dòng)化測(cè)試用例的維護(hù)成本。 研發(fā)和維護(hù)周期長,且后續(xù)需進(jìn)行頻繁的回歸測(cè)試。 就目前實(shí)際情況來看,軟件產(chǎn)品可能比軟件項(xiàng)目更適合做自動(dòng)化測(cè)試。 首先,軟件產(chǎn)品的生命周期一般都比較長,通常會(huì)有多個(gè)版本陸續(xù)發(fā)布,每次版本發(fā)布都會(huì)有大量的回歸測(cè)試需求。同時(shí),軟件產(chǎn)品預(yù)留給自動(dòng)化測(cè)試開發(fā)的時(shí)間也比較充裕,可以和產(chǎn)品一起迭代。 而對(duì)于軟件項(xiàng)目,如果是周期較短的一次性項(xiàng)目,即使技術(shù)上自動(dòng)化測(cè)試的可行性很高,但從投入產(chǎn)出來看并不建議實(shí)現(xiàn)自動(dòng)化。因?yàn)榛舜罅繒r(shí)間和精力實(shí)現(xiàn)的自動(dòng)化可能執(zhí)行不了幾次項(xiàng)目就結(jié)束了,就好比你只是心血來潮想在家跑下步,就沒必要買一臺(tái)跑步機(jī),不然留著也只會(huì)落灰占位置了。 所以,針對(duì)項(xiàng)目周期較短還是選擇人工測(cè)試發(fā)現(xiàn)缺陷為主即可。而對(duì)項(xiàng)目周期較長且有持續(xù)迭代的情況時(shí),可實(shí)現(xiàn)半自動(dòng)化,即針對(duì)相對(duì)穩(wěn)定的軟件功能選擇自動(dòng)化測(cè)試覆蓋,而對(duì)不夠穩(wěn)定的功能或新增的功能則進(jìn)行人工測(cè)試。 需在多種平臺(tái)上重復(fù)運(yùn)行相同測(cè)試的場(chǎng)景 對(duì)于界面測(cè)試,在需求支持的不同的瀏覽器版本上執(zhí)行同樣的測(cè)試用例。 而對(duì)于不同客戶的定制版本,可用自動(dòng)化覆蓋基本一致的主體功能,再人工測(cè)試對(duì)應(yīng)的定制版本功能。 某些測(cè)試通過人工測(cè)試無法實(shí)現(xiàn)或成本太高 對(duì)于所有的性能和壓力測(cè)試,很難通過手工方式實(shí)現(xiàn)。比如,某一個(gè)項(xiàng)目要求進(jìn)行一萬并發(fā)用戶的基準(zhǔn)性能測(cè)試(Benchmark test),難道真的要找一萬個(gè)用戶按照要求來操作被測(cè)軟件?又比如,對(duì)于 7×24 小時(shí)的穩(wěn)定性測(cè)試,難道要找一批用戶一直操作被測(cè)軟件?這個(gè)時(shí)候,就必須借助自動(dòng)化測(cè)試技術(shù)了,用機(jī)器來模擬大量用戶反復(fù)操作被測(cè)軟件的場(chǎng)景。當(dāng)然對(duì)于此類測(cè)試是不可能通過界面操作來模擬大量用戶行為的,而是基于協(xié)議的自動(dòng)化測(cè)試技術(shù)。 被測(cè)軟件的開發(fā)較為規(guī)范,能夠保證系統(tǒng)的可測(cè)試性 某些用例的自動(dòng)化必須要求開發(fā)人員在產(chǎn)品中預(yù)留可測(cè)試性接口,否則后續(xù)的自動(dòng)化會(huì)很難開展。 如果要實(shí)現(xiàn)穩(wěn)定的自動(dòng)化測(cè)試,被測(cè)軟件的開發(fā)過程就必須規(guī)范。比如,界面上的控件命名如果沒有任何規(guī)則可尋,就會(huì)造成UI自動(dòng)化的控件識(shí)別與定位不穩(wěn)定,從而影響自動(dòng)化測(cè)試的效率。 測(cè)試人員對(duì)自動(dòng)化測(cè)試方面足夠了解且有開發(fā)基礎(chǔ) 如果測(cè)試團(tuán)隊(duì)的成員不了解自動(dòng)化測(cè)試且沒有任何開發(fā)基礎(chǔ),那推行自動(dòng)化測(cè)試就會(huì)有比較大的困難,甚至?xí)赡艹霈F(xiàn)事半功倍的情況。 如何開始著手進(jìn)行自動(dòng)化測(cè)試? 自動(dòng)化測(cè)試基本流程如下: 可行性、測(cè)試需求分析 根據(jù)實(shí)際需求分析測(cè)試點(diǎn),抽樣分析,確定對(duì)應(yīng)項(xiàng)目階段是否有時(shí)間、是否有必要、是否可實(shí)現(xiàn)自動(dòng)化測(cè)試,以及具體哪些功能需要實(shí)現(xiàn)自動(dòng)化。 確定自動(dòng)化測(cè)試方向,制定測(cè)試計(jì)劃、方案 根據(jù)測(cè)試需求,確定自動(dòng)化測(cè)試的類型(UI、接口等),制定對(duì)應(yīng)的測(cè)試計(jì)劃及方案。包含測(cè)試范圍及時(shí)間點(diǎn)、自動(dòng)化測(cè)試的方式(編程語言:Java、Python等,工具:jmeter等)、自動(dòng)化測(cè)試框架(pytest,unittest,RF等)選擇等。 測(cè)試框架搭建,測(cè)試用例代碼的設(shè)計(jì) 基于原有功能測(cè)試用例挑選適合進(jìn)行自動(dòng)化的測(cè)試用例或者重新設(shè)計(jì)測(cè)試用例,選擇測(cè)試用例存放方式(excel或配置文件),確保需要實(shí)現(xiàn)自動(dòng)化的功能點(diǎn)都有對(duì)應(yīng)的測(cè)試用例可尋。與此同時(shí),根據(jù)確定的測(cè)試框架準(zhǔn)備好測(cè)試環(huán)境(如:編寫代碼工具、需要安裝對(duì)應(yīng)版本的第三方包、持續(xù)集成環(huán)境等) 按照統(tǒng)一規(guī)范編寫代碼,并合并、聯(lián)調(diào)整體的代碼 根據(jù)實(shí)際項(xiàng)目統(tǒng)一編碼規(guī)范,按照規(guī)范依據(jù)對(duì)應(yīng)的測(cè)試用例編寫、調(diào)試代碼,待代碼均編寫完畢后合并并進(jìn)行聯(lián)調(diào)。 執(zhí)行自動(dòng)化測(cè)試,生成測(cè)試報(bào)告,分析測(cè)試結(jié)果、記錄測(cè)試問題并跟蹤 將測(cè)試代碼部署到Jenkins集成定時(shí)運(yùn)行,分析測(cè)試報(bào)告中狀態(tài)為不通過的項(xiàng)是否為有效的平臺(tái)缺陷,如果為有效缺陷就提交開發(fā)人員修復(fù)并跟蹤;如果不是缺陷,則檢查自動(dòng)化測(cè)試代碼或者測(cè)試環(huán)境是否異常。 自動(dòng)化代碼的維護(hù) 對(duì)于變更功能則調(diào)整或優(yōu)化對(duì)應(yīng)的自動(dòng)化代碼,新增的功能則需要新增對(duì)應(yīng)的自動(dòng)化測(cè)試用例和測(cè)試代碼,確保自動(dòng)化代碼與對(duì)應(yīng)測(cè)試點(diǎn)匹配。 |
分享本篇文章給更多人:
2020-05-27
2020-02-24
2020-05-27
2022-12-05
2020-05-27
請(qǐng)發(fā)表評(píng)論