江蘇蘇源高科技有限公司 張 彥
We b應(yīng)用軟件測(cè)試方法的研究
江蘇蘇源高科技有限公司 張 彥
提高軟件質(zhì)量的最有效手段是軟件測(cè)試。近年來隨著信息化不斷發(fā)展,Web應(yīng)用軟件的規(guī)模也隨之不斷擴(kuò)大,針對(duì)Web軟件的測(cè)試技術(shù)逐漸成為行業(yè)熱點(diǎn)。本文介紹了軟件測(cè)試基本概念,以及Web軟件測(cè)試的內(nèi)容及方法,在Web應(yīng)用軟件測(cè)試技術(shù)方面作了深入的討論。
Web;應(yīng)用軟件;測(cè)試方法
伴隨信息技術(shù)的飛速進(jìn)步,各種Web應(yīng)用成為軟件開發(fā)的重點(diǎn),該類軟件具有安裝簡(jiǎn)便快捷、易于操作使用等優(yōu)點(diǎn)。Web應(yīng)用軟件是經(jīng)過Internet技術(shù)連接并能夠傳輸被處理的數(shù)據(jù)的客戶端軟件。在市場(chǎng)要求與技術(shù)發(fā)展的促進(jìn)下,Web的應(yīng)用軟件數(shù)量和類型持續(xù)增長(zhǎng),軟件開發(fā)時(shí)間變短,軟件規(guī)模與軟件復(fù)雜度不斷增加,如何提高Web軟件品質(zhì)逐步變?yōu)橹攸c(diǎn)問題。作為確保Web軟件品質(zhì)與穩(wěn)定性的關(guān)鍵工具,Web應(yīng)用程序測(cè)試變成軟件開發(fā)進(jìn)程的關(guān)鍵組成部分。由于Web應(yīng)用程序的異構(gòu)、分布式、并發(fā)和平臺(tái)無關(guān)等特性,用于測(cè)試Web應(yīng)用程序比經(jīng)典應(yīng)用程序測(cè)試更難,如何更好的測(cè)試Web軟件在軟件測(cè)試領(lǐng)域提出了新挑戰(zhàn)。
通常的Web應(yīng)用軟件模式為客戶端(通常為瀏覽器)、Web服務(wù)器、數(shù)據(jù)服務(wù)器,在這種模式下,客戶端層顯示人機(jī)交互界面及數(shù)據(jù)展示,Web服務(wù)器層則處理各種事物,數(shù)據(jù)服務(wù)器層提供存取和管理應(yīng)用數(shù)據(jù)的能力。這種模式一般是分布式的、多用戶并發(fā)的以及異構(gòu)的。
因?yàn)橄到y(tǒng)結(jié)構(gòu)的差異,傳統(tǒng)的軟件測(cè)試與WEB類型的軟件測(cè)試也有非常大的不同,這對(duì)于軟件測(cè)試又是一種新的挑戰(zhàn)。差異主要表現(xiàn)在以下幾個(gè)方面:
①Web軟件應(yīng)用范圍不斷變化,采用技術(shù)也日新月異,這些變化都極大的增加了Web軟件的測(cè)試難度;此外,Web軟件的復(fù)雜度及網(wǎng)絡(luò)狀態(tài)的不可預(yù)見性,也是測(cè)試Web軟件面臨的主要困難之一,往往需要大量的測(cè)試資源及人力。
②Web軟件測(cè)試還需要對(duì)軟件的兼容性、壓力及多元化的功能進(jìn)行測(cè)試,以針對(duì)Web軟件的分布式、并發(fā)性、開放性、異構(gòu)性及多用戶的特點(diǎn),測(cè)試還要考慮在各種硬件環(huán)境及軟件環(huán)境下,系統(tǒng)的響應(yīng)時(shí)間要求。
Web軟件系統(tǒng)通常擁有多層級(jí)架構(gòu),在與客戶端通訊時(shí)也會(huì)有各種不同的方式,這就造成了Web軟件的復(fù)雜度層層升高。各種不同的瀏覽器、相同瀏覽器的不同版本,對(duì)應(yīng)的顯示技術(shù)都不一樣,使得信息的展示也會(huì)不同,往往在一種瀏覽器上正常顯示的內(nèi)容,在另一種上就不能正常的顯示。服務(wù)器在多用戶并發(fā)時(shí),響應(yīng)時(shí)間也會(huì)有所下降甚至失敗,導(dǎo)致用戶體驗(yàn)度下降。如何發(fā)現(xiàn)、分析、排除這種問題,常常都需要經(jīng)過多次測(cè)試,這樣才能確保Web軟件擁有優(yōu)異的性能、良好的兼容性及極大的穩(wěn)定性。
Web軟件的功能測(cè)試主要側(cè)重點(diǎn)在:網(wǎng)頁鏈接測(cè)試、表單提交測(cè)試、客戶端Cookies測(cè)試、腳本語言測(cè)試以及數(shù)據(jù)庫測(cè)試。
①網(wǎng)頁鏈接測(cè)試包含檢查顯示信息是否正確、提示是否合理、是否能正常跳轉(zhuǎn)及跳轉(zhuǎn)位置正確。
②表單提交測(cè)試包含客戶端是否驗(yàn)證輸入,服務(wù)端是否驗(yàn)證輸入,驗(yàn)證不通過時(shí)提示信息是否準(zhǔn)確,提交正確信息后是否能得到正確結(jié)果,以及異常是否得到處理。
③客戶端Cookies測(cè)試包含是否能正常保存用戶本地信息,是否對(duì)重要信息加密。
④腳本語言測(cè)試包含測(cè)試腳本在不同的瀏覽器及相同瀏覽器的不同版本中,是否能正常的運(yùn)行。
⑤數(shù)據(jù)庫測(cè)試包含用戶提交異常字符是否會(huì)導(dǎo)致數(shù)據(jù)無法正常存入或讀取,以及多客戶端同時(shí)提交時(shí)是否會(huì)造成數(shù)據(jù)一致性失效。[1]
Web應(yīng)用軟件的性能測(cè)試主要側(cè)重點(diǎn)在:連接速度測(cè)試、負(fù)載測(cè)試、壓力測(cè)試等。
①連接速度測(cè)試用于測(cè)試Web軟件對(duì)于用戶發(fā)出的客戶端請(qǐng)求,服務(wù)端響應(yīng)到達(dá)的時(shí)間,在網(wǎng)絡(luò)擁堵或者多用戶并發(fā)時(shí),是否響應(yīng)會(huì)過慢,甚至出現(xiàn)無響應(yīng)的情況。
②負(fù)載測(cè)試主要用于在一定負(fù)載級(jí)別上,系統(tǒng)是否能正常響應(yīng)客戶請(qǐng)求。負(fù)載級(jí)別一般指同一時(shí)刻的并發(fā)用戶數(shù),或者是在線數(shù)據(jù)處理的數(shù)量。
③壓力測(cè)試用于測(cè)試系統(tǒng)的極限及故障恢復(fù)能力,發(fā)現(xiàn)Web系統(tǒng)崩潰的原因。通常黑客也會(huì)通過發(fā)送大量的錯(cuò)誤數(shù)據(jù),導(dǎo)致系統(tǒng)崩潰,以獲得系統(tǒng)權(quán)限的漏洞,所以在表單提交或其他信息交互界面要重點(diǎn)做壓力測(cè)試。[2]
安全性對(duì)于Web軟件舉足輕重,特別是對(duì)于網(wǎng)絡(luò)業(yè)務(wù)而言,假設(shè)不能保證安全性,這是非常可怕的。傳統(tǒng)軟件安全測(cè)試包含:用戶名和密碼、程序運(yùn)行超時(shí)限制、日志文件檢測(cè)、文件加密情況、授權(quán)問題、防火墻、緩沖區(qū)溢出等測(cè)試。Web軟件的安全測(cè)試還包含跨站腳本檢查、SQL注入檢查等。[3]
①跨站腳本:Cross site scripting(XSS),黑客通過郵件發(fā)送,或者輸入在網(wǎng)頁上顯示內(nèi)容的表單中,通過輸入<script>標(biāo)簽引發(fā)用戶客戶端執(zhí)行非法腳本,導(dǎo)致嚴(yán)重的后果。測(cè)試人員一般通過直接輸入<script>標(biāo)簽,或者以組合方式輸入<script>標(biāo)簽后提交表單,檢查系統(tǒng)是否對(duì)此進(jìn)行的必要的驗(yàn)證。
②SQL注入:黑客可以通過在需要驗(yàn)證的表單中,輸入部分SQL內(nèi)容以打斷正常的SQL,達(dá)到繞開登錄界面或取得數(shù)據(jù)庫權(quán)限等目的。測(cè)試人員在所有會(huì)執(zhí)行SQL的表單中,輸入破壞性的SQL,來驗(yàn)證系統(tǒng)是否能阻斷這種惡意操作。
測(cè)試Web軟件的兼容性應(yīng)通過以下幾個(gè)方面:不同平臺(tái)與瀏覽器測(cè)試、多種分辨率測(cè)試、網(wǎng)絡(luò)連接速率測(cè)試、網(wǎng)絡(luò)打印測(cè)試、各種組合測(cè)試等。測(cè)試人員可以創(chuàng)建兼容性矩陣來測(cè)試兼容性,測(cè)試Web軟件在各種平臺(tái)、各種瀏覽器、各種分辨率等不同條件下組合運(yùn)行情況。
Web軟件的接口測(cè)試用于測(cè)試系統(tǒng)與外部接口交互測(cè)試等。比如,網(wǎng)絡(luò)支付需要鏈接支付網(wǎng)關(guān)的驗(yàn)證接口,以驗(yàn)證用戶身份是否合法。
Web軟件的測(cè)試和經(jīng)典軟件測(cè)試有異曲同工的地方,也有所差異。在充分的了解Web軟件自身的特點(diǎn)后,汲取經(jīng)典軟件測(cè)試的經(jīng)驗(yàn),合理的針對(duì)Web軟件在網(wǎng)絡(luò)、異構(gòu)、多平臺(tái)、多用戶、分布式等特性進(jìn)行測(cè)試,有效的提高了Web軟件的健壯性、穩(wěn)定性、可效性和及時(shí)性。在Web軟件迅猛發(fā)展的未來,Web軟件的測(cè)試方法還有很長(zhǎng)路要走。
[1]劉智勇.Web 應(yīng)用軟件測(cè)試技術(shù)研究及自動(dòng)化測(cè)試工具的實(shí)現(xiàn)[D].湖南大學(xué),2005.
[2]黃寧,余瑩,張大勇.Web 服務(wù)軟件測(cè)試技術(shù)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2004,40(35):47-49.
[3]吳信生.如何提高軟件測(cè)試水平[N].中國(guó)計(jì)算機(jī)報(bào),2005,(10):25.