我估計,很多跟我一樣沒做過軟件測試的人都會認為軟件測試的核心工作內容就是找Bug,挑毛病。說的再直白點,就是每天點點點,看哪個地方又不好使了。
但是,我今天才了解到,原來我對于軟件測試竟然誤解多年。
IEEE對軟件測試的定義是:“使用人工或自動手段來運行或測定某個系統的過程。其目的在于檢驗它是否滿足規定的需求或是弄清預期結果與實際結果之間的差別。”
從上面的描述可以看出,軟件測試的目的應該是驗證需求。Bug或者說Defect是這個過程中的產品而非目標。我聽說很多軟件公司會用Bug數量來衡量測試人員業績,這樣的做法會漸漸讓測試人員忘記了測試的根本目的。如有些測試人員會拼命找出很多無關痛癢的問題來充數,或是把大把時間花費在設計一些復雜的測試用例去發現一些迄今尚未發現的缺陷。
明白了測試的目的我也就清楚了,為什么測試人員需要參與到需求評審/PRD評審中來,為什么有些公司是要求產品經理來產出測試用例的---測試人員需要了解產品需求,最了解產品需求的人最知道預期結果是怎樣的。
在這里再介紹一下軟件的6個質量特性:功能性(Functionality),可靠性(Reliability),易用性(Usability),效率(Efficiency),可維護性(Maintainability)和可移植性(Portability)。我們常聽到的功能性測試,就是針對第一個質量特性-功能性所做的測試。
后續我會介紹功能性測試,請持續關注喲~