性能測試是針對系統(tǒng)的既定性能指標,制定測試方案,并執(zhí)行測試,得出測試結果來驗證系統(tǒng)性能是否滿足用戶要求而進行的測試。
性能測試結果的可參考性與測試環(huán)境有著直接的關系,如果測試是在模擬環(huán)境下進行,會存在一些問題,比如硬件和軟件配置與生產環(huán)境的不一致、測試數(shù)據(jù)量和實際生產環(huán)境的數(shù)據(jù)相差太遠等,這些因素都會影響測試結果的可參考性,因此,為了獲取準確的性能數(shù)據(jù),真實的反映系統(tǒng)性能,性能測試應盡量在生產環(huán)境進行。
生產環(huán)境是業(yè)務系統(tǒng)正式運行的環(huán)境,一般已經上線使用了一段時間,系統(tǒng)中存在大量的真實業(yè)務數(shù)據(jù),且業(yè)務數(shù)據(jù)隨著系統(tǒng)的運行在不斷的增加和更新中,因此在生產環(huán)境進行性能測試必然會對業(yè)務系統(tǒng)產生影響,甚至造成一定的風險,作為測試方,我們必須預知風險,并有效的規(guī)避風險。那么在生產環(huán)境進行性能測試可能的風險有哪些?我們在測試中應采用什么樣的手段來規(guī)避這些風險呢?下面結合我自己的一些項目經驗談一下這方面的體會。
一、在生產環(huán)境進行性能測試存在哪些風險?
(一)測試可能會導致系統(tǒng)崩潰
考慮到系統(tǒng)的業(yè)務發(fā)展,通常設定的性能指標會一定程度的高于目前系統(tǒng)運行時承受的壓力,在系統(tǒng)能承受的最大壓力未知的情況下,測試對系統(tǒng)施加的壓力可能超過其所能承受的壓力,導致系統(tǒng)崩潰,影響系統(tǒng)正常的業(yè)務運行。
(二)測試可能會造成數(shù)據(jù)損壞
在對系統(tǒng)進行壓力測試時,可能會因為系統(tǒng)壓力過大導致某些事務未成功執(zhí)行,從而導致相關數(shù)據(jù)被破壞;有些操作需要直接修改系統(tǒng)中的原始數(shù)據(jù)等,這些都可能對系統(tǒng)數(shù)據(jù)造成損壞。
(三)測試會產生大量垃圾數(shù)據(jù)
由于性能測試的并發(fā)用戶量大,而且要重復執(zhí)行多次,所以會在系統(tǒng)中產生大量的垃圾數(shù)據(jù),影響系統(tǒng)的使用。為規(guī)避以上的風險,在生產環(huán)境進行性能測試時,我們應采取有效的手段避免上述風險的發(fā)生。
二、風險規(guī)避手段有哪些?
(一)重要數(shù)據(jù)事前備份、事后恢復
在執(zhí)行測試前,應盡可能對系統(tǒng)進行備份,至少對系統(tǒng)的重要數(shù)據(jù)和文件進行備份,確保系統(tǒng)測試結束后可以恢復到初始狀態(tài)。
(二)測試時間選擇系統(tǒng)空閑時間
對于系統(tǒng)并發(fā)負載測試或者其他可能影響系統(tǒng)運行并導致系統(tǒng)崩潰的測試操作,可以安排在系統(tǒng)空閑時間進行,出現(xiàn)系統(tǒng)異常時有時間可進行系統(tǒng)的恢復工作,不致于影響業(yè)務的正常運行。
(三)給測試數(shù)據(jù)加標記
對于系統(tǒng)測試過程中產生的垃圾數(shù)據(jù)要進行特殊標記,測試結束后要及時清理。測試數(shù)據(jù)可以事先準備并予以特殊標記,也可以是帶有特定意義的區(qū)域數(shù)據(jù)或者是特殊時間段內的數(shù)據(jù),這樣,當系統(tǒng)測試結束后,我們可以根據(jù)這些特殊標記將相應的垃圾數(shù)據(jù)刪除,保證系統(tǒng)的正常運行,對于那些需要直接在系統(tǒng)中進行變更的數(shù)據(jù)在相應的業(yè)務操作和功能確認完成后應予以及時恢復,確保將系統(tǒng)恢復到數(shù)據(jù)變更前的正常狀態(tài)。
(四)實時關注系統(tǒng)狀態(tài)
在具體實施系統(tǒng)并發(fā)負載測試時,應按照指標驅動和用戶逐漸增加的方法對系統(tǒng)進行測試。在測試過程中,應實時關注系統(tǒng)狀態(tài),當系統(tǒng)不能承受相應的壓力時,測試立即終止,以有效保證測試不會超出系統(tǒng)的最大可承受壓力,避免系統(tǒng)崩潰和數(shù)據(jù)損壞。
相關推薦:考試吧策劃:2010年軟件水平考試完全指南北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |