摘要:系統(tǒng)性能測試結(jié)果的可參考性與測試環(huán)境有著直接的關(guān)系,模擬環(huán)境與真實環(huán)境相比存在環(huán)境差異、數(shù)據(jù)量差異等問題,導致測試結(jié)果的可參考性差。為了獲得準確的性能數(shù)據(jù),性能測試需盡量在生產(chǎn)環(huán)境進行。但是在生產(chǎn)環(huán)境進行測試可能會對系統(tǒng)造成一定的風險,測試中應盡量規(guī)避這些風險的發(fā)生。本文主要介紹生產(chǎn)環(huán)境中的性能測試風險以及風險規(guī)避的方法。

  性能測試是針對系統(tǒng)的既定性能指標,制定測試方案,并執(zhí)行測試,得出測試結(jié)果來驗證系統(tǒng)性能是否滿足用戶要求而進行的測試。

  性能測試結(jié)果的可參考性與測試環(huán)境有著直接的關(guān)系,如果測試是在模擬環(huán)境下進行,會存在一些問題,比如硬件和軟件配置與生產(chǎn)環(huán)境的不一致、測試數(shù)據(jù)量和實際生產(chǎn)環(huán)境的數(shù)據(jù)相差太遠等,這些因素都會影響測試結(jié)果的可參考性,因此,為了獲取準確的性能數(shù)據(jù),真實的反映系統(tǒng)性能,性能測試應盡量在生產(chǎn)環(huán)境進行。

  生產(chǎn)環(huán)境是業(yè)務(wù)系統(tǒng)正式運行的環(huán)境,一般已經(jīng)上線使用了一段時間,系統(tǒng)中存在大量的真實業(yè)務(wù)數(shù)據(jù),且業(yè)務(wù)數(shù)據(jù)隨著系統(tǒng)的運行在不斷的增加和更新中,因此在生產(chǎn)環(huán)境進行性能測試必然會對業(yè)務(wù)系統(tǒng)產(chǎn)生影響,甚至造成一定的風險,作為測試方,我們必須預知風險,并有效的規(guī)避風險。那么在生產(chǎn)環(huán)境進行性能測試可能的風險有哪些?我們在測試中應采用什么樣的手段來規(guī)避這些風險呢?下面結(jié)合我自己的一些項目經(jīng)驗談一下這方面的體會。

  一、在生產(chǎn)環(huán)境進行性能測試存在哪些風險?

  (一)測試可能會導致系統(tǒng)崩潰

  考慮到系統(tǒng)的業(yè)務(wù)發(fā)展,通常設(shè)定的性能指標會一定程度的高于目前系統(tǒng)運行時承受的壓力,在系統(tǒng)能承受的大壓力未知的情況下,測試對系統(tǒng)施加的壓力可能超過其所能承受的壓力,導致系統(tǒng)崩潰,影響系統(tǒng)正常的業(yè)務(wù)運行。

  (二)測試可能會造成數(shù)據(jù)損壞

  在對系統(tǒng)進行壓力測試時,可能會因為系統(tǒng)壓力過大導致某些事務(wù)未成功執(zhí)行,從而導致相關(guān)數(shù)據(jù)被破壞;有些操作需要直接修改系統(tǒng)中的原始數(shù)據(jù)等,這些都可能對系統(tǒng)數(shù)據(jù)造成損壞。

  (三)測試會產(chǎn)生大量垃圾數(shù)據(jù)

  由于性能測試的并發(fā)用戶量大,而且要重復執(zhí)行多次,所以會在系統(tǒng)中產(chǎn)生大量的垃圾數(shù)據(jù),影響系統(tǒng)的使用。

  為規(guī)避以上的風險,在生產(chǎn)環(huán)境進行性能測試時,我們應采取有效的手段避免上述風險的發(fā)生。

  二、風險規(guī)避手段有哪些?

  (一)重要數(shù)據(jù)事前備份、事后恢復

  在執(zhí)行測試前,應盡可能對系統(tǒng)進行備份,至少對系統(tǒng)的重要數(shù)據(jù)和文件進行備份,確保系統(tǒng)測試結(jié)束后可以恢復到初始狀態(tài)。