iT邦幫忙

2022 iThome 鐵人賽

DAY 13
0
Software Development

QA 三十天養成日記系列 第 13

[Day 13] QA 的 Review 怎麼做?該如何執行?自動化又需要什麼樣的 Code Review 準則?

  • 分享至 

  • xImage
  •  

Review 準則
(圖片引用來源)
在團隊中,Review 的機制非常重要,不管是不是寫 code,都需要有夥伴幫你確認寫的內容是否正確
也能在 Review 階段中發現自己的不足、給予其他人改善的建議
無論如何,它的存在非常重要,良好的 Review 機制會能讓團隊彼此成長的、也能建立更好的團隊文化。

先分成三大類

  • Test Case 的 Review
  • 自動化 的 Review
  • 團隊工作的 Review

先談談 Review 意義

Review 顧名思義就是 審查/回顧。

審查

但看名詞的話,不用把它想得太可怕XD,審查不過,頂多就是修改一下即可。
這個審查最大目標就是【希望我們所撰寫出來的東西(Test Case/自動化)別人是看得懂的】
如果連第一關審查的人都看不懂,那其他人一定更加看不懂。

既然是審查,就表示它需要有所規範,有明確定義哪些是可行的、哪些是不可行的
這時就需要定義團隊的 write/code style

  • write style: 撰寫測試案例的規則。
  • code style: 撰寫自動化的規則。

建議規則的目標為

  • 一切保持簡單
  • 以結果為目標導向

的方式為前提進行定義 style 規則。

名言分享:

Good code is code that can be understood by a junior engineer.
Great code can be understood by a first year CS freshman.
The best code is no code at all.

回顧

在工作的過程中,難免會有出差錯、卡住有問題的情況。
這類的回顧,可以更好檢視我們的工作狀態是否有問題、是否需要改善。

Test Case 的 Review


(圖片引用來源)

前面文章有提到,QA 寫 Test Case 也是常態。
但 Test Case 最大的目的除了是條列出產品的測試項目,最重要的也是要讓其他人看得動才行
如果寫了半天的 Test Case,結果所有人都看不懂,那完全沒有意義XD

正確流程可以是

  1. 小明需要撰寫一條 Test Case,開成一張票給團隊成員們方便追蹤進度
  2. 小明選擇團隊中的小美幫忙 Review Test Case 是否正確
  3. 小美 Review Test Case
  4. 小美發現測試步驟有錯(or 不符合團隊撰寫風格),所以提供改善建議
  5. 小美將票退回去給小明,要求小明更新
  6. 小明更新後,再次請求 小美 Review 一次
  7. 小美 Review Test Case
  8. 小美將 票 標記成完成,已表示該 Test Case 沒問題

(上方可能會視團隊情況,會在多一層主管 Reviewer)

透過上方一來一往,我們就能盡量確保撰寫 Test Case 的語意、方式、風格,是否都正確
正確的 Test Case 再日後撰寫自動化會極為重要
若是再撰寫自動化階段,完全看不懂 Test Case,那這樣又要再多耗一層功去改 Test Case,導致自動化進度會被 delay

自動化 的 Review

Code Review
(圖片引用來源)

其實這就是我們常說的 Code Review,畢竟寫自動化也是在寫 code。
code 的撰寫方式需要更為嚴謹,因為牽扯到邏輯。

自動化的前提往往都是依照 Test Case 去進行撰寫
只要 Test Case 足夠完善,清楚明瞭,在撰寫 自動化 時就只剩下撰寫 code

正確流程可以是

  1. 小明需要撰寫自動化,開成一張票給團隊成員們方便追蹤進度
  2. 小明選擇團隊中的小美幫忙 Code Review
  3. 小美 Code Review
  4. 小美發現邏輯不正確(or 邏輯設計過於複雜),所以提供改善建議
  5. 小美將票退回去給小明,要求小明更新
  6. 小明更新後,再次請求 小美 Code Review 一次
  7. 小美 Code Review
  8. 小美將 票 標記成完成,已表示該 自動化 沒問題

(上方可能會視團隊情況,會在多一層主管 Reviewer)

團隊工作的 Review

這就是屬於 回顧 的部分
主要目的是檢視團隊 上一周 的工作狀態,將已知問題回報給團隊其他成員們知道(及主管),近一步探討如何改善。
e.g.

  • 發現上周上線時的流程有問題,原因是...,建議改善方式...
  • 發現現在專案時程有問題,原因是...,建議改善方式...
  • 有張票有問題,目前仍在開發修正階段,原因是...,建議改善方式...

同時 Review 完後
主管則是將 Review 結果做個總結 並 依照團隊量能分配 下一周 的工作事項
e.g.

  • 持續追蹤某個卡住問題
  • 驗證某張票
  • 撰寫 Test Case
  • 撰寫自動化
  • Reivew 某個 Test Case/自動化

就會一直周而復始的進行 Review,不斷的跌代工作流程、進行優化、追蹤進度。

參考


上一篇
[Day12] 經典的軟體測試金字塔!現實與理想存在著差異
下一篇
[Day14] 發生問題別再究責了!停止究責文化!問題從根本解決才是王道
系列文
QA 三十天養成日記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言