測試人員通常是做為軟件質(zhì)量控制的一個角色蹲嚣,不僅僅是找bug赚瘦,需要對整個軟件的質(zhì)量負(fù)責(zé),性能也屬于質(zhì)量的一部分寺谤,因此測試人員眼中的性能應(yīng)該是全面的仑鸥,考慮的東西也需要全面:
1、測試人員需要考慮全面的性能变屁,包括用戶眼俊、開發(fā)、管理員等各個視角的性能粟关。
2疮胖、測試人員在做性能測試時除開要關(guān)注表面的現(xiàn)象如響應(yīng)時間,也需要關(guān)注本質(zhì)闷板,比如用戶看不到的服務(wù)器資料利用率澎灸,架構(gòu)設(shè)計是否合理?代碼是否合理等蛔垢。
性能測試流程
(1)業(yè)務(wù)學(xué)習(xí):通過查看文檔击孩,手工操作系統(tǒng)了解系統(tǒng)功能
(2)需求分析:分析系統(tǒng)非功能需求,性能測試的范圍鹏漆,了解系統(tǒng)性能指標(biāo)
(3)工作評估:工作量分解,評估工作量创泄,計劃資源投入(人艺玲,工作日)
(4)設(shè)計模型:把業(yè)務(wù)模型映射成測試模型 ,當(dāng)需要交互的另一方系統(tǒng)不存在時,自己開發(fā)擋板程序(mock程序)進(jìn)行替代所需功能測試鞠抑,保證性能測試工作正常進(jìn)展饭聚,這個過程叫設(shè)計測試模型
(5)計劃編寫:在文檔中明確列出測試范圍漓踢,人力投入砌烁,持續(xù)時間,工作內(nèi)容凭戴,風(fēng)險評估箕速,風(fēng)險應(yīng)對策略等
(6)腳本開發(fā):錄制或者編寫性能測試腳本
(7)測試環(huán)境準(zhǔn)備:服務(wù)器和負(fù)載機(jī)兩部分酪碘,服務(wù)器是被測系統(tǒng)的運行平臺,負(fù)載機(jī)是我們用來產(chǎn)生負(fù)載的機(jī)器盐茎,用來安裝負(fù)載工具兴垦,運行測試腳本。
(8)測試數(shù)據(jù)準(zhǔn)備:根據(jù)數(shù)據(jù)模型來準(zhǔn)備被測系統(tǒng)的主數(shù)據(jù)(保證業(yè)務(wù)能夠運行通常的基礎(chǔ))和業(yè)務(wù)數(shù)據(jù),準(zhǔn)備存量/歷史數(shù)據(jù)(數(shù)據(jù)量變引起性能變化)
(9)測試執(zhí)行:性能測試成敗關(guān)鍵探越,同樣腳本不同測試人員測出結(jié)果差異大(體現(xiàn)在場景設(shè)計與測試執(zhí)行上)
(10)性能調(diào)優(yōu):測試人員和開發(fā)人員一起解決性能問題
(11)測試報告:性能指標(biāo)說明(TPS,RT,CPU ,Using)狡赐,發(fā)現(xiàn)的問題
性能測試主要交付件:測試計劃,測試腳本钦幔,測試程序枕屉,測試報告或階段性報告(項目周期長)
性能測試類型
基準(zhǔn)測試:在給系統(tǒng)施加較低壓力時,查看系統(tǒng)的運行狀況并記錄相關(guān)數(shù)做為基礎(chǔ)參考
負(fù)載測試:是指對系統(tǒng)不斷地增加壓力或增加一定壓力下的持續(xù)時間鲤氢,直到系統(tǒng)的某項或多項性能指標(biāo)達(dá)到安全臨界值搀擂,例如某種資源已經(jīng)達(dá)到飽和狀態(tài)等 。
壓力測試:壓力測試是評估系統(tǒng)處于或超過預(yù)期負(fù)載時系統(tǒng)的運行情況铜异,關(guān)注點在于系統(tǒng)在峰值負(fù)載或超出最大載荷情況下的處理能力哥倔。
穩(wěn)定性測試:在給系統(tǒng)加載一定業(yè)務(wù)壓力的情況下,使系統(tǒng)運行一段時間揍庄,以此檢測系統(tǒng)是否穩(wěn)定咆蒿。
并發(fā)測試:測試多個用戶同時訪問同一個應(yīng)用、同一個模塊或者數(shù)據(jù)記錄時是否存在死鎖或者其他性能問題蚂子,