自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何準備性能測試數(shù)據(jù)

開發(fā) 測試
作者將性能測試數(shù)據(jù)準備工作簡單歸納,希望對從事性能測試工作的測試人員有一定的借鑒和參考。本文重點介紹一下性能測試要準備哪些數(shù)據(jù)及準備數(shù)據(jù)的常用方法。

在軟件性能測試過程中,測試數(shù)據(jù)的準備是一個非常系統(tǒng)化、工作量非常龐大一項工作。如何準備支持不同業(yè)務(wù)操作、不同測試類型的大量測試數(shù)據(jù)來滿足負載壓力測試的需求是性能測試過程中經(jīng)常面對的一個重要話題。

中國軟件評測中心在歷來的性能測試過程中重視性能測試數(shù)據(jù)的準備工作,從而保證了性能測試工作的順利進行,也保證的性能測試結(jié)果的準確性和有效性。中國評測在近期開展的某金字工程非功能測試項目使作者了解到數(shù)據(jù)準備工作得系統(tǒng)性、復(fù)雜性,由此作者將性能測試數(shù)據(jù)準備工作簡單歸納,希望對從事性能測試工作的測試人員有一定的借鑒和參考。本文重點介紹一下性能測試要準備哪些數(shù)據(jù)及準備數(shù)據(jù)的常用方法。

一、需要準備的數(shù)據(jù)種類

在執(zhí)行負載壓力測試前,一般需要準備三類數(shù)據(jù):初始化數(shù)據(jù)、鋪底數(shù)據(jù)(歷史數(shù)據(jù))和參數(shù)化數(shù)據(jù)。

1.    初始化數(shù)據(jù)準備

業(yè)務(wù)系統(tǒng)安裝部署完成后,并不能馬上進行相關(guān)業(yè)務(wù)的負載壓力測試,需要對系統(tǒng)進行初始化操作,系統(tǒng)初始化主要對增加系統(tǒng)中的基本角色信息、機構(gòu)信息、權(quán)限信息、業(yè)務(wù)流程設(shè)置等數(shù)據(jù),這些數(shù)據(jù)是業(yè)務(wù)系統(tǒng)能夠開展相關(guān)業(yè)務(wù)的基礎(chǔ)。初始化數(shù)據(jù)是為了識別數(shù)據(jù)狀態(tài)并且驗證用于測試的測試案例的數(shù)據(jù),需要在業(yè)務(wù)系統(tǒng)搭建完成后按照系統(tǒng)實際運行要求實施導(dǎo)入,供測試中使用。

2.    鋪底數(shù)據(jù)(歷史數(shù)據(jù))

當業(yè)務(wù)系統(tǒng)剛剛上線的時候,由于數(shù)據(jù)庫中數(shù)據(jù)量相對較少,系統(tǒng)整體響應(yīng)時間很快,用戶使用體驗較好。但隨著業(yè)務(wù)的持續(xù)開展,業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)量會成倍的增加,業(yè)務(wù)系統(tǒng)的相關(guān)操作響應(yīng)時間會因為數(shù)據(jù)庫中業(yè)務(wù)數(shù)據(jù)的快速增長等而變的越來越長,用戶使用體驗會變得很難忍受,因此,在性能測試時,需要加入相當規(guī)模的鋪底數(shù)據(jù),來模擬未來幾年業(yè)務(wù)增長條件下的系統(tǒng)相關(guān)操作的性能表現(xiàn)。例如:要測試并發(fā)查詢業(yè)務(wù),那么要求對應(yīng)的數(shù)據(jù)庫和表中有相當?shù)臄?shù)據(jù)量以及數(shù)據(jù)的種類應(yīng)能覆蓋全部業(yè)務(wù)。

3.    參數(shù)化數(shù)據(jù)

在負載壓力測試過程中,為了模擬不同的虛擬用戶操作的真實負載情況,同時由于業(yè)務(wù)系統(tǒng)中大部分業(yè)務(wù)操作的交易數(shù)據(jù)不能重復(fù)使用,因此,需要為不少用戶輸入信息準備大量參數(shù)化數(shù)據(jù),以保證正常實施負載壓力測試。參數(shù)化測試涉及的范圍很多,例如,模擬不同用戶登錄系統(tǒng),需要準備大量用戶名及相應(yīng)密碼參數(shù)數(shù)據(jù);模擬納稅人納稅申報,需要準備大量的納稅人識別號、納稅人內(nèi)碼或納稅人系統(tǒng)內(nèi)部識別號等參數(shù)數(shù)據(jù),這類數(shù)據(jù)準備要求符合實際運行要求并且保證數(shù)據(jù)表之間的關(guān)聯(lián)關(guān)系。

二、數(shù)據(jù)準備的常用方法

1、對于業(yè)務(wù)系統(tǒng)的初始化數(shù)據(jù)一般采用手工創(chuàng)建和數(shù)據(jù)導(dǎo)入的方式來完成,其中新建系統(tǒng)或者新舊系統(tǒng)差異較大的這類系統(tǒng)需要手工創(chuàng)建,而具有遺留系統(tǒng)的升級系統(tǒng)很大一部分可以通過數(shù)據(jù)導(dǎo)入的方式完成數(shù)據(jù)初始化工作。

2、鋪底數(shù)據(jù)的準備通常數(shù)據(jù)翻倍的方式來完成。

數(shù)據(jù)翻倍需要采用找出數(shù)據(jù)庫之間的表結(jié)構(gòu)關(guān)系,弄清楚數(shù)據(jù)庫里面主表和附表之間的關(guān)系是一對多或多對多,對于一對多關(guān)系的要推算一張主表的一條記錄大概對應(yīng)附表的幾條數(shù)據(jù),并據(jù)此把數(shù)據(jù)翻倍。具體實施數(shù)據(jù)翻倍時可以利用 CPU 的運算能力高效率地生成的數(shù)據(jù),并導(dǎo)入數(shù)據(jù)庫,從而產(chǎn)生出所需的鋪底數(shù)據(jù)?;蛘咄ㄟ^編寫和執(zhí)行存儲過程來完成。
準備鋪底數(shù)據(jù)要注意以下幾個原則:1.數(shù)據(jù)庫中的數(shù)據(jù)量要比內(nèi)存大上若干倍;2.數(shù)據(jù)在準備的時候,要保持原表的約束關(guān)系;3.每張表的數(shù)據(jù)量要符合真實情況。
3、參數(shù)化數(shù)據(jù)準備一般采用從數(shù)據(jù)庫提取現(xiàn)有數(shù)據(jù)或者人工添加數(shù)據(jù)的方式來完成。

1)使用數(shù)據(jù)庫現(xiàn)有真實數(shù)據(jù)。如測試100個用戶同時進行納稅申報的情況,如果已有100個真實的用戶賬號信息,沒個用戶也有可操作的若干組納稅戶,那么在準備數(shù)據(jù)時,就可以直接調(diào)用這些現(xiàn)有的數(shù)據(jù)來完成。

2)人工添加準備數(shù)據(jù)。以登錄測試為例,如果現(xiàn)在沒有100個現(xiàn)成的真實用戶賬號信息,那么就需要自己手動去創(chuàng)建,當然創(chuàng)建的方式就有很多種了,可以使用LoadRunner進行創(chuàng)建,也可以寫一段小程序去創(chuàng)建,當然還可以選擇手動創(chuàng)建。但是當數(shù)據(jù)量很大時,選擇手動創(chuàng)建就是一件很困難的事,如測試BOSS(Business & Operation Support System)系統(tǒng),幾千個虛擬用戶并發(fā),如果手動去準備這些數(shù)據(jù)就很麻煩。因此對于并發(fā)度較高的業(yè)務(wù),我們可以采用數(shù)據(jù)庫后臺對可用數(shù)據(jù)進行數(shù)據(jù)翻倍的方式來完成,也可以通過LoadRunner執(zhí)行并發(fā)測試來完成,例如可以通過執(zhí)行用戶注冊并發(fā)測試來完成新用戶創(chuàng)建。

下面舉例說明如何創(chuàng)建并發(fā)所需的登錄帳戶,首先需要根據(jù)系統(tǒng)實際情況整理出來相應(yīng)的表關(guān)系圖,將系統(tǒng)中常用的工作人員、操作員、角色等表的關(guān)系圖理清楚,下圖1是人員、操作員、角色、權(quán)限的表關(guān)系示意圖:

 


圖1:表關(guān)系圖

理清楚表關(guān)系圖中的對應(yīng)關(guān)系后,可以根據(jù)并發(fā)需要準備相應(yīng)的后臺sql來完成操作,下圖為中國軟件評測中心在執(zhí)行性能測試項目的過程中通過后臺批量創(chuàng)建登錄帳戶、生成工作人員、操作員及對應(yīng)權(quán)限的sql示例:

 

圖2:后臺創(chuàng)建登錄賬戶示例

上述方法不僅適用于參數(shù)化數(shù)據(jù)的準備,同樣也適用于基礎(chǔ)數(shù)據(jù)的準備,我們可以根據(jù)項目的實際情況來使用,可以達到快速準備測試數(shù)據(jù)的目標。
本文重點介紹了中國軟件評測中心在實施性能測試項目過程中進行數(shù)據(jù)準備的通常做法,具體介紹了需要準備的測試數(shù)據(jù)類型及準備數(shù)據(jù)的常用方法,結(jié)合這些理論和方法將使我們性能測試數(shù)據(jù)準備工作實施的更具系統(tǒng)性,同時也能夠使測試結(jié)果更加接近真實生產(chǎn)環(huán)境下的結(jié)果。
 

責任編輯:桑丘 來源: 中國軟件評測中心
相關(guān)推薦

2009-12-30 11:03:26

ADO.Net性能

2013-06-07 19:04:15

測試

2023-07-28 10:27:48

Java單元測試

2016-04-12 10:12:53

2019-07-31 14:34:00

數(shù)據(jù)庫MySQLJava

2013-02-27 15:24:45

Calxeda測試數(shù)據(jù)ARM架構(gòu)

2021-02-21 08:53:19

測試驅(qū)動技術(shù)數(shù)據(jù)驅(qū)動pytest

2009-11-12 08:54:49

Windows 7性能測試

2021-12-07 09:00:00

測試數(shù)據(jù)自動化數(shù)據(jù)隱私

2011-05-06 15:28:00

SMB數(shù)據(jù)中心

2021-12-30 07:33:03

數(shù)據(jù)庫

2011-10-13 12:44:54

WANVDIWAN

2019-09-29 17:48:42

數(shù)據(jù)庫SQLMySQL

2014-07-30 11:22:10

PostgreSQLFreeBSD

2009-02-23 09:41:29

面試軟件測試工程師

2021-12-29 10:30:15

JMH代碼Java

2025-01-27 11:52:23

2023-07-17 13:41:26

人工智能測試數(shù)據(jù)

2012-05-10 09:46:59

IE10HTML5
點贊
收藏

51CTO技術(shù)棧公眾號