軟件測試中系統測試之我見
系統測試的計劃階段最早開始,最晚執行,是一個嚴重“脫節”的測試階段。但我認為這恰恰保證了系統測試的質量:評估一個軟件產品首先要知道它的框架,從總體上認識了軟件結構之后就開始安排測試過程、測試方案,例如是否安排預測試,采用什么測試工具,搭建什么樣的測試環境等,但這些都不會是一成不變的,需要評審和等待后續工作的檢驗,會有在單元測試和集成測試階段回頭修改軟件需求說明書的情況,單元測試其中一個主要目的就是檢驗需求能否實現,所以說系統測試方案與實現不是固定的,把系統測試的執行放在最后從整體上測試軟件系統的好壞,是產品發布最后一道關(這里省略了用戶測試)
軟件質量模型總介紹質量與6大特性、27個子特性,這些可以知道我們進行系統測試。系統測試包括:功能測試function testing、性能測試performance testing、安全測試security testing、GUI測試、兼容性測試compatibily testing、壓力測試pressing testing、容量測試volume testing、易用性測試usiblity testing、安裝測試installing testing、配置測試configuration testing、文檔測試documentation testing、備份測試backup testing、負載測試loading testing、在線幫助測試online help testing、網絡測試webworking testing、穩定性測試stability testing、健壯性測試robustness testing、異常測試exception testing
這些測試之間有些交叉,有些測試涵蓋了其他測試的內容,但這不說可以替代或者省略其他測試,每個測試的側重點不同,就好比一臺電腦,如果運轉速度慢說明它的性能測試不通過,同時也說明了易用性測試也很差,但兩者的側重點不同,測試之后的提交的bug解決辦法也不同。
功能性測試主要測試軟件的功能性,有四種情況:沒做該做的;做了不該做的;測試人員發現效果不好;隱性需求沒有轉化成顯性需求;上面提到的該做什么是指那些呢?是軟件需求說明書上羅列的需求。
性能測試從時間和空間上詮釋性能的好壞,空間所指的是軟件對資源的利用情況,一個簡單的例子:在定義結構變量的過程中,結構的中的變量在定義的過程中內存都要分配相應的空間,變量在內存中的首地址必須能被變量的字節大小整除,這條規則導致了變量并不會連續存儲在內存中,造成了空間的浪費,程序要做一些優化等等;時間所指軟件的效率,運行速度等。
安全性測試用戶之間的通信時需要協議支持,局域網有TCP,互聯網有TCCP,不同的協議級別規定了用戶的權限;數據庫訪問權限等。
GUI測試全拼是graphic use interface,圖形使用接口,包括的內容很好理解,例如窗口的排版、顏色、大小、激活、糾錯等等很好理解了。
壓力測試的目的是尋找系統的壓力點。
負載測試是測試系統的負載能力是否在用戶的使用范圍內,跟蹤系統狀況。
容量測試構造了幾組容量不同的數據包,運行一種或幾種業務,確定系統的容量大小。
文檔測試時測試人員要把自己相像成一名用戶,根據文檔提示操作軟件,找出軟件中的問題,這也是編寫測試用例的入口。
異常測試是指測試人員模擬異常情況,觀察軟件的容錯以及恢復性,有些多發的異常情況在編程初期就應該考慮到,并設計出解決辦法,比如可以修改代碼規避錯誤,有些異常雖然可以估計到,但通過代碼無法規避,最有效的辦法運用冗余技術,包括時間冗余、信息冗余、結構冗余其中包括靜態冗余、動態冗余、硬件冗余、附加冗余等,舉個簡單的例子:Internet與局域網連接中間加了一層防火墻,防火墻有兩個系統,一個運行中一個處于靜止,當其中一個被攻破時另一個可以接替工作,這個過程中間斷的發送心跳信息。
系統測試也用到一些工具比如性能測試:loadrunner robot
功能測試工具:robot
缺陷管理工具:bugzilla freebug clear questions
測試管理工具:QC
文章來源于領測軟件測試網 http://www.k11sc111.com/