QA 是在軟體開發過程中,確保產品品質、穩定性和可靠性,從而提高使用者體驗、滿意度的職務。它涉及測試、撰寫測試案例、定義 BUG、追蹤 BUG、以及與開發團隊協調等,做為 QA,絕對是軟體開發過程中非常重要的一個環節。
QA 職能
手動測試
手動測試 QA,在台灣的軟體界,蠻大比例是屬於這部分職能(可能會寫程式的都被抓去當工程師!?)。手動測試通常是基於需求文件和設計文件,設計測試案例和測試方法,然後執行這些測試案例,檢查功能是否符合預期的要求和標準。手動測試QA 最大的價值與優點在於人力能夠發現自動測試無法發現的缺陷,而缺點自然是無法快速執行大規模、重複的測試需求,因此通常需要結合自動化測試進行綜合測試。
自動測試
自動測試通常使用自動化工具和腳本來執行測試案例。相比於手動測試,自動測試具有更快、更精確、更穩定的特點且能減少部分手動測試的人力成本。但是,自動測試也有一定的限制,例如無法測試新需求、圖像、影像和音樂等,且前期需要投入一定開發成本和資源。因此,實務上仍然需要結合手動測試和自動測試人員。
常見的謬誤
很多團隊都認為全面轉變為自動測試就不再需要手動測試QA了。
我認為這是一個非常嚴重的錯誤。首先,撰寫自動測試的前提是須要有完整的測試案例,這些測試案例都是需要人為優先撰寫的。
其次,一個新的功能開發出來,緊急狀態下絕對是手動先進行測試,絕對沒有時間撰寫自動測試,最後是是自動測試能夠測到的範圍絕對沒有手動來得廣泛與深入。
自動測試適用的範圍應該是確保每次佈署新內容時,沒有影響到既有的完整、主要功能,
然而這樣的測試是非常 routine 且不可能每次佈署都做一次,這就能交給自動化測試,也就是 Acceptance Test
。
另一個主要情境是確保主要功能正常的測試,也可稱作On duty Test
。假設你們的產品是 7*24 不停歇的服務,或是內容或穿插相依外部的服務,那會很適合這種測試模式。使用自動化腳本,定時走一輪主要功能,確保當下服務都正常。
因此,我們應該了解自動測試的優勢與優點在何處,而不是一昧的認為自動測試能夠取代手動。
藉由 ChatGPT 來加速 QA 職能的方式
ChatGPT 也許只是一項跨時代的產品,乘著智慧 AI,接受它,站在巨人的肩膀上才是未來之路。在這篇文章我將演示透過 ChatGPT 來輔助撰寫測試案例,進而大幅度提升 QA 的效能與產值。