在軟體產業中,你曾經聽過以下幾句話嗎?
阿中:QA是測試的專家,我們應該讓QA處理所有測試工作,且負責確保軟體的品質。
阿秋:剛拿到交付的功能,一點按功能紐,功能就爆炸,這怎麼測得下去?
阿節:終於等到功能完成開發,我們可以立即開始測試,但是只剩下兩周,怎麼辦?
阿快:測試時間不夠,來不及完成整個測試;若發現問題,則需要延長交付時間。
阿樂:昨天系統剛更新版本,現在就接收到使用者發現bug,QA你們是怎麼測試的?
若你是擔任QA的角色,以上這些對話,你們一定也不陌生吧,系統沒問題,是上天保佑,是理所當然,當有蟲子出沒,第一個想到的都是QA,多麼吃力不討好的事情啊!!
若你不是擔任QA的角色,但是你們的團隊曾經說過,或聽過這些話,這就表示你們的軟體品質肯定是令人擔憂,並且沒有跟上最時代的潮流!!
不論是瀑布式開發或敏捷開發,測試工作都是影響軟體品質的關鍵要素,大家一定要謹記以下這句話,
「軟體品質不是QA的責任,而是團隊的責任!!」
「軟體品質不是QA的責任,而是團隊的責任!!」
「軟體品質不是QA的責任,而是團隊的責任!!」
「敏捷測試」因應而生,它是一種遵循敏捷軟體開發原則的測試實踐,敏捷團隊是跨職能特性團隊,強調「團隊整體對質量負責」,每個人都要關心測試。測試不再是一個獨立的階段,也絕非只是QA的責任,而是全員的共識,並且屬於整個開發過程的一部分;透過這種方式,可以增加測試的效率和效果,並且在早期發現問題,從而降低修復成本。
故事需求在不同的時間點,透過不同的角色重複驗證再驗證,每次驗證都是屬於測試的一環。
驗證1:在進入衝刺會議前,SA與部分資深團隊成員進行「需求精煉」,確保需求規格是沒問題且經過邏輯驗證。
驗證2:在進行衝刺會議時,SA與全部團隊成員(PG、UX、QA)進行「需求說明」,需求規格會透過不同的職務角色,透過各自的專業來檢視需求規格,且開發團隊可以在允諾的時間內完成。
驗證3:在進行衝刺期間,PG可以隨即反映開發上遇到的需求問題,透過早會立即反應且被解決,並透過撰寫單元測試,可以幫助開發人員在程式碼中及早發現錯誤和缺陷
驗證4:在回顧會議後,交付成果給QA進行最後一波驗收,透過人工測試、自動化測試,將交付的功能進行整合測試、功能測試。
敏捷測試不能擔保系統完全沒有bug,但絕對可以協助團隊用最短時間,交付最有價值的系統到客戶手上,實現名副其實的端對端交付。
不管你是擔任團隊中的甚麼角色,不知道你有沒有跟上這波「敏捷測試」的浪潮呢?
⭐建立系統品質人人有責的共識
⭐培養勇於發覺問題的意識感
⭐以積極的心態面對真正的問題
鼓勵團隊成員的創新,提倡持續改進,允許犯錯,針對事件問題檢討,而非對個人究責,進而幫助團隊培養自發性的責任感。
軟體開發要敏捷,那測試要如何變敏捷呢?
「打破跨職能的邊界,將測試落實在軟體開發的每個環節中!」