在軟件測試中靈活使用軟件測試工具QALoad
提起網(wǎng)絡(luò )性能測試,WebBench、ServerBench、NetBench等軟件是測試工程師再熟悉不過(guò) 的工具。這些測試工具在進(jìn)行網(wǎng)絡(luò )基準測試時(shí)是不可或缺的。但是要保證測試結果的權威性和 國際互認性,一些大型商業(yè)測試工具的應用是不合缺少的。
作為國內權威的評測機構,中國軟件評測中心一直應用美國Compuware(康博)公司開(kāi)發(fā)的 QALoad軟件作為并發(fā)性能壓力測試工具。軟件針對各種測試目標提供了MS SQL Server、 Oracle、ODBC、WWW、NetLoad、Winsock等不同的測試接口(Session),應用范圍相當廣泛。例如在測試基于C/S運行模式、客戶(hù)端通過(guò)DBLib訪(fǎng)問(wèn)服務(wù)器端SQLServer數據庫的系統時(shí),QALoad通過(guò)模擬客戶(hù)端大數據量并發(fā)對服務(wù)器端進(jìn)行查詢(xún)、更新等操作,從而達到監控系統并 發(fā)性能和服務(wù)器端性能指標的目的。
在操作方法上,QALoad提供了錄制與回放機制。例如在測試中我們錄制客戶(hù)端對數據庫執行的查詢(xún)操作,QALoad通過(guò)模擬大量客戶(hù)端來(lái)回放此查詢(xún)操作,以達到并發(fā)的目的。整個(gè)測試過(guò)程用戶(hù)完全在黑盒環(huán)境下進(jìn)行,不需要對代碼有任何的了解。但是為了達到理想的測試效果,這樣的測試是遠遠不夠的。
在實(shí)際測試中,我們必須對其錄制生成的C腳本進(jìn)行編輯。編輯可以采用兩種方法:一是利用QALoad提供的內部函數;二是它完全兼容C、C++和Visual C++。根據我們的經(jīng)驗,手工編輯錄制的腳本,或者自己寫(xiě)腳本,是一種更靈活的方法,更能貼近實(shí)際需求。編輯錄制腳本在以前的測試漫談中已經(jīng)介紹過(guò),這里著(zhù)重談?wù)勈止ぞ帉?xiě)腳本。
通過(guò)一個(gè)錄制動(dòng)作(可以什么實(shí)質(zhì)操作都沒(méi)有)產(chǎn)生一個(gè)腳本,刪去無(wú)關(guān)的東西,這樣就得到一個(gè)“框架”。接下來(lái)就可以在此框架上編寫(xiě)腳本了。腳本的編譯工具和Visual C++是一樣的,所以關(guān)于類(lèi)、事件、對象、封裝、繼承、重載等概念都是有效的,但是有關(guān)MFC (Microsoft Foundation Class)的使用我們將在以后作進(jìn)一步探討。如果在實(shí)際應用中,能夠適當靈活的在腳本中定制、應用QALoad提供的內部函數將大大提高腳本的質(zhì)量,這對測試結果起著(zhù)至關(guān)重要的作用。
QALoad提供的Session看上去是獨立的,但在使用時(shí)卻可以結合起來(lái)應用,以達到特殊的測試目的。我們知道,在Windows環(huán)境下,應用程序可通過(guò)Windows Sockets接口在一個(gè)TCP/IP網(wǎng)絡(luò )上發(fā)送或接收數據,這種Winsock編程給程序員提供了極大的方便,也普遍應用于各種軟件系統。QALoad同樣也提供了這種Session。我們曾經(jīng)利用此功能成功的錄制了基于Winsock規范的中間件應用。而對于一個(gè)開(kāi)發(fā)中不單純使用Winsock編程技術(shù)的系統,最佳的方法無(wú)疑是將其它的Session和Winsock Session結合起來(lái)使用。測試中,我們曾將SQLServer和Winsock作為一個(gè)總Session錄制對應測試目標的操作,得到的腳本和單獨使用一個(gè)Session錄制的腳本比較,不僅腳本的質(zhì)量有質(zhì)的飛躍,而且測試結果也更接近于實(shí)際情況。
成功的錄制腳本只是并發(fā)測試的第一步,它對測試結果有著(zhù)很重要的影響,但并不是影響測試結果的唯一因素。我們利用對比測試發(fā)現,在環(huán)境變量不同時(shí),即使應用編譯和校驗都正確的腳本,其結果也有著(zhù)明顯差異?梢(jiàn)合理配置動(dòng)作之間的時(shí)間間隔,虛擬用戶(hù)的遞增頻率等環(huán)境參數也是確保測試結果正確性的關(guān)鍵。
測試工作本身就是一個(gè)反復實(shí)踐的過(guò)程,只有經(jīng)過(guò)多次實(shí)驗和總結才能找出最為行之有效的測試方法?梢(jiàn)要充分靈活的利用QALoad的各種功能,并非一朝一夕之事!
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/