系統測試定義:把產品做爲一個總體,在真實的運行環境下,與環境中的其餘要素相結合,檢驗是否知足用戶的須要。web
系統測試的目的:檢驗是否知足用戶的需求,或者弄清實際和需求的差距sql
系統測試的真實使用環境:包括真實環境和仿真環境數據庫
仿真環境:某些沒法實現的真實的測試環境,或真實的測試環境成本過高,就能夠採用仿真環境安全
優勢:一、容易搭建性能優化
二、成本較低,可重複使用服務器
缺點:測試結果有失真,因此在真實使用環境下還須要在測試一次網絡
測試對象:包括被測產品在內的整個使用環境併發
測試類型:採用特定的測試方法、檢驗產品某些質量特性的測試,叫某類型的測試工具
一、功能測試:性能
檢驗產品的功能特性(主要針對準確性和適用性)
目的:檢驗產品的功能特性是否知足用戶的需求
二、性能測試:
檢驗產品的效率和可靠性
目的:檢驗產品的效率和可靠性是否知足用戶的需求,找出性能瓶頸,並進行性能優化
a.負載測試:檢驗產品在不用負載狀況下的產品性能
軟件的負載:承受的用戶併發數量,有多少用戶共同使用
負載測試是一種對比性的測試,在不一樣負載狀況下檢驗產品,調整產品設計以更好的知足更主要負載時的質量特性
b.穩定性壓力測試:檢驗產品在必定負載狀況下長時間運行中的效率和可靠性
負載一般在最大負載範圍的邊緣
c.破壞性壓力測試:檢驗產品在遠超過所需負載的極大負載狀況下的產品質量特性,特別是觀察是否存在嚴重的故障
d.容量測試:主要針對產品的輸入輸出數據負載時產品的效率和可靠性
負載一般針對大數據的吞吐量能力,重點考察磁盤和網絡寬帶
指標:表示產品質量特性的一種方法,進行性能測試時一般選擇的指標包括:
a.負載
b.硬件環境指標:cpu、內存、磁盤讀寫速度、網絡帶寬佔用率
c.軟件環境指標:web服務器、數據庫服務器、中間件服務器等鏈接數使用率
d.被測試產品運行指標:大部分用戶(50%、90%、99%)事務時長、事務成功率
測試過程:
a.從需求中選擇要檢驗功能特性的性能指標,並分析產品特性,篩選出還須要檢測的其餘性能指標
b.選擇測試工具、編寫自動化測試腳本
c.模擬用戶併發量,監控全部性能指標,智行性能測試,記錄各性能指標的實際數值
d.執行性能測試後,對各性能指標結果進行分析,找出性能瓶頸,並優化
三、安全性測試:
檢驗產品所在整個運行環境的安全性
目的:經過模擬攻擊的方式找出產品運行環境的安全性漏洞,並彌補漏洞,以提升產品的安全特性
方法:沒有固定方法,黑客怎麼攻擊產品,安全性測試就怎麼測
安全性漏洞:
a.硬件環境安全漏洞
b.軟件環境安全漏洞:端口掃描、殺病毒、打補丁等
c.被測試產品的安全漏洞:代碼的錯誤、權限
權限測試:
a.有相應權限則能執行相應功能
b.無相應權限則不能執行相應功能,難點
是否會出現不經過點擊按鈕、而是直接訪問某網址的方式執行沒有權限的功能
sql注入、跨站腳本攻擊
四、GUI測試:
Graphic User Interface圖形化用戶接口
對人機交互界面進行的測試,檢驗產品的人機交互界面的易用性和功能性。按鈕、文本框、下拉列表、窗口等控件的美觀、統一
基於GUI的功能測試,關於的是產品的功能特性,經過使用圖形化界面上的控件來測試產品的功能
GUI測試,測試的就是圖形化界面的控件,關注的是界面的易用性
五、易用性測試:
檢驗產品的易用性
六、安裝測試:
檢驗產品在安裝升級和卸載過程當中的質量特性
測試過程:根據提供的安裝文件列表,將產品安裝完成後,對比須要安裝到制定目錄的文件是否安裝完整、須要執行的程序是否成功執行;還須要檢查在各類兼容環境下該安裝過程是否存在異常;還須要檢查相同文件名的不一樣版本的替換問題;還須要檢查不兼容環境的警告。卸載時還須要檢查以前替換過的不一樣版本的保留問題。升級是還須要檢查跨越版本升級是否會出現配置衝突的問題
七、配置測試:
檢驗產品在運行環境的不一樣配置下的產品質量特性
配置測試也是一種對比型的測試,經過多種配置的配置測試,找出最佳配置,提升產品最佳配置的質量特性
八、異常測試,容錯測試,可恢復性測試:
人爲製造異常,檢驗產品如何恢復正常、恢復的時間長短、恢復程度的測試。主要針對產品的可維護性
備份測試:檢驗產品中信息被備份的程度和時間長度的測試。經過和異常測試一同進行
九、健壯性測試,魯棒測試:
檢驗產品在面對異常時可否自動的包容故障、恢復正常的測試。針對產品的可靠性
十、文檔測試:
檢驗文檔的質量特性,關注文檔自己是否正確,關注文檔和產品描述是否一致
測試方法:靜態評審
十一、在線幫助測試:
檢驗在線幫助文檔的質量特性,關注幫助文檔內容,關注軟件界面和幫助內容一致
十二、網絡測試:
檢驗產品中網絡部分的質量特性
測試方法:採用專門的網絡測試設備進行自動化測試
MTBF:Mean Time Between Failure,平均失效間隔時間(就是正常時間)
MTTR:Mean Time To Reload,平均恢復時間(就是失效時間)
但願MTBF越大越好,MTTR和MTBF之比越小越好
提升產品可靠性的方法:冗餘設計,包括功能冗餘、時間冗餘、信息冗餘
測試階段:
系統測試計劃階段:完成系統測試計劃
系統測試設計階段:完成系統測試方案
系統測試實現階段:完成系統測試用例、系統測試規程、系統測試預測試項
系統測試執行階段:執行系統測試預測試用例、系統測試用例、修改發現的問題並進行迴歸測試、提交系統預測試報告、測試報告、缺陷報告