軟件測試人員的職責:
測試的目的是保證軟件能夠正確的完成用戶期望的功能,并且不會給用戶造成不必要的損失,保證軟件達到需要的質量要求。所以,測試人員的責任并不僅僅是“找Bug”而已。
1、確定什么才是正確的行為,特別是定義邊界行為的正確性
要確定軟件運行是正確的首先要知道什么是“正確的”,這本身就是測試人員的重要職責之一。需求工程師和項目經理不可能一次將產品在所有情況下的行為都定義出來,甚至不能想到所有的情況。這種時候測試人員的職責就是盡量想到所有可能出現的情況,并且和需求工程師、項目經理和開發人員一起確定所有條件下的行為。這是測試人員的職責,也是權利,不要說測試只是在項目中后期才參與產品的“跟班”。
最重要的是盡量保證軟件是“指哪打哪”而不是“打哪指哪”(跑到了一種行為發現沒定義過,然后根據程序的反應來定義)
2、了解“用戶”如何使用軟件,并且確定“用戶”使用的時候不會遇到重要的Bug
很多項目都會遇到這樣的抱怨“為什么產品測試的時候沒有問題,拿到客戶那里一用就出問題”。原 因其實就在于測試人員沒有按照用戶的方式來測試軟件。測試人員需要了解究竟用戶是怎樣使用軟件的,用戶使用軟件是的環境是什么樣的(什么操作系統,多少內存,服務器負載多大,等等等)。測試人員必須要了解需求,了解行業,了解用戶,然后把測試用例定義成用戶真正使用軟件的時候會出現的情況。只有這樣才能最 有效的找到用戶在意的 Bug,而不是大量無關緊要的問題。
3、定義產品的質量要求
很多企業里面,測試又被稱為QA(Quality Assurance)——質量保證。所以測試人員最大的權利和義務就是制定產品要達到的質量標準。P1的Bug少于多少,P2的Bug少于多少,無故障運 行時間多少,需要服務承受的壓力不低于多少,測試的代碼覆蓋率有多少……而這些標準需要制定的既滿足客戶對質量的要求,又不會過于嚴格而導致開發時間過 長,這里面的學問可大著呢。
更重要的是,測試人員要能夠在項目過程中負責的堅持這些標準,并且獲得開發人員和管理層的支持。不能夠因為進度等原因就隨意讓步,因為產品質量爛,負責的就是你,到時候什么借口都沒有用。
4、保證測試的質量,給大家安全感
可以這么說,軟件開發過程中最大的焦慮來自對產品現實情況的無知,不論是開發團隊,管理團隊還是銷售團隊。而測試的重要職責就是隨時讓所有人了解現在情況時好時壞,有多好(多糟)。所以測試人員要保證隨時掌握產品的質量。因此測試要頻繁的進行,持續的進行,盡快的反饋。
5、保證測試的效率,不要影響產品的開發進度
除了質量,效率在測試中也很重要。如果開發者3天做出來的修改需要1個月才能測試完,肯定沒法滿足大家的需要。所以要想盡辦法,在最短的時間內跑最多的測試(至少也是能夠保證產品質量的測試)。你一天出一個build,我一天出一個測試報告!
可以說4、5條是發揮測試人員聰明才智的領地。自動化測試,自動化結果分析,測試平臺,一切測試有關的基礎發明都是為了這個目的。
簡單的說
2、有效地執行測試用例,提交測試報告;
3、準確地定位并跟蹤問題,推動問題及時合理地解決;
4、完成對產品的集成測試與系統測試,對產品的軟件功能、性能及其它方面的測試
原文轉自:http://www.anti-gravitydesign.com