因為最近測試人員合並到我這邊開發組,對於如何能更好管理測試流程和測試與開發能更高效的完成任務,通俗的說如何能更敏捷,深入思考,然后就開始琢磨起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之類的,雖然感覺我能理解它是什么,但是不知道怎么用,微軟官方里感覺也寫的不明不白
一切都是自己摸索的,如果有誤還望指正