17792550360
掃描二維碼
關(guān)注卓目鳥學(xué)苑公眾號
掃描二維碼
關(guān)注卓目鳥學(xué)苑公眾號
什么是自動化測試?顧名思義就是以程序測試程序,自動執(zhí)行指定動作,實(shí)現(xiàn)測試目的。以代碼實(shí)現(xiàn)測試思維,以腳本替代手工執(zhí)行。從簡單的獨(dú)立功能腳本到依托自動化框架運(yùn)行的腳本集合都屬于自動化測試范疇。本文旨在通 ...
什么是自動化測試?顧名思義就是以程序測試程序,自動執(zhí)行指定動作,實(shí)現(xiàn)測試目的。以代碼實(shí)現(xiàn)測試思維,以腳本替代手工執(zhí)行。從簡單的獨(dú)立功能腳本到依托自動化框架運(yùn)行的腳本集合都屬于自動化測試范疇。本文旨在通過討論以下幾個方面,總結(jié)自動化測試價值最大化的經(jīng)驗(yàn)。 一、 什么項目適合自動化測試? 實(shí)施自動化測試之前需要對軟件開發(fā)過程進(jìn)行分析,以觀察其是否適合使用自動化測試。 通常需要同時滿足以下條件 1) 需求變動不頻繁 測試腳本的穩(wěn)定性決定了自動化測試的維護(hù)成本。如果軟件需求變動過于頻繁,測試人員需要根據(jù)變動的需求來更新測試用例以及相關(guān)的測試腳本,而腳本的維護(hù)本身就是一個代碼開發(fā)的過程,需要修改、調(diào)試,必要的時候還要修改自動化測試的框架,如果所花費(fèi)的成本不低于利用其節(jié)省的測試成本,那么自動化測試便是失敗的。 項目中的某些模塊相對穩(wěn)定,而某些模塊需求變動性很大。我們便可對相對穩(wěn)定的模塊進(jìn)行自動化測試,而變動較大的仍是用手工測試。 2) 項目周期足夠長 自動化測試需求的確定、自動化測試框架的設(shè)計、測試腳本的編寫與調(diào)試均需要相當(dāng)長的時間來完成,這樣的過程本身就是一個測試軟件的開發(fā)過程,需要較長的時間來完成。如果項目的周期比較短,沒有足夠的時間去支持這樣一個過程,那么自動化測試便成為笑談。 3) 自動化測試腳本可重復(fù)使用 如果費(fèi)盡心思開發(fā)了一套近乎完美的自動化測試腳本,但是腳本的重復(fù)使用率很低,致使其間所耗費(fèi)的成本大于所創(chuàng)造的經(jīng)濟(jì)價值,自動化測試價值就無法體現(xiàn),所以要求測試腳本人員在開發(fā)自動化框架和自動化腳本時需要注意到兼容性和可擴(kuò)展性,盡量生成可通用的測試AW集合,測試腳本集合。 另外,在手工測試無法完成,需要投入大量時間與人力時也需要考慮引入自動化測試。 比如復(fù)雜場景構(gòu)建、大壓力下測試、大量重復(fù)性測試等。 二、 自動化測試的基本流程以及注意事項 如圖1所示,自動化測試的基本流程主要包含需求分析,自動化測試計劃設(shè)計,用例設(shè)計,自動化測試框架設(shè)計與開發(fā),腳本開發(fā),環(huán)境搭建,整體聯(lián)調(diào)運(yùn)行等。 1) 需求分析:分析哪些點(diǎn)需要進(jìn)行自動化,在需求分析階段參與進(jìn)來,在被測代碼開發(fā)階段輸出依賴點(diǎn),保證自動化開發(fā)時效率更高,代碼改動更小; 2) 用例設(shè)計:建議先根據(jù)測試點(diǎn)設(shè)計所有用例,然后分別查看是否可以實(shí)現(xiàn)自動化,最后正向補(bǔ)充可能遺漏的自動化場景; 3) 自動化測試框架設(shè)計與開發(fā): 自動化測試框架與軟件架構(gòu)類似,定義了在使用該套腳本時需要調(diào)用哪些文件、結(jié)構(gòu),調(diào)用的過程,以及文件結(jié)構(gòu)如何劃分。 而根據(jù)自動化測試用例,我們很容易能夠定位出自動化測試框架的典型要素: a. 公用的對象。 不同的測試用例會有一些相同的對象被重復(fù)使用。這些公用的對象可被抽取出來,在編寫腳本時隨時調(diào)用。當(dāng)這些對象的屬性因?yàn)樾枨蟮淖兏淖儠r,只需要修改該對象屬性即可,而無需修改所有相關(guān)的測試腳本。 b. 公用的環(huán)境。 各測試用例也會用到相同的測試環(huán)境,將該測試環(huán)境獨(dú)立封裝,在各個測試用例中靈活調(diào)用,也能增強(qiáng)腳本的可維護(hù)性。 c. 公用的方法。 當(dāng)測試工具沒有需要的方法時,而該方法又會被經(jīng)常使用,我們便需要自己編寫該方法,以方便腳本的調(diào)用。 d. 測試數(shù)據(jù)。 一個測試用例需要執(zhí)行很多個測試數(shù)據(jù),我們便可將測試數(shù)據(jù)放在一個獨(dú)立的文件中,由測試腳本執(zhí)行到該用例時讀取數(shù)據(jù)文件,從而達(dá)到數(shù)據(jù)覆蓋的目的。 在該框架中需要將這些典型要素考慮進(jìn)去,在測試用例中抽取出公用的元素放入已定義的文件,設(shè)定好調(diào)用的過程。 圖1 自動化測試流程 4) 測試腳本的開發(fā):需要注意腳本兼容性和可擴(kuò)展性,盡量保證測試腳本在不同的測試環(huán)境上均可執(zhí)行,在不同版本中均可達(dá)到測試效果??蓴U(kuò)展性即為在本腳本基礎(chǔ)上方便地增加測試步驟或者增加執(zhí)行的循環(huán)次數(shù)等。 三、 過往自動化測試過程中的一些經(jīng)驗(yàn) 1) 自動化測試的資源和技術(shù)儲備 根據(jù)項目情況合理安排資源,包括物料設(shè)備和人力技術(shù),保證能夠持續(xù)推動工作。 2) 自動化測試依賴于開發(fā),運(yùn)維,測試的配合 a. 運(yùn)行測試腳本的必要條件,需要特別注明 b. 接口有變更需要開發(fā)提前需知會測試,測試進(jìn)而調(diào)整接口測試腳本 c. 測試腳本需要隨時review,確認(rèn)腳本實(shí)現(xiàn)了用例的測試意圖 3) 用例質(zhì)量 用例應(yīng)該能夠保證預(yù)期結(jié)果的確定性和準(zhǔn)確性,避免出現(xiàn)因用例導(dǎo)致的腳本失敗,影響自動化測試結(jié)果的可信度,浪費(fèi)大量資源去定位問題。 4) 測試腳本質(zhì)量 腳本務(wù)必完全實(shí)現(xiàn)用例的測試意圖,腳本要方便兼容和擴(kuò)展,數(shù)據(jù)集中存放,腳本內(nèi)不出現(xiàn)寫死的輸入?yún)?shù),如果腳本存在問題,但測試結(jié)果為PASS,則可能會長期掩蓋一個真實(shí)的BUG。 四、 DapuStor的自動化測試 DapuStor自驗(yàn)盤片HaiShen系列,在研發(fā)過程中進(jìn)行了大量的自動化測試工作,包括CI測試、開發(fā)自驗(yàn)測試、性能測試、掉電測試、冒煙測試、長穩(wěn)測試等,目前采用TestLink+Jenkins+RobotFrame模式實(shí)現(xiàn)自動化框架的設(shè)計,用例的管理,以及任務(wù)的構(gòu)建和執(zhí)行,通過持續(xù)的自動化構(gòu)建,比較有效地保證了產(chǎn)品的質(zhì)量,支撐了產(chǎn)品的研發(fā)進(jìn)度。 以上內(nèi)容來自SSDFanS 如有侵權(quán)請聯(lián)系刪除 |
分享本篇文章給更多人:
2020-05-27
2020-02-24
2020-05-27
2022-12-05
2020-05-27
請發(fā)表評論