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