胡艷梅
[摘要]隨著科技的不斷進(jìn)步,企業(yè)的信息系統(tǒng)都毫無(wú)例外的傾向數(shù)據(jù)大集中方向發(fā)展,這就需要我們提高系統(tǒng)的可靠性、安全性,合理使用自動(dòng)化測(cè)試工具能夠幫助人們更好的檢測(cè)軟件中存在的BUG。
[關(guān)鍵詞]數(shù)據(jù)大集中自動(dòng)化測(cè)試BUG
中圖分類號(hào):TP2文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1071-7597(2009)0610060-01
一、自動(dòng)化測(cè)試工具的地位
隨著軟件功能的增加,軟件規(guī)模也日益增大,人們對(duì)軟件真正的了解也日漸減弱。人們的日常生活也漸漸不能離開(kāi)軟件,銀行系統(tǒng)、高速公路的收費(fèi)系統(tǒng)、醫(yī)院的醫(yī)療系統(tǒng),軟件產(chǎn)品的質(zhì)量已經(jīng)與人們的生活息息相關(guān)。通過(guò)單純的手工測(cè)試已經(jīng)不能滿足人們對(duì)軟件的質(zhì)量要求,人們逐漸采用能夠進(jìn)一步保證軟件質(zhì)量的自動(dòng)化測(cè)試工具代替手工測(cè)試。
二、自動(dòng)化測(cè)試工具的作用
(一)某些測(cè)試內(nèi)容手工很難實(shí)現(xiàn)可以借助測(cè)試工具來(lái)完成。在負(fù)載測(cè)試中,我們通常需要模擬大量數(shù)據(jù)或大量并發(fā)測(cè)試,例如模擬2000人同時(shí)登陸郵箱或發(fā)信,我們可以將2000人聚集到一起進(jìn)行操作,但是這種手工測(cè)試方式不但浪費(fèi)時(shí)間、人力、物力,而且不能保證2000人能夠同一時(shí)刻進(jìn)行點(diǎn)擊操作,這樣就不能保證同一時(shí)刻對(duì)服務(wù)器產(chǎn)生壓力。使用LoadRunner性能測(cè)試工具我們可以先錄制一個(gè)用戶登陸郵箱或發(fā)信的操作過(guò)程,然后進(jìn)行場(chǎng)景設(shè)置,可以在一臺(tái)機(jī)器上設(shè)置多個(gè)虛擬用戶,使用測(cè)試工具可以完成手工測(cè)試難以實(shí)現(xiàn)的問(wèn)題,發(fā)現(xiàn)正常測(cè)試中難以發(fā)現(xiàn)的錯(cuò)誤。
(二)軟件在回歸測(cè)試中合理運(yùn)用測(cè)試工具節(jié)省人力資源。任何一個(gè)項(xiàng)目在開(kāi)發(fā)過(guò)程中都要進(jìn)行修改,軟件也會(huì)在不斷的升級(jí)過(guò)程中增加新的功能,編碼人員在修改項(xiàng)目中的部分模塊后,有時(shí)會(huì)影響其它模塊的功能。每天重復(fù)的手動(dòng)黑盒回歸測(cè)試會(huì)使軟件測(cè)試人員陷入既耗時(shí)又單調(diào)的簡(jiǎn)單繁瑣勞動(dòng)中,而且很多企業(yè)的項(xiàng)目由于時(shí)間的限制經(jīng)常無(wú)法在軟件產(chǎn)品發(fā)布前徹底測(cè)試所有功能。通過(guò)測(cè)試工具可以一次性開(kāi)發(fā)測(cè)試腳本,多次運(yùn)行同樣的測(cè)試用例來(lái)進(jìn)行回歸測(cè)試,不但可以減輕測(cè)試的勞動(dòng)強(qiáng)度,而且能夠提高測(cè)試效率。
(三)搜集測(cè)試結(jié)果數(shù)據(jù)。自動(dòng)化測(cè)試工具能夠監(jiān)控后臺(tái)各個(gè)環(huán)節(jié)的資源消耗情況,把后臺(tái)資源消耗情況、客戶端的相應(yīng)時(shí)間、吞吐量等重要指標(biāo)保存到本地硬盤(pán)上,測(cè)試結(jié)束后會(huì)將測(cè)試結(jié)果傳遞到分析機(jī),并自動(dòng)得出測(cè)試結(jié)果圖,測(cè)試人員通過(guò)自動(dòng)得出的結(jié)果圖能夠快速定位軟件的瓶頸,及時(shí)的向開(kāi)發(fā)人員提供軟件存在的BUG。
三、正確看待自動(dòng)化測(cè)試工具
測(cè)試工作中80%以上的缺陷都是手工測(cè)試發(fā)現(xiàn)的,僅有不到20%的缺陷是自動(dòng)測(cè)試發(fā)現(xiàn)的,而且這20%的發(fā)現(xiàn)也要求測(cè)試人員合理的運(yùn)用測(cè)試工具,而且隨著軟件的修改需要對(duì)腳本不斷維護(hù),過(guò)分強(qiáng)調(diào)工具的自動(dòng)化作用,極力追求各種軟件測(cè)試工具,是軟件測(cè)試本末倒置的表現(xiàn)。
軟件測(cè)試工具是針對(duì)解決某些特定的問(wèn)題而開(kāi)發(fā)的,所以必然有其局限性。而且測(cè)試工具本身也是軟件,只要是軟件就會(huì)存在缺陷,因此自動(dòng)化測(cè)試工具也會(huì)存在軟件兼容性等不可避免的軟件通病,所以在使用自動(dòng)化測(cè)試工具測(cè)試軟件時(shí)要合理的選擇測(cè)試工具,針對(duì)自己的軟件產(chǎn)品,先解決實(shí)際測(cè)試中最突出的問(wèn)題,才能達(dá)到事半功倍的效果。
四、自動(dòng)化測(cè)試工具基本要素
1、產(chǎn)生壓力:無(wú)論是Unix操作系統(tǒng)還是windows操作系統(tǒng),都很容易產(chǎn)生多個(gè)進(jìn)程或多個(gè)線程,每個(gè)進(jìn)程或線程都可以模擬一個(gè)用戶,我們很容易知道一臺(tái)計(jì)算機(jī)可以模擬成百上千的用戶,每個(gè)進(jìn)程實(shí)際上是一個(gè)正在執(zhí)行的程序,每個(gè)執(zhí)行的程序向后臺(tái)發(fā)送一個(gè)合法的請(qǐng)求包,每個(gè)請(qǐng)求以測(cè)試腳本形式存在,按照進(jìn)程或線程的形式去運(yùn)行就會(huì)對(duì)后臺(tái)系統(tǒng)產(chǎn)生一定的壓力,這個(gè)壓力與成百上千用戶的真實(shí)操作沒(méi)有任何本質(zhì)區(qū)別。
2、提供錄制腳本的功能:自動(dòng)化測(cè)試工具為了能夠提高開(kāi)發(fā)測(cè)試腳本的速度,必須能夠提供錄制腳本的功能。開(kāi)發(fā)測(cè)試腳本可以不需要錄制,可以由測(cè)試人員手動(dòng)編寫(xiě),但是測(cè)試人員需要先研究客戶端對(duì)數(shù)據(jù)庫(kù)的請(qǐng)求,需要大量了解底層細(xì)節(jié)問(wèn)題,造成測(cè)試速度非常慢,延誤產(chǎn)品的上市時(shí)間。采用自動(dòng)化測(cè)試工具的錄制功能可以將通訊包錄制下來(lái),快速得到技術(shù)細(xì)節(jié)問(wèn)題,從而提高開(kāi)發(fā)測(cè)試腳本的速度。通過(guò)錄制腳本自動(dòng)產(chǎn)生代碼可以大大提高測(cè)試的工作效率。
3、監(jiān)控計(jì)算機(jī)并自動(dòng)生成測(cè)試分析圖:產(chǎn)生壓力后并不是漫無(wú)目的向服務(wù)器發(fā)出請(qǐng)求的,而是通過(guò)控制器控制如何向后臺(tái)發(fā)送請(qǐng)求,同時(shí)控制器還能提供監(jiān)控后臺(tái)各個(gè)環(huán)節(jié)的資源消耗情況的監(jiān)控手段,自動(dòng)得出測(cè)試分析圖,測(cè)試人員可以根據(jù)經(jīng)驗(yàn)通過(guò)分析圖對(duì)軟件進(jìn)行分析,快速得出軟件中存在的BUG。
五、全面性能測(cè)試的模型
性能測(cè)試分為許多種類型,包括壓力測(cè)試、負(fù)載測(cè)試、強(qiáng)度測(cè)試、并發(fā)(用戶)測(cè)試、大數(shù)據(jù)量測(cè)試、配置測(cè)試、可靠性測(cè)試等。我們?cè)跍y(cè)試過(guò)程中通常需要側(cè)重某一點(diǎn)對(duì)軟件進(jìn)行測(cè)試,為了達(dá)到減少不必要的工作量、節(jié)約測(cè)試成本的目的,我們可以將性能測(cè)試的很多內(nèi)容經(jīng)過(guò)一定的組織來(lái)統(tǒng)一進(jìn)行,這就是“全面性能測(cè)試模型”。
1、預(yù)期指標(biāo)的性能測(cè)試:在進(jìn)行測(cè)試之前,我們需要先對(duì)軟件進(jìn)行需求分析、制定測(cè)試計(jì)劃,完成測(cè)試計(jì)劃中制定的性能測(cè)試要求是對(duì)軟件的基本需求,對(duì)軟件的基本需求的測(cè)試即為預(yù)期指標(biāo)的性能測(cè)試。
2、獨(dú)立業(yè)務(wù)性能測(cè)試:軟件有一些核心業(yè)務(wù)模塊,核心模塊的功能較復(fù)雜、使用比較頻繁,它是測(cè)試人員測(cè)試的重點(diǎn),核心模塊中存在BUG可能會(huì)導(dǎo)致整個(gè)產(chǎn)品上市的失敗。為了使軟件中存在的BUG更少,測(cè)試人員通常在集成或系統(tǒng)測(cè)試階段開(kāi)始單獨(dú)測(cè)試其性能,后期進(jìn)一步對(duì)其進(jìn)行測(cè)試,保證系統(tǒng)的穩(wěn)定性。
3、組合業(yè)務(wù)性能測(cè)試:用戶在使用軟件時(shí)對(duì)模塊的每個(gè)功能都會(huì)使用到,在對(duì)軟件進(jìn)行測(cè)試時(shí)既要模擬多用戶的相同操作,又要模擬多用戶的不同操作,一般我們按照用戶的實(shí)際使用人數(shù)來(lái)模擬各個(gè)模塊的組合并發(fā)情況。
4、疲勞強(qiáng)度和大數(shù)據(jù)量性能測(cè)試:以一定的負(fù)載壓力或大數(shù)據(jù)量長(zhǎng)時(shí)間運(yùn)行系統(tǒng),測(cè)試系統(tǒng)長(zhǎng)時(shí)間處理較大業(yè)務(wù)量時(shí)的性能。
5、服務(wù)器性能測(cè)試:為了找出各種服務(wù)器存在的瓶頸,為系統(tǒng)擴(kuò)展、優(yōu)化提供相關(guān)的依據(jù),測(cè)試人員對(duì)數(shù)據(jù)庫(kù)、web服務(wù)器、操作系統(tǒng)進(jìn)行的測(cè)試。
6、網(wǎng)絡(luò)性能測(cè)試:現(xiàn)在的許多軟件都是B/S操作系統(tǒng),帶寬、負(fù)載以及端口的變化都會(huì)影響用戶使用軟件的相應(yīng)時(shí)間,為了測(cè)試應(yīng)用系統(tǒng)的用戶數(shù)目與網(wǎng)絡(luò)帶寬的關(guān)系,我們需要對(duì)網(wǎng)絡(luò)進(jìn)行相應(yīng)的性能測(cè)試。
六、結(jié)論
隨著人們對(duì)測(cè)試工作的重視以及測(cè)試工作的不斷深入,越來(lái)越多的公司開(kāi)始使用自動(dòng)化測(cè)試工具。綜合各種因素,正確的選擇和使用自動(dòng)化測(cè)試工具,能夠提高測(cè)試的效率和測(cè)試質(zhì)量,降低測(cè)試成本。更好的完成軟件測(cè)試工作。