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