您敢說您的測試充分了嗎? 軟件測試
測試就像講故事
有個關于測試戰略的經典問題:“何謂測試充分?”如果您是從預制腳本階段就開始進行仔細的測試,那答案可能顯而易見:當您完成所有測試流程的時候即為測試充分。但是對于經驗老道的測試人員來說,這個答案是沒有價值的。他們會從如何定位項目的角度來回答,而不僅僅是如何按部就班地按流程操作,因為沒有一個現成的測試流程是正正好好完全適合于您的項目的,要不過于復雜,超出了需求范圍,就是過于簡短,不能滿足需求。
我們的任務不是運行一個既定的測試用例。對于我們所有人來說,我們的任務是充分捕獲產品的重要信息,使我們的客戶(主要是開發人員和管理人員)可以做出精明的決斷。
測試就像講故事
當進行測試的時候,您所作的更像是在編寫一篇調查性質的新聞故事。大致包括這樣幾部分:產品介紹、信息來源論證以及得出的結論。測試的每個步驟也就是在幫助您編寫這篇故事,或是在幫您開發故事情節。當您可以將這個關于目標產品的故事完整地講述清楚的時候,您的測試就算是充分了。如果您編寫的故事可以預知該產品對于用戶的價值,換句話說,當您相信您的測試報告可以掌控未來的時候,您的測試工作就算是做到家了。
例如,我剛測試了一個復雜產品的安裝流程。我的任務是檢測并記錄下系統安裝該產品后的所有變化。所以我的第一步就是分析這個安裝過程,然后畫出流程圖,針對流程中重要的部分選擇相對應的測試用例。繼而在可控的、可重復的測試環境中運行這些用例。這樣我就可以得到一個結果。接著我會檢驗該結果,以確保其每個部分的確與預期結果相吻合。我希望這是一個精彩的,扣人心弦的故事,所以我極盡所能去揣測“讀者”的意見。故事的弱點在哪里?我的故事是否可能失?我通過附加測試排除造成系統異常的其他可能性。并通過反復執行測試用例來提高我的自信心,確保我所看到的結果是與流程相關的,其中各種情況都是可控的,不會有突發事件產生。
當我把內部意見,以及需要對我工作進行檢驗的外部人員的意見都設想周全的時候,我的測試就算充分了。
一個簡短的故事就如同一部小說
測試可能是一個無窮盡的過程。如果說完成測試就意味著要運行所有可能的測試用例,那您的工作將不會有結束的那天。但是當您已經有一個具備主要情節的測試故事,且額外的測試不再會對故事有很大的影響,您也可以稱自己完成了測試項目。原因就是:您永遠都不可能確定測試的收益遞減點在哪里,而且也沒有必要去知道!您所須做的就是滿足每個人的期望,給他們一個精彩的故事:一個思考縝密,且負責的測試人員是如何通過測試充分了解產品的。在一些情況下,這可能需要進行幾個月的測試工作,也有可能僅僅是幾個小時。
測試故事的情節
一個完整的測試故事可以回答這些問題:什么是測試(覆蓋)?測試使用什么方法(技術)?如果出現問題,如何能檢測到(評估)?
無論我是否制定測試戰略,或者測試否運行順暢,我測試報告的情節總是會有相同的基本結構:測試人員看到產品后即開始學習,跟蹤產品的各種變化;擔心產品可能失敗,便通過風險導向性測試檢查產品的可預見性錯誤,不可預見的錯誤則通過多樣性測試結合風險導向性測試檢測,期間可能會碰到各種各樣的問題和矛盾;終于有一天,產品確定了,同時不再有遺留的問題,所有已知的問題得到了修復或反饋,所有矛盾都得到了處理,所有的風險都得到了檢測,并且產品所有重要的方面都得到了驗證,測試人員對于用戶的反饋已有了清楚的預期,測試人員非?鞓罚óa品也一樣非常成功)。
編一個好故事靠的是技術和用心。有時可能會遇到挫折。不要在剛遇到挫折時就氣餒。關鍵是您要有好的想法,且附之于行動。如果您能編出恐怖小說的話,就請盡情發揮吧!
文章來源于領測軟件測試網 http://www.kjueaiud.com/