一、引言
跟著收集手藝的迅速成長(zhǎng),尤其是WEB及其應(yīng)用軌范的普及,各類(lèi)基于WEB的應(yīng)用軌范以其便利、快速,易操作等特點(diǎn)不竭成聞敉件開(kāi)發(fā)的重點(diǎn)。與此同時(shí),跟著需求量與應(yīng)用規(guī)模的不竭擴(kuò)年夜,對(duì)WEB應(yīng)用軟件的正確性、有用性和對(duì)WEB處事器等方面都提出了越來(lái)越高的機(jī)能要求,對(duì)WEB應(yīng)用軌范進(jìn)行有用的系統(tǒng)的測(cè)試也逐漸成為人們研究的主要課題。
今朝可以見(jiàn)到各類(lèi)WEB處事器平臺(tái),然而按照Mereury的研究陳述,98%的WEB處事器都沒(méi)能達(dá)到人們所期望的機(jī)能,平均只能闡揚(yáng)人們所期望機(jī)能的1/6擺布。WEB機(jī)能測(cè)試能夠確定影響WEB處事器機(jī)能的關(guān)頭身分,年夜而可以有針對(duì)性地進(jìn)行剖析和改良,避免WEB處事器研究和優(yōu)化過(guò)程中的盲目行為;同時(shí),它也是拔取分歧的WEB處事器的主要參考。
跟著WEB應(yīng)用軌范使用越來(lái)越普遍,針對(duì)其機(jī)能測(cè)試的要求也越來(lái)越多,然而因?yàn)閃EB軌范綜合了年夜量的新手藝,諸如HTML、JAVA、Javascript、VBScript等,同時(shí)它還依靠良多其它的身分,好比Link、Database、Network等,使得WEB應(yīng)用軌范測(cè)試變得很是復(fù)雜。例如:WEB壓力測(cè)試是評(píng)價(jià)一個(gè)WEB應(yīng)用軌范的首要手段,它的測(cè)試就是一個(gè)代表性的方面。
在整個(gè)web應(yīng)用的測(cè)試中,機(jī)能測(cè)試占很是主要位置,因?yàn)闄C(jī)能直接紡暌鉤了Web應(yīng)用所供給處事的質(zhì)量水平。Web應(yīng)用設(shè)計(jì)的復(fù)雜性和用戶使用的不成展望性給若何切確地展望它的機(jī)能帶來(lái)了很年夜的挑戰(zhàn),而且跟著Web應(yīng)用的規(guī)模越來(lái)越年夜、用戶越來(lái)越多,這個(gè)挑戰(zhàn)變得加倍嚴(yán)重。文中就若何切確地設(shè)計(jì)負(fù)載測(cè)試進(jìn)行了深切研究,提出了對(duì)用戶導(dǎo)航、用戶延遲進(jìn)行建模的體例來(lái)設(shè)計(jì)負(fù)載測(cè)試,以使負(fù)載測(cè)試能夠切確地模擬現(xiàn)實(shí)用戶情形和展望Web應(yīng)用的機(jī)能。最后應(yīng)用工具loadrunner進(jìn)行負(fù)載測(cè)試拭魅戰(zhàn)。
WEB應(yīng)用軌范的測(cè)試有別于傳統(tǒng)軟件的測(cè)試,它有其自身的特點(diǎn)。下面我們進(jìn)行斗勁深切的談判。
二、WEB測(cè)試手藝
?。ㄒ唬¦EB應(yīng)用軌范系統(tǒng)結(jié)構(gòu)
WEB應(yīng)用軌范采用B/S結(jié)構(gòu),它是伴跟著Internet手藝的不竭前進(jìn),由C/S結(jié)構(gòu)改良和成長(zhǎng)起來(lái)的新型系統(tǒng)結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全經(jīng)由過(guò)程WWW瀏覽器實(shí)現(xiàn),一部門(mén)事務(wù)邏輯在前端實(shí)現(xiàn),可是首要事務(wù)邏輯則在處事器端實(shí)現(xiàn),形成所謂3tier結(jié)構(gòu)。B/S結(jié)構(gòu)操作不竭成熟和普及的瀏覽器手藝實(shí)現(xiàn)原本需要復(fù)雜專(zhuān)用軟件才能實(shí)現(xiàn)的強(qiáng)年夜功能,并節(jié)約了開(kāi)發(fā)成本,是一種全新的軟件系統(tǒng)機(jī)關(guān)手藝。這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件開(kāi)發(fā)的首選系統(tǒng)結(jié)構(gòu),今朝最風(fēng)行的mi?鄄crosoft.net也是在這樣一種布景下被提出來(lái)的架構(gòu)。
傳統(tǒng)的軟件一般采用C/S結(jié)構(gòu),此結(jié)構(gòu)把數(shù)據(jù)庫(kù)內(nèi)容放在遠(yuǎn)程的處事器上,而在客戶機(jī)上安裝響應(yīng)軟件。C/S軟件一般采用兩層結(jié)構(gòu),C/S結(jié)構(gòu)在手藝上很成熟,它的首要特點(diǎn)是交互性強(qiáng)、具有平安的存取模式、收集通信量低、響應(yīng)速度快、利于措置年夜量數(shù)據(jù)??墒窃摻Y(jié)構(gòu)的軌范是針對(duì)性開(kāi)發(fā),變換不夠矯捷,維護(hù)和打點(diǎn)的難度較年夜。
?。ǘ¦EB測(cè)試的內(nèi)容與目的
在很多時(shí)候我們都把測(cè)試的目的定位為尋找軟件的BUG,而且是盡可能的找出BUG來(lái),而測(cè)試人員所做的工作就是找軟件的短處,只要找出短處就可以了,這樣很輕易帶了一系列的問(wèn)題。好比測(cè)試人員給某網(wǎng)站做測(cè)試,并遞交了一份簡(jiǎn)單的測(cè)試陳述:“當(dāng)100用戶配合按某提交按鈕時(shí),發(fā)生年夜量的提交失蹤敗”。對(duì)于測(cè)試人員來(lái)說(shuō),他已經(jīng)完成了他自己的使命,找出了BUG,可是,這樣的測(cè)試陳述對(duì)于開(kāi)發(fā)人員和項(xiàng)目打點(diǎn)者卻毫無(wú)用處。陳述中并未說(shuō)起造成提交失蹤敗的原因,是硬件資本不足、收集問(wèn)題、支撐軟件參數(shù)設(shè)置錯(cuò)誤仍是應(yīng)用開(kāi)發(fā)問(wèn)題等等。
測(cè)試的目的是證偽,但不能片面的理解為簡(jiǎn)單的找不BUG就可以了。軟件測(cè)試應(yīng)該履歷以下四個(gè)軌范:
1、測(cè)試人員描述發(fā)現(xiàn)的問(wèn)題(找到BUG);
2、測(cè)試人員具體說(shuō)明是在何種情形下測(cè)試發(fā)現(xiàn)的問(wèn)題,搜羅測(cè)試的情形、輸入的數(shù)據(jù)、發(fā)現(xiàn)問(wèn)題的類(lèi)型、問(wèn)題的嚴(yán)重水平等情形;
3、測(cè)試人員協(xié)同開(kāi)發(fā)人員一路去剖析BUG的原因,找出軟件的缺陷地址;
4、測(cè)試人員按照解決的情形進(jìn)行分類(lèi)匯總,以便日后進(jìn)行軟件設(shè)計(jì)的時(shí)候供給參考,避免往后呈現(xiàn)近似軟件缺陷。
?。ㄈM定WEB測(cè)試打算
當(dāng)我們明晰了測(cè)試的目的之后,真正起頭針對(duì)一個(gè)WEB應(yīng)用軌范進(jìn)行測(cè)試的時(shí)候,我們需要擬定一套具體的測(cè)試計(jì)劃,這樣才能順?biāo)斓耐瓿伤械臏y(cè)試內(nèi)容,打算的內(nèi)容歸納為以下幾步:
1、首先對(duì)被測(cè)的WEB應(yīng)用軌范進(jìn)行需求剖析,即對(duì)你所做的測(cè)試做一個(gè)簡(jiǎn)要的介紹,搜羅描述測(cè)試的方針和規(guī)模,所測(cè)試的方針要實(shí)現(xiàn)一個(gè)什么樣的功能,總結(jié)根基文檔,首要勾當(dāng)。
2、寫(xiě)出測(cè)試策略和體例,這里搜羅測(cè)試起頭的前提,測(cè)試的類(lèi)型,測(cè)試起頭的尺度以及所測(cè)試的功能,測(cè)試經(jīng)由過(guò)程或失蹤敗的尺度,竣事測(cè)試的前提,測(cè)試過(guò)程中碰著什么樣的情形終止和怎么措置后恢復(fù)等。
3、確定測(cè)試情形的要求(搜羅軟件和硬件方面),選擇合適的測(cè)試工具。
4、首要針對(duì)你測(cè)試的行為,描述你測(cè)試的細(xì)節(jié),搜羅測(cè)試用例列表,進(jìn)度表,錯(cuò)誤品級(jí)剖析,對(duì)測(cè)試打算的總結(jié),和在測(cè)試過(guò)程會(huì)呈現(xiàn)的風(fēng)險(xiǎn)剖析等。
?。ㄋ模y(cè)試的類(lèi)型
WEB測(cè)試的類(lèi)型搜羅內(nèi)容測(cè)試、界面測(cè)試、功能測(cè)試、機(jī)能測(cè)試、兼容性測(cè)試、平安性測(cè)試等情形。內(nèi)容測(cè)試、界面測(cè)試和兼容性測(cè)試都斗勁簡(jiǎn)單,在此不再細(xì)談。WEB的功能測(cè)試與傳統(tǒng)的軟件測(cè)試區(qū)別不年夜,主若是在毗連測(cè)試方面有點(diǎn)區(qū)別,數(shù)據(jù)的傳遞方面會(huì)稍微復(fù)雜點(diǎn)。因?yàn)閃EB軟件都是采用B/S結(jié)構(gòu),客戶端所需的處事都是由處事器供給的,所以主若是測(cè)試處事器上軟件運(yùn)行的機(jī)能。WEB應(yīng)用軌范的測(cè)試搜羅客戶端毗連處事器速度方面的測(cè)試和壓力測(cè)試這兩方面,機(jī)能測(cè)試的軌范:
第一,剖析產(chǎn)物結(jié)構(gòu),明晰機(jī)能測(cè)試的需求,搜羅并發(fā)、極限、設(shè)置裝備擺設(shè)和指標(biāo)等方面的機(jī)能要求,需要時(shí)基于LOAD測(cè)試的不異測(cè)略需同時(shí)考慮不變性測(cè)試的需求。
第一,剖析應(yīng)用場(chǎng)景和用戶數(shù)據(jù),細(xì)分用戶行為和相關(guān)的數(shù)據(jù)流,確定測(cè)試點(diǎn)或測(cè)試接口,列示系統(tǒng)接口的可能瓶頸,一般是先主干接口再支線接口,并完成初步的測(cè)試用例設(shè)計(jì)。
第三,依據(jù)機(jī)能測(cè)試需乞降確定的測(cè)試點(diǎn)進(jìn)行測(cè)試組網(wǎng)設(shè)計(jì),并明晰分魄鬃曾方案的主要水平或優(yōu)先級(jí)作為取舍評(píng)估的依據(jù),需要時(shí)在前期產(chǎn)物設(shè)計(jì)中提出撐持機(jī)能測(cè)試的可測(cè)試性設(shè)計(jì)方案和對(duì)測(cè)試工具的需求。
第四,完成機(jī)能測(cè)試用例設(shè)計(jì)、分類(lèi)選擇和依據(jù)用戶行為剖析設(shè)計(jì)測(cè)試規(guī)程,并籌備好測(cè)試用例將用到的測(cè)試數(shù)據(jù)。
第五,確定采用的測(cè)試工具。
第六,進(jìn)行初驗(yàn)測(cè)試,以主干接口的可用性為主,按照測(cè)試結(jié)不美觀剖析機(jī)能瓶頸,經(jīng)由過(guò)程迭代保證根基的指標(biāo)等測(cè)試的情形。
第七,迭代進(jìn)行周全的機(jī)能測(cè)試,完成打算中的機(jī)能測(cè)試用例的執(zhí)行。
第八,完成機(jī)能測(cè)試評(píng)估陳述。
在進(jìn)行機(jī)能測(cè)試的時(shí)候,我們需要知道一些有用的機(jī)能指標(biāo),下面我們來(lái)列出一些首要的機(jī)能指標(biāo):
一是,通用指標(biāo)(指Web應(yīng)用處事器、數(shù)據(jù)庫(kù)處事器必需測(cè)試項(xiàng)):
● ProcessorTime:指處事器CPU占用率,一般平均達(dá)到70%時(shí),處事就接近飽和;
● Memory Available Mbyte:可用內(nèi)存數(shù),如不美觀測(cè)試時(shí)發(fā)現(xiàn)內(nèi)存有轉(zhuǎn)變情形也要注重,如不美觀是內(nèi)存泄露則斗勁嚴(yán)重;
● Physicsdisk Time :物理磁盤(pán)讀寫(xiě)時(shí)刻情形。
二是,Web處事器指標(biāo):
● Avg Rps:平均每秒鐘響應(yīng)次數(shù)=總請(qǐng)求時(shí)刻/秒數(shù);
● Avg time to last byte per terstion(mstes):平均每秒營(yíng)業(yè)劇本的迭代次數(shù);*Successful Rounds:成功的請(qǐng)求;
● Failed Rounds:失蹤敗的請(qǐng)求;
● Successful Hits:成功的點(diǎn)擊次數(shù);
● Failed Hits:失蹤敗的點(diǎn)擊次數(shù);
● Hits Per Second:每秒點(diǎn)擊次數(shù);
● Successful Hits Per Second:每秒成功的點(diǎn)擊次數(shù);
● Failed Hits Per Second:每秒失蹤敗的點(diǎn)擊次數(shù);
● Attempted Connections:考試考試鏈接數(shù)。
三是,數(shù)據(jù)庫(kù)處事器指標(biāo):
● User 0 Connections :用戶毗連數(shù),也就是數(shù)據(jù)庫(kù)的毗連數(shù)目;
● Number of deadlocks:數(shù)據(jù)庫(kù)死鎖;
● Butter Cache hit:數(shù)據(jù)庫(kù)Cache的射中情形。
(五)測(cè)試工具介紹
1、ACT(或者M(jìn)SACT)。ACT是微軟的Visual Studio 和Visual Studio.NET帶的一套進(jìn)行軌范測(cè)試的工具,ACT不單可以記實(shí)軌范運(yùn)行的具體數(shù)據(jù)參數(shù),用圖表顯示軌范運(yùn)行狀況,而且安裝和使用都斗勁簡(jiǎn)單,結(jié)不美觀閱讀也很便利,是一套較理想的測(cè)試工具。
Microsoft Web Application Stress Tool (WAS):這個(gè)工具和ACT一樣是微軟的產(chǎn)物,可是這個(gè)工具沒(méi)有和Visual Studio集成,可以零丁使用。感受這個(gè)軌范此刻還在測(cè)試,可是一些根基的功能已經(jīng)很完整,可以完成ACT幾乎所有功能,而且WAS使用加倍簡(jiǎn)單,設(shè)置也加倍完整了然。這個(gè)工具的此吐矣閩特點(diǎn)是,它的報(bào)表是純文本文件,而不是風(fēng)行的HTML文件名目,但內(nèi)容方面一點(diǎn)也不減色。
2、Open System Testing Architecture (OpenSTA)。OpenSTA的特點(diǎn)是可以模擬良多用戶來(lái)訪謁需要測(cè)試的網(wǎng)站,它是一個(gè)功能強(qiáng)年夜、自界說(shuō)設(shè)置功能完整的軟件,但這些設(shè)置年夜部門(mén)需要經(jīng)由過(guò)程Script來(lái)完成,是以在真正的使用這個(gè)軟件之前,必需進(jìn)修好它的Script編寫(xiě)。如不美觀需要完成很復(fù)雜的功能,Script的要求還斗勁高,當(dāng)然,這也是它的利益,一些軌范員不會(huì)在意這些Script的。這個(gè)軟件完全免費(fèi)而且源代碼可以下載,可以自己改削達(dá)到特定的要求。
3、PureLoad。PureLoad是基于Java的測(cè)試工具,它的Script代碼完全使用XML,所以這些代碼的編寫(xiě)很簡(jiǎn)單,它的測(cè)試報(bào)表包含文字和圖形并可以輸出為HTML文件。因?yàn)槭腔贘ava的軟件,所以可以經(jīng)由過(guò)程Java Beans API來(lái)增強(qiáng)軟件功能。
4、QALoad。QALoad不單單測(cè)試WEB應(yīng)用,還可以測(cè)試一些后臺(tái)的工具,好比SQL Server等,只若是它撐持的和談,都可以測(cè)試;此外一點(diǎn),QALoad不單可以測(cè)試Windows,而且可以測(cè)試AIX, HP-UX 和 Solaris等系統(tǒng)??墒?,這款軟件價(jià)錢(qián)很高。
5、LoadRunner。Mercury LoadRunner是一種展望系統(tǒng)行為和機(jī)能的負(fù)載測(cè)試工具。經(jīng)由過(guò)程以模擬上萬(wàn)萬(wàn)用戶實(shí)施并發(fā)負(fù)載及實(shí)時(shí)機(jī)能監(jiān)測(cè)的體例來(lái)確認(rèn)和查找問(wèn)題,LoadRunner能夠?qū)φ蹅€(gè)企業(yè)架構(gòu)進(jìn)行測(cè)試。經(jīng)由過(guò)程使用LoadRunner,企業(yè)能最年夜限度地縮短測(cè)試時(shí)刻,優(yōu)化機(jī)能和加速應(yīng)用系統(tǒng)的發(fā)布周期。
對(duì)于財(cái)年夜氣粗的年夜公司而言,這款軟件可能斗勁適合,它的功能和QALoad對(duì)比八兩半斤,市道上馳譽(yù)的公司如IBM、SUN、Oracle等都用這個(gè)軟件??墒撬膬r(jià)錢(qián)也高不成攀,和功能成正比。
三、進(jìn)一步的工作與談判
跟著周全質(zhì)量打點(diǎn)思惟在軟件開(kāi)發(fā)規(guī)模的應(yīng)用和不竭向前推進(jìn),軟件測(cè)試也由最初的僅僅針對(duì)軟件制品擴(kuò)展到了針對(duì)軟件半制品甚至過(guò)程產(chǎn)物的全過(guò)程測(cè)試,這是對(duì)軟件測(cè)試的一種必然擴(kuò)充。WEB測(cè)試也會(huì)跟著這一思惟,不竭地?cái)U(kuò)展到WEB軟件的各個(gè)生命周期中去,這將使WEB應(yīng)用軌范取得更高的質(zhì)量,這也是我們往后需要進(jìn)一步研究的內(nèi)容。出格是對(duì)WEB壓力測(cè)試自順應(yīng)模子的試探才剛剛起頭,有良多不足之處,例如:今朝的測(cè)試人機(jī)交互較多,而自動(dòng)完成的軌范較少等,這些都有待日后的改良。
除了前面介紹的WEB壓力測(cè)試外,今朝WEB測(cè)試的首要研究熱點(diǎn)還有:WEB應(yīng)用測(cè)試的框架研究,WEB應(yīng)用軌范測(cè)試的對(duì)象模子研究及其應(yīng)用,WEB測(cè)試的高度自動(dòng)化研究等等,都將是未來(lái)一段時(shí)代內(nèi)的研究重點(diǎn)。