iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0
DevOps

任務導向的Azure DevOps 系列文系列 第 25

Day 25 任務導向的Azure DevOps 系列文 - 交付測試了,然後呢?測試總結。

  • 分享至 

  • xImage
  •  

Test Plan 好像怎麼用都可以用?

幾天前筆者就開始焦慮,因為從Day 17開始,到今天測試的部分講了九天,每天老覺得哪裡還沒有說完,結果到了今天終於要把測試做一個段落了。主要的原因還是因為,這個產品老實說,相較開發人員對於程式碼的交付,與Board的部分可以密切結合的狀況大相逕庭。這件事情我與業界令人尊敬的老師,以及原廠架構師都聊過,這個產品可能真的因為價格不斐,用的人不算多,所以在社群反應的聲音並沒有真的被Azure DevOps 團隊給真的重視,那我們也只能夠在現有的產品功能下,走出一條自己使用的道路。

到底這功能要怎樣用才最適合我們使用,可能這個答案對於不同的一百個團隊,會有一百種不同的答案。原本我們在七月份有做了一個共識,我們認為嵌入式測試最適合我們用,我們只需要在Board 中看到User story上的那個Test Case被打上了小勾勾,我們應該就同意這次開發已經達到了驗收標準,因此可以進行驗收了。

https://ithelp.ithome.com.tw/upload/images/20231001/20162800yLd3dBgNuJ.png

這樣想其實問題也不太大,因為如果在User story (使用者需求)的驗收條件完成後,這個項目就可以交付其實非常的直觀。回到我在Day 17當天說的,我們在提出我們有測試的紀錄,其實需要兩份文件,1.開發人員測試文件 以及2.使用者測試文件

本來想要最簡單的滿足這兩份文件,就想說那在一個user story 中,同樣的Test Case就開兩份,一個指派給開發人員去打勾勾,一個就指派給使用者去打勾勾。 就類似下圖:

https://ithelp.ithome.com.tw/upload/images/20231001/20162800JhOPBAeCyY.png

你看,多直觀,這樣不就知道開發人員或是使用者是否測試過了?

好吧,很怪。

  1. 同樣的腳本,居然有兩個不同的名稱 - 雖說是在前面把角色給標題文字化了,且Excel複製貼上並不困難,但是就覺得不太對勁,萬一我user 有5個,加上每個卡片有3個test case,那每張卡片不就好笑到不行。卡片上的直觀跟真的測試總搭不起來,而且沒辦法從卡片直接知道測試的紀錄。
  2. 不用錢還是有差 - 我之前在Day 19其實有比較過,如果你只有Bsic Plan,那只能看到部分的功能,所以其實我上面說的那一招,是可以使用的喔!(基於客家性格的實驗精神,筆者一直在實驗只有Basic Plan 的狀況)但是就是不直觀....況且,你在卡片中建立了Test Case,是無法在Test Plan 這個功能頁面中指派給別人的,因此你會看到所有的Test Point只有你自己....

https://ithelp.ithome.com.tw/upload/images/20231001/20162800XqqMQPVgAc.png

最佳實踐還是最佳實驗?

邊寫稿邊實驗了很多天,同時也承受著先導團隊的敲碗,基於要先弄出一個解決方案出來,因此硬著頭皮把下面的使用方式給產出來了。

  1. 還是要善用Test Plan 這個功能,但不用每個人都要開啟這個昂貴的產品來進行,在我們團隊中,只有開發人員要把手上的功能進行交付測試時的時間,會開來用。

  2. 在要開始提供給人員進行測試時,建立一個這次要交付專屬的Test Plan,先不要管sprint 的問題,因為我們團隊並沒有sprint的觀念存在,但可能要有板號在 TestPlan 的最前面,因為這樣在未來release note 可以直觀的知道是哪一份Test Plan,同時在Progress report 也可以明確知道。
    https://ithelp.ithome.com.tw/upload/images/20231001/20162800kcZhzDUSfX.png

  3. 所有的功能需求 -User Story (Required Based Test Suite)都會需要被建立相關的Test Case。
    https://ithelp.ithome.com.tw/upload/images/20231001/201628000r1YiKyZnr.png

  4. Static Test Suite 或Query Test Suite視情況決定是否要把新增其他的測試項目,或過去的測試項目拿來做迴歸測試。

  5. 指派測試點給相關的開發人員以及使用者,記得都先別發信。
    https://ithelp.ithome.com.tw/upload/images/20231001/20162800PCQNIPc4Iq.png

不發信的原因是,這裡有個很討厭的地方,我必須要一個個在具備test case 的test suite上(例如下圖範例中有#803 與#804 兩個required based test suite)指定測試者,沒有辦法在最上層直接遞迴的全部指派。
https://ithelp.ithome.com.tw/upload/images/20231001/20162800PsJkqPx11f.png

所以建議在所有Test suite都指派完所有測試人員,而且都不要發信通知。之後再一次從最上層指派相關測試人員,這是為了發信通知。
https://ithelp.ithome.com.tw/upload/images/20231001/20162800NhRhh0NAsW.png
https://ithelp.ithome.com.tw/upload/images/20231001/20162800FZQ0mGHmgc.png

  1. Test Plan的結果,由Progress report來呈現 (這邊先踩到了一個Bug,剛剛我明明就把我兩個Required test base test suite都按下通過了,這裡沒有即時更新。最後發現一定要control + f5重整頁面,報表才會正常更新)
    https://ithelp.ithome.com.tw/upload/images/20231001/201628003SVwAWA3kz.png

上述這六個步驟,就是決定該次要交付到生產環境的要求。跟據該次交付的內容,將所有測試項目都包含在測試計畫中,並且已Progress report 做為成果的展現。這個report 會在後面我們要交付的時,做為測試的依據。

配合度與文化轉變必經之路

另外,由於是在試行階段,所以有許多同事都說可能user不會配合進行這個測試方式。

我給的回應都是,如果他們想要繼續使用以前那種word檔案蓋章後掃描成pdf交付的方式,其實也暫時不要強迫使用者。因為短時間內要任何人改變,要是沒有強大誘因跟好處,誰願意改變原有的作法?所以即使他們使用pdf交付,換個角度想他們也是經過了真的測試的動作,只是用不同方式交付他的成果而已。

一個流程的導入,如果可以讓大部分的使用者發自內心的接受,那一定是有解決了真實世界的痛點,讓大家有強大的誘因想要使用。這樣這個流程導入才是真的成功。

因此,我們先針對資訊單位先行使用,並列入指引讓相關利害關係人都可以接受為前提,再繼續推行。

套句別人的名言:不管你要導入什麼新東西,那其實都是一種變革管理。


上一篇
Day 24 任務導向的Azure DevOps 系列文 - 交付測試了,然後呢?Test !! -3
下一篇
Day 26 任務導向的Azure DevOps 系列文 - 進入交付營運環境 - 分支任務:資訊安全與yaml變數處理 -1
系列文
任務導向的Azure DevOps 系列文30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言