啟動(dòng)測(cè)試自動(dòng)化的五點(diǎn)計(jì)劃
測(cè)試自動(dòng)化已成為快節(jié)奏的軟件行業(yè)的強(qiáng)制性要求。它有助于快速測(cè)試應(yīng)用程序的功能、穩(wěn)定性、性能和安全性。另外,持續(xù)測(cè)試使用測(cè)試自動(dòng)化使我們能夠向最終用戶提供高質(zhì)量的應(yīng)用程序。
盡管現(xiàn)在許多公司開(kāi)始在開(kāi)發(fā)的同時(shí)編寫自動(dòng)化測(cè)試,但由于缺乏人員、工具、技術(shù)和技能,有些公司在測(cè)試自動(dòng)化部門仍然落后。這些公司依靠手動(dòng)探索性測(cè)試來(lái)檢查功能驗(yàn)證并執(zhí)行回歸測(cè)試。
手動(dòng)執(zhí)行回歸測(cè)試有多種副作用,例如:
1. 乏味且無(wú)聊的重復(fù)任務(wù)
2. 耗時(shí)
3. 增加上市時(shí)間
4. 人為容易犯的錯(cuò)誤
5. 對(duì)構(gòu)建的信心降低
所有這些副作用都可能導(dǎo)致發(fā)送給最終客戶的構(gòu)建容易出錯(cuò),從而影響產(chǎn)品質(zhì)量并間接影響業(yè)務(wù)。
克服這些副作用的解決方案是自動(dòng)化測(cè)試,這樣測(cè)試團(tuán)隊(duì)就可以在應(yīng)用程序的其他功能上占據(jù)上風(fēng)。
QA 團(tuán)隊(duì)還可以專注于其他活動(dòng),例如執(zhí)行可用性、UI/UX、性能和安全測(cè)試,以提高產(chǎn)品的整體質(zhì)量。他們還可以專注于應(yīng)用程序中測(cè)試較少的區(qū)域,以發(fā)現(xiàn)更多問(wèn)題并在產(chǎn)品發(fā)布給客戶之前修復(fù)它們。
啟動(dòng)測(cè)試自動(dòng)化的五點(diǎn)計(jì)劃
以下五點(diǎn)計(jì)劃將幫助測(cè)試團(tuán)隊(duì)輕松實(shí)現(xiàn)軟件開(kāi)發(fā)的測(cè)試自動(dòng)化:
1. 創(chuàng)建測(cè)試自動(dòng)化計(jì)劃
2. 檢查自動(dòng)化測(cè)試應(yīng)用程序的穩(wěn)定性
3. 檢查是否適合自動(dòng)化的關(guān)鍵測(cè)試場(chǎng)景
4. 根據(jù)產(chǎn)品的關(guān)鍵測(cè)試過(guò)程確定測(cè)試的優(yōu)先級(jí)
5. 逐步將測(cè)試場(chǎng)景添加到測(cè)試自動(dòng)化套件中
創(chuàng)建測(cè)試自動(dòng)化計(jì)劃
第一點(diǎn)是創(chuàng)建一個(gè)自動(dòng)化計(jì)劃,這將幫助團(tuán)隊(duì)了解以下內(nèi)容:
1. 如何針對(duì) Web、移動(dòng)或 API 實(shí)現(xiàn)應(yīng)用程序平臺(tái)的自動(dòng)化
2. 測(cè)試目標(biāo):功能、視覺(jué)、性能、安全等
3. 需要自動(dòng)化的功能
4. 測(cè)試自動(dòng)化的范圍
5. 完成測(cè)試自動(dòng)化的時(shí)間表
6. 使用的工具/框架
7. 進(jìn)入和退出標(biāo)準(zhǔn)
8. 誰(shuí)將參與測(cè)試自動(dòng)化
9. 測(cè)試環(huán)境及測(cè)試數(shù)據(jù)
10. 測(cè)試用例包括帶有測(cè)試步驟的預(yù)期和實(shí)際輸出
該計(jì)劃應(yīng)提供有關(guān)測(cè)試自動(dòng)化的簡(jiǎn)要概述。它還將幫助測(cè)試團(tuán)隊(duì)跟蹤進(jìn)度并檢查偏差(如果有)。建議由團(tuán)隊(duì)領(lǐng)導(dǎo)、產(chǎn)品負(fù)責(zé)人審核和批準(zhǔn)。
檢查測(cè)試自動(dòng)化應(yīng)用程序的穩(wěn)定性
在開(kāi)始并開(kāi)始測(cè)試自動(dòng)化之前,最好通過(guò)執(zhí)行一輪手動(dòng)探索性測(cè)試來(lái)檢查應(yīng)用程序的穩(wěn)定性。
這將為我們提供信心并確保應(yīng)用程序不會(huì)在中途崩潰,因此設(shè)計(jì)和執(zhí)行的自動(dòng)化測(cè)試將為我們提供所需的結(jié)果。
如果不執(zhí)行此檢查,那么自動(dòng)化測(cè)試人員可能會(huì)中途丟失,因?yàn)樗麩o(wú)法確定測(cè)試結(jié)果中的不穩(wěn)定是由于應(yīng)用程序問(wèn)題或自動(dòng)化測(cè)試腳本錯(cuò)誤造成的。
找出關(guān)鍵的測(cè)試場(chǎng)景
測(cè)試自動(dòng)化應(yīng)該首先從關(guān)鍵場(chǎng)景自動(dòng)化開(kāi)始。由于最終用戶在日常業(yè)務(wù)中經(jīng)常使用這些場(chǎng)景,因此最好對(duì)它們進(jìn)行優(yōu)先級(jí)排序。
業(yè)務(wù)分析師和產(chǎn)品負(fù)責(zé)人以及團(tuán)隊(duì)中經(jīng)驗(yàn)豐富的 QA 是可以聯(lián)系以找出關(guān)鍵測(cè)試場(chǎng)景的最佳人員。這些場(chǎng)景應(yīng)在 Excel 工作表或文檔中更新以供將來(lái)參考。
建議進(jìn)行端到端自動(dòng)化測(cè)試,因?yàn)檫@些測(cè)試會(huì)檢查最終用戶使用應(yīng)用程序時(shí)的完整性和功能。
自動(dòng)化關(guān)鍵場(chǎng)景還可以減輕手動(dòng)測(cè)試團(tuán)隊(duì)的負(fù)擔(dān),并節(jié)省他們?cè)趯?duì)這些場(chǎng)景執(zhí)行回歸測(cè)試時(shí)所花費(fèi)的時(shí)間。這將使整個(gè)團(tuán)隊(duì)受益,因?yàn)樽詣?dòng)化時(shí)的所有關(guān)鍵場(chǎng)景都可以快速測(cè)試,從而使人們對(duì)構(gòu)建更有信心。
優(yōu)先考慮測(cè)試旅程
獲得所有關(guān)鍵測(cè)試場(chǎng)景的列表后,有必要對(duì)其進(jìn)行優(yōu)先級(jí)排序??梢耘c業(yè)務(wù)分析師、產(chǎn)品負(fù)責(zé)人和客戶成功團(tuán)隊(duì)成員討論測(cè)試場(chǎng)景的優(yōu)先級(jí)。
首先關(guān)注的是注冊(cè)、登錄、支付等最常用的場(chǎng)景。接下來(lái),應(yīng)該處理最不重要的場(chǎng)景并使其自動(dòng)化。
還應(yīng)該注意的是,測(cè)試數(shù)據(jù)在自動(dòng)化測(cè)試中起著重要作用,因此在確定優(yōu)先級(jí)時(shí)不要猶豫索要測(cè)試數(shù)據(jù),因?yàn)檫@將節(jié)省時(shí)間并讓您快速實(shí)現(xiàn)場(chǎng)景自動(dòng)化。
將測(cè)試添加到自動(dòng)化測(cè)試套件中
這是五點(diǎn)行動(dòng)計(jì)劃中的最后一點(diǎn),我們需要深入研究并開(kāi)始根據(jù)計(jì)劃為優(yōu)先測(cè)試場(chǎng)景編寫測(cè)試腳本。
應(yīng)該注意的是,重點(diǎn)應(yīng)該放在檢查測(cè)試中的正確斷言上。每個(gè)測(cè)試都應(yīng)該有一個(gè)斷言語(yǔ)句來(lái)檢查實(shí)際輸出和預(yù)期輸出之間的差異。
在編寫測(cè)試自動(dòng)化腳本時(shí),請(qǐng)確保使用最佳編碼實(shí)踐,考慮代碼維護(hù)、可讀性和代碼可重用性。
頁(yè)面對(duì)象模型可用于編寫自動(dòng)化測(cè)試腳本,因?yàn)樗峁┝藰O大的靈活性。它使我們能夠?qū)㈨?yè)面對(duì)象與操作分開(kāi),從而有助于代碼的可重用性、維護(hù)性和可讀性。
同樣,還應(yīng)該努力考慮測(cè)試的并行執(zhí)行。測(cè)試的并行執(zhí)行允許快速運(yùn)行測(cè)試并提供有關(guān)回歸周期的快速反饋。
在早期階段考慮并行執(zhí)行將有助于設(shè)計(jì)測(cè)試框架并節(jié)省我們稍后重構(gòu)代碼所需的時(shí)間。
測(cè)試自動(dòng)化后續(xù)步驟
測(cè)試自動(dòng)化工作尚未完成,因?yàn)檫€需要遵循進(jìn)一步的步驟。
代碼審查
編寫測(cè)試自動(dòng)化腳本后,建議對(duì)代碼進(jìn)行同行評(píng)審。代碼審查的好處有多種:
1. 找到代碼中的缺陷并修復(fù)它們
2. 確保遵循并實(shí)施最佳實(shí)踐
3. 檢查是否準(zhǔn)確覆蓋了所需的場(chǎng)景
4. 檢查斷言是否正確實(shí)現(xiàn)
5. 增強(qiáng)測(cè)試自動(dòng)化工程師的知識(shí)
6. 檢查設(shè)計(jì)和實(shí)施的一致性
7. 促進(jìn)團(tuán)隊(duì)協(xié)作
應(yīng)積極進(jìn)行代碼審查,考慮代碼并檢查最佳實(shí)踐。在審查過(guò)程中應(yīng)該牢記代碼而不是編碼人員。同樣,測(cè)試自動(dòng)化工程師應(yīng)該積極接受意見(jiàn)并實(shí)施它們或?yàn)閷彶橐庖?jiàn)提供必要的理由。
總而言之,代碼審查將有助于提高代碼質(zhì)量。
與 CI/CD 管道集成
編寫自動(dòng)化測(cè)試腳本完成后,下一步是將其與持續(xù)集成和持續(xù)開(kāi)發(fā)(CI/CD)管道集成。
我建議使用?測(cè)試金字塔?來(lái)實(shí)現(xiàn) CI/CD 管道,因?yàn)樗峁┝艘环N在較低級(jí)別使用自動(dòng)化測(cè)試的有效方法。回歸周期可以在開(kāi)發(fā)環(huán)境中的CI/CD 管道本身上運(yùn)行,然后再將構(gòu)建推送到 QA、Staging、UAT 等進(jìn)一步的環(huán)境。
對(duì)于在管道中運(yùn)行測(cè)試,LambdaTest、PCloudy、Perfecto、SauceLabs 等云平臺(tái)網(wǎng)格可能會(huì)很有用。這些平臺(tái)提供了用于測(cè)試的按需基礎(chǔ)設(shè)施,如真實(shí)的移動(dòng)設(shè)備、Windows、MacOS 等多個(gè)平臺(tái),并提供多種可用的瀏覽器。
由于這些平臺(tái)支持跨瀏覽器和跨平臺(tái)測(cè)試,因此并行執(zhí)行所有測(cè)試是一項(xiàng)簡(jiǎn)單的任務(wù),可以節(jié)省測(cè)試執(zhí)行時(shí)間。
通過(guò)使用這些平臺(tái)的服務(wù),我們不必?fù)?dān)心安裝和設(shè)置多個(gè)設(shè)備、瀏覽器和測(cè)試平臺(tái),因?yàn)樵破脚_(tái)以名義價(jià)格提供所有這些服務(wù)。
添加更多測(cè)試場(chǎng)景
在涵蓋自動(dòng)化計(jì)劃中討論的所有測(cè)試場(chǎng)景后,應(yīng)與所有利益相關(guān)者(包括業(yè)務(wù)分析師、產(chǎn)品負(fù)責(zé)人、開(kāi)發(fā)人員和 QA 領(lǐng)導(dǎo))召開(kāi)會(huì)議,進(jìn)一步討論自動(dòng)化計(jì)劃中其他場(chǎng)景的計(jì)劃。最新功能版本。
添加更多測(cè)試場(chǎng)景將有助于在自動(dòng)化中覆蓋更多測(cè)試用例,從而為測(cè)試團(tuán)隊(duì)提供更多優(yōu)勢(shì)。這將提高整體產(chǎn)品質(zhì)量并打造強(qiáng)大的產(chǎn)品。
測(cè)試腳本的維護(hù)
還應(yīng)該設(shè)計(jì)維護(hù)測(cè)試腳本的時(shí)間分配。由于客戶需求不斷增加,產(chǎn)品的變更頻繁進(jìn)行,這使得測(cè)試腳本變得多余。
因此,應(yīng)該注意的是,測(cè)試腳本的維護(hù)也應(yīng)該成為測(cè)試自動(dòng)化計(jì)劃的一部分,并且在需要時(shí),應(yīng)該分配適當(dāng)?shù)臅r(shí)間和資源以使冗余的測(cè)試腳本再次工作。
概括
根據(jù)我的經(jīng)驗(yàn),開(kāi)始測(cè)試自動(dòng)化需要付出很大的努力,有時(shí)由于計(jì)劃不當(dāng)和經(jīng)驗(yàn)不足,它不會(huì)按預(yù)期發(fā)生。這個(gè)五點(diǎn)計(jì)劃可以幫助您有效地組織測(cè)試自動(dòng)化并允許對(duì)應(yīng)用程序進(jìn)行全面測(cè)試。
這將為 QA 團(tuán)隊(duì)提供急需的優(yōu)勢(shì),讓他們能夠?qū)W⒂趹?yīng)用程序中未覆蓋的領(lǐng)域。這將提高產(chǎn)品質(zhì)量,并使團(tuán)隊(duì)能夠向最終用戶提供強(qiáng)大的產(chǎn)品。