1. 程式人生 > >Azure Devops/TFS測試管理(上)

Azure Devops/TFS測試管理(上)

因為最近測試人員合併到我這邊開發組,對於如何能更好管理測試流程和測試與開發能更高效的完成任務,通俗的說如何能更敏捷,深入思考,然後就開始琢磨起TFS(也稱之為VSTS/Azure Devops,因為我這邊還是用著TFS2018還未升級,下文都稱之為TFS)

 

本篇文章分上下

上 主要更多說在測試流程和手工測試的管理下

下 主要是更多探討自動化的一些流程(暫時摸索結合Specflow的形式來搞,這樣可以方便和測試用例對映)

 

現狀:

先業務部門先加業務需求到Jira,然後視情況有可能要配合QA新增測試任務,由此可能會帶一個主Jira任務和若干個子測試任務。

然後QA可能會根據此會有他們的測試用例,寫在各自的excel裡,可能會某些時候彙總下但總體依然是本地儲存。

 

對此我的疑惑:

Jira的目的應該是任務管理,任務管理裡穿插著測試任務這樣真的好嗎?

另外就算任務分解也應該是開發的任務分解,比如業務部門提的應該是業務目標咯,為了完成一個業務目標開發可能要完成若干個事情,那任務管理裡更應該體現的是這個而不是測試。

測試任務應該是另外的地方分門別類把?(當然之後肯定要有一個彙總展示的地方將業務目標/開發任務/測試任務都顯示出來的)。

 

然後眼光放到了TFS上面的“Test”上。

發覺一個事情,TFS四大支柱裡,Code/Work/Build And Release/Test。

網上介紹的最少的就是Test,最多的是Build And Release(也就是Azure Pipeline)。

 

摸索TFS的Test流程

Test下分為Test Plans/Parameters/Configurations/Runs/Machine這幾個子tab。

 

除了一個Runs顯然是顯示測試結果用的,其他的我之前一點都沒接觸郭,然後我重點去摸索了下他的Test Plan

 

通過它的Test Plan大概整理出按照TFS的套路,一個測試流程是由三部分構成:

Test Plan 測試計劃:猜想就是對應到某個迭代週期的意思

Test Suit 測試套件:猜想是對映到某個業務目標的意思

Test Case 測試用例:具體的某一個測試場景

 

一個測試計劃包含若干個測試套件,一個測試套件包含若干個測試用例

但是一個測試用例可以屬於多個測試套件,一個測試套件也可以屬於多個測試計劃 

 

而最細粒度的測試用例則是類似下面的樣子錄入 

 

然後應該會是類似下面這樣的結構組成 

 

有個細節是測試用例裡的狀態只有三個 設計/就緒/已關閉

之前有人問我,怎麼沒有“已完成”之類的狀態,不然如何表達我測試完了,我一愣。

繼續琢磨下發現測試用例本身是沒生命週期的,他的生命週期是隸屬於他所屬的測試計劃。

也就是測試用例是可以放到多個測試計劃裡,每個測試計劃下可能成功可能失敗,但它自身是沒生命的 

隔壁的五顏六色測試用例裡就長這樣 

 

測試人員應該如何使用

 

前方大概聊了下TFS下的設計套路,下面聊聊作為一個QA如何使用。

1.建立測試計劃

建立下,關聯當前迭代,沒啥好說的,一步略過。

2.篩選需要測試的需求

對著測試計劃右鍵,可以通過這2個進行篩選,我覺得好一點做法是建立一個查詢,制訂好對應查詢的條件那麼就可以恆定用第三個基於查詢的套件,我這選擇第二個基於需求的套件。

(隱含一句話:這就要求需求也要是在TFS裡進行管理才行)

查出了一堆任務,然後從中撈是分配給我的測試任務,比如我這裡選擇前三個後建立套件(Create Suites)

自動根據你選擇的積壓工作項建立了測試套件,然後我要在每個套件下建立對應測試用例 

好,現在用例有了,我們執行測試,執行測試會有2種情況,分為自動化了的和沒自動化的,自動化的下篇講,先談未自動化的。

選中用例,點選執行,之後會彈出一個框,就是對照著你的測試用例出來的每個步驟,那我們照著測試流程來一輪把 

臥槽,該頁無法顯示,這是bug 

先記錄下我是在第一個步驟就出錯了,然後上方有個建立Bug,點下然後填寫好對應資訊扔給開發 

 

 

關於手工測試的時候,可以在瀏覽器安裝對應外掛之後,還能錄製執行的動作,支援截圖等 

https://marketplace.visualstudio.com/items?itemName=ms.vss-exploratorytesting-web 

 

由於目前出現了Bug,所以測試流程中斷,儲存下 

 

之後Dev說修好了,在重新走一次驗證流程。

 

後續

由於各種流程還在探索中,暫時主要就上述部分。

另外還應該提供幾個圖表給測試人員看,暫時能想到的幾個:

①當前已經可以進行測試了的任務(開發已提交了的) 

②當次迭代還沒被分配測試套件的任務

③手頭還完成(即失敗或未開始的)測試任務 

④自動化測試佔比 

這幾個應該要在一個測試專用的Dashboard裡展示出來,讓大家都能共享知道進度 

 

手工測試部分和測試流程部分大概就那麼多,自動化部分還在坑裡中。

另外Test裡還有Parameter和Configuration之類的,雖然感覺我能理解它是什麼,但是不知道怎麼用,微軟官方里感覺也寫的不明不白

一切都是自己摸索的,如果有誤還望