如果問測試工程師測試用例如何編寫,就好象是問程序員如何編寫代碼一樣,每個人都會給出不同的方法,但是實用的測試用例卻象優秀的程序一樣困難。
本章針對上面的問題,主要講解在企業實際工作中,如何有效劃分測試種類和編寫對應的測試用例,使測試工作更加合理、高效率的運行。
本章主要以測試用例的編寫和管理為核心,講述下面內容:
對于測試種類的說法多種多樣,最多的能有30多種測試類型。而實際工作中很多測試是互相包含的。按照企業中實際工作需要,測試主要包含下面的類型:
功能測試:功能測試主要針對產品需求說明書的測試,主要是驗證功能是否否合需求,包括原定功能的檢驗、是否有冗余功能、遺漏功能。這類測試應由測試員做,這并不意味著程序員在發布前不必檢查他們的代碼能否工作(自然他能用于測試的各個階段)。
健壯性測試(容錯能力/恢復能力測試):側重于程序容錯能力的測試。本測試在單元測試階段和系統測試階段都要進行。如數據邊界測試、非法數據測試、異常中斷測試等等,主要是驗證程序對各種異常情況是否進行正確處理。為了執行方便,建議健壯性的大部分測試用例盡量編寫在功能測試用例中。
接口測試:程序員對各個模塊進行系統聯調的測試,包含程序內接口和程序外接口測試。這個測試,在單元測試階段進行了一部分工作,而大部分都是在集成測試階段完成的。由開發人員進行。
強度測試:強度測試檢查程序對異常情況的抵抗能力。強度測試總是迫使系統在異常的資源配置下運行。例如,①當中斷的正常頻率為每秒一至兩個時,運行每秒產生十個中斷的測試用例;②定量地增長數據輸入率,檢查輸入子功能的反映能力;③運行需要最大存儲空間(或其他資源)的測試用例;④運行可能導致虛存操作系統崩潰或磁盤數據劇烈抖動的測試用例,等等。
壓力測試:對系統不斷施加壓力的測試,是通過確定一個系統的瓶頸或者不能接收的性能點,來獲得系統能提供的最大服務級別的測試。例如測試一個 Web 站點在大量的負荷下,何時系統的響應會退化或失敗。
性能測試:在交替進行負荷和強迫測試時常用的術語。性能測試關注的是系統的整體。它和通常所說的強度、壓力/負載測試測試有密切關系。所以壓力和強度測試應該于性能測試一同進行。舉例說明:針對一個網站進行測試,模擬10到50個用戶就是在進行常規性能測試,用戶增加到1000乃至上萬就變成了壓力/負載測試。如果同時對系統進行大量的數據查詢操作,就包含了強度測試。
壓力測試注重的是外界不斷施壓,強度測試注重的是極限或者異常情況下系統的測試。
用戶界面測試:對系統的界面進行測試,測試用戶界面是否友好、是否方便易用、設計是否合理、位置是否正確等一系列界面問題
安全測試:主要是測試系統在沒有授權的內部或者外部用戶對系統進行攻擊或者惡意破壞時如何進行處理,是否仍能保證數據的安全。測試人員可以學習一些黑客技術,來對系統進行攻擊。
可靠性測試:這里是比較狹義的可靠性測試,它主要是對系統能否穩定運行進行一個統計,在實際工作中如果沒有條件可以不必特意去做。重點做好與之緊密相關的功能測試、健壯性測試就可以了。
安裝/反安裝測試:安裝測試主要檢驗軟件是否可以正確安裝,安裝文件的各項設置是否有效,安裝后能否影響原系統;反安裝是逆過程,測試是否刪除干凈,是否給影響原系統等。
文檔測試:主要測試開發過程中針對用戶的文檔,以需求、用戶手冊、安裝手冊等為主,檢驗文檔是否和實際應用存在差別。文檔測試不需要編寫測試用例。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/