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

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

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

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

  一、在生產環境進行性能測試存在哪些風險?

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

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

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

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

  (三)測試會產生大量垃圾數據

  由于性能測試的并發用戶量大,而且要重復執行多次,所以會在系統中產生大量的垃圾數據,影響系統的使用。

  為規避以上的風險,在生產環境進行性能測試時,我們應采取有效的手段避免上述風險的發生。

  二、風險規避手段有哪些?

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

  在執行測試前,應盡可能對系統進行備份,至少對系統的重要數據和文件進行備份,確保系統測試結束后可以恢復到初始狀態。