天天看點

開源實習經驗分享:openEuler軟體包加強測試

本文作者 | 秦海棋

他在開源實習中參與了openEuler社群QA SIG的工作,以下分享關于openEuler軟體包加強測試的經驗。

開源實習官網:https://www.openeuler.org/zh/internship/

關于SIG-QA

作為一個熱門的作業系統,openEuler釋出了衆多的軟體,但是這些釋出的軟體不一定是完備的,可能存在品質、安全等問題,為了降低軟體開發成本和使用風險,我們需要對軟體包進行加強測試。

openEuler 社群按照不同的 SIG(Special Interest Group) 來組織,以便于更好的管理和改善工作流程。軟體包加強測試相關工作則由SIG-QA團隊負責,SIG-QA團隊的目标是測試構成openEuler發行版的軟體,提高openEuler社群的品質和測試能力。團隊會在 ==src-openeuler 組織倉庫==釋出軟體包加強的相關任務, 可以在通過intern-QA标簽定位到所有軟體包加強測試相關任務,然後選擇感興趣的任務進行認領。

下圖為任務位址頁面

開源實習經驗分享:openEuler軟體包加強測試

軟體包加強測試任務所需技能

做軟體包加強測試最重要的是要熟悉linux的操作指令與shell腳本語言。因為軟體是在歐拉伺服器上運作,需要通過linux指令來部署相關環境并且執行軟體包功能。而最後需要編寫shell腳本進行測試用例的執行并将代碼送出到倉庫中。少部分情況可能會需要編寫運作别的語言的代碼來驗證軟體包的功能,這個由所要測試的軟體決定。

具體測試步驟

準備系統環境

在任務中檢視相關環境要求,選擇正确的OS版本。系統環境搭建流程不進行闡述,倉庫中有詳細的word文檔進行指導。

檢視OS版本如下:

開源實習經驗分享:openEuler軟體包加強測試

部署測試環境--mugen測試架構

當部署完系統環境之後,需要部署測試環境。我們需要使用mugen測試架構進行測試。mugen架構需要從==openeuler倉庫==中進行拉取。

開源實習經驗分享:openEuler軟體包加強測試

學會mugen架構

工欲善其事必先利其器,mugen架構就是我們完成任務的武器,隻有熟悉mugen架構才能完成好任務。mugen架構規定了我們編寫的用例如何執行,shell腳本格式如何編寫,同時還規定了各種公共函數可以直接調用。學會了mugen架構,才知道如何寫一個測試用例、如何運作測試用例,這些都可以在mugen倉庫的README.md文檔中學習。

mugen架構有兩個重要的包,一個是suite2cases,一個是testcases的cli-test。在suite2cases裡面我們隻需要寫一個json檔案,裡面存放測試用例名(腳本檔案名)。當json檔案裡面有多個測試用例時,我們便可以用指令控制一次執行一個用例還是多條用例。cli-test存放用于執行的腳本檔案。詳細知識可以通過閱讀mugen倉庫提供的文檔以及B站的視訊進行學習。

mugen重要檔案夾如下圖:

開源實習經驗分享:openEuler軟體包加強測試

對具體軟體進行測試

準備好環境之後,我們需要對具體的軟體進行測試。首先我們需要熟悉軟體的功能(以下圖檔以crontabs軟體包為例),它的各種指令。我們測試的目标就是覆寫該軟體包指令行基本功能即所有指令。所謂磨刀不誤砍柴工,隻有充分了解軟體的作用之後再測試,才能達到事半功倍的效果,我們可以尋找關于該指令的文檔進行閱讀,若該軟體的資料比較少,我們還可以閱讀其源碼。

crontabs需要測試的指令如下圖:

開源實習經驗分享:openEuler軟體包加強測試

對于軟體包的測試,要測試的點包括但不限于軟體能否正常下載下傳、正常開啟或關閉、軟體的各個指令能正常執行并達到預期的效果,軟體能夠正常解除安裝。測試完之後,要保證“無痕”,即保證軟體所有相關的檔案都被清楚掉,做到完美複原,這樣就算一個軟體包測試完成了。其中任何一個環節經過測試後,若确定有問題,需要向相應的軟體包倉庫提issue,供開發工程師進行解決。

功能測試方法執行個體如下:

開源實習經驗分享:openEuler軟體包加強測試

送出測試成果

在所有指令測試完畢,代碼編寫完畢後,可以送出代碼。需要注意的是mugen倉庫配置後,會産生備援檔案,這些是不需要上傳的,必須清除掉再送出,具體哪些檔案可以對比mugen倉庫的檔案。送出pr時,要綁定自己的任務單号,并且要附上測試用例成功運作的截圖。

pr說明如圖:

開源實習經驗分享:openEuler軟體包加強測試

收獲與建議

繼續閱讀