手機(jī)軟件測(cè)試的基本理論與方法_第1頁(yè)
手機(jī)軟件測(cè)試的基本理論與方法_第2頁(yè)
手機(jī)軟件測(cè)試的基本理論與方法_第3頁(yè)
手機(jī)軟件測(cè)試的基本理論與方法_第4頁(yè)
手機(jī)軟件測(cè)試的基本理論與方法_第5頁(yè)
已閱讀5頁(yè),還剩107頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

軟件測(cè)試測(cè)試的基本理論及方法自動(dòng)化性能和壓力測(cè)試測(cè)試的基本理論及方法對(duì)軟件測(cè)試的誤解如何理解軟件測(cè)試軟件測(cè)試的定義軟件測(cè)試的對(duì)象軟件測(cè)試分類和比較軟件測(cè)試的目的軟件測(cè)試組織軟件測(cè)試規(guī)范軟件測(cè)試的內(nèi)容和技術(shù)WEB應(yīng)用測(cè)試對(duì)軟件測(cè)試的誤解如果發(fā)布出去的軟件有質(zhì)量問題,那是軟件測(cè)試人員的錯(cuò).軟件測(cè)試技術(shù)要求不高,至少比編程容易多了.軟件測(cè)試隨便找一個(gè)能力差的人就能做.有時(shí)間就多測(cè)試一些,來不及就少測(cè)試一些.軟件測(cè)試是測(cè)試人員的事,與開發(fā)人員無關(guān).設(shè)計(jì)-實(shí)現(xiàn)-測(cè)試,軟件測(cè)試是開發(fā)后期的一個(gè)階段如何理解軟件測(cè)試軟件測(cè)試是一種有效的提高軟件質(zhì)量的手段,但即使在投入上有所保證,測(cè)試也不能百分為百發(fā)現(xiàn)所有質(zhì)量隱患.況且軟件質(zhì)量并不僅僅是測(cè)試出來的.很多人認(rèn)為軟件測(cè)試就是運(yùn)行一下軟件,看看結(jié)果對(duì)不對(duì).但實(shí)際上,如何在有限的投入下,提高軟件測(cè)試的效率和產(chǎn)出是一件很見功底的事.好的測(cè)試人員不僅要掌握各種測(cè)試技術(shù),還要具備豐富的編程經(jīng)驗(yàn)和對(duì)BUG的敏感.測(cè)試的復(fù)雜之處,除了測(cè)試技術(shù)問題之外,還有測(cè)試管理問題.測(cè)試不是可有可無,隨心所欲的.規(guī)范化的軟件開發(fā)需要對(duì)軟件測(cè)試早做計(jì)劃,分配必要的時(shí)間,人力和財(cái)力等資源,并將其作為項(xiàng)目管理的一個(gè)部分加以控制和協(xié)調(diào).開發(fā)和測(cè)試是軟件項(xiàng)目相輔相成的兩個(gè)過程,人員間的交流,協(xié)作和配合是提高整體效率的重要因素.軟件產(chǎn)品開發(fā)完畢,再進(jìn)行測(cè)試的觀念是有悖于生命周期理論的.軟件產(chǎn)品質(zhì)量問題越晚發(fā)現(xiàn),修復(fù)的代價(jià)越大.需求設(shè)計(jì)編程內(nèi)部測(cè)試外部測(cè)試發(fā)布修正BUG的代價(jià)一些常識(shí)和經(jīng)驗(yàn)之談測(cè)試能提高軟件的質(zhì)量,但是提高質(zhì)量不能依賴測(cè)試。

測(cè)試只能證明缺陷存在,不能證明缺陷不存在?!皬氐椎販y(cè)試”難以成為現(xiàn)實(shí),要考慮時(shí)間、費(fèi)用等限制,不允許無休止地測(cè)試。我們應(yīng)當(dāng)祈禱:軟件的缺陷在產(chǎn)品被淘汰之前一直沒有機(jī)會(huì)發(fā)作。測(cè)試的主要困難是不知道如何進(jìn)行有效地測(cè)試,也不知道什么時(shí)候可以放心地結(jié)束測(cè)試。每個(gè)開發(fā)人員應(yīng)當(dāng)測(cè)試自己的程序(份內(nèi)之事),但是不能作為該程序已經(jīng)通過測(cè)試的依據(jù)(所以項(xiàng)目需要獨(dú)立測(cè)試人員)。80-20原則:80%的缺陷聚集在20%的模塊中,經(jīng)常出錯(cuò)的模塊改錯(cuò)后還會(huì)經(jīng)常出錯(cuò)測(cè)試應(yīng)當(dāng)循序漸進(jìn),不要企圖一次性干完,注意“欲速則不達(dá)”。軟件測(cè)試的定義軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程軟件測(cè)試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一批測(cè)試用例(即輸入數(shù)據(jù)及其預(yù)期的輸出結(jié)果),并利用這些測(cè)試用例去運(yùn)行程序,以發(fā)現(xiàn)程序錯(cuò)誤的過程.軟件測(cè)試不等于程序測(cè)試.軟件測(cè)試貫穿于軟件定義和開發(fā)的整個(gè)期間.需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),以及程序編碼等各個(gè)階段所得到的文檔,包括需求規(guī)格說明,概要設(shè)計(jì)規(guī)格說明,詳細(xì)設(shè)計(jì)規(guī)格說明以及源程序,都是軟件測(cè)試的對(duì)象.軟件測(cè)試的對(duì)象軟件生存各個(gè)階段間的確認(rèn)和驗(yàn)證

軟件配置:包括軟件需求規(guī)格說明、軟件設(shè)計(jì)規(guī)格說明、源代碼等;

測(cè)試配置:包括測(cè)試計(jì)劃、測(cè)試用例、測(cè)試驅(qū)動(dòng)程序等。實(shí)際上,在整個(gè)軟件工程過程中,測(cè)試配置只是軟件配置的一個(gè)子集。

測(cè)試工具:為提高軟件測(cè)試效率,可使用測(cè)試工具支持測(cè)試工具。例如:測(cè)試數(shù)據(jù)自動(dòng)生成程序、測(cè)試結(jié)果分析程序等。測(cè)試的目的測(cè)試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯(cuò)誤;一個(gè)好的測(cè)試用例在于發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤;一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今的錯(cuò)誤的測(cè)試.測(cè)試的種類名稱說明黑盒測(cè)試基于軟件需求,而不是基于軟件內(nèi)部設(shè)計(jì)和程序?qū)崿F(xiàn)的測(cè)試方式。白盒測(cè)試基于軟件內(nèi)部設(shè)計(jì)和程序?qū)崿F(xiàn)的測(cè)試方式。單元測(cè)試主要測(cè)試軟件模塊的源代碼。一般由開發(fā)人員而非獨(dú)立測(cè)試人員來執(zhí)行,因?yàn)闇y(cè)試者需要懂得該單元的設(shè)計(jì)與程序?qū)崿F(xiàn),測(cè)試者可能需要編寫額外的測(cè)試驅(qū)動(dòng)程序。集成測(cè)試將一些“構(gòu)件”集成一起時(shí),測(cè)試它們能否正常運(yùn)行。這里“構(gòu)件”可以是程序模塊、客戶機(jī)-服務(wù)器程序等等。功能測(cè)試測(cè)試軟件的功能是否符合功能性需求,通常采用黑盒測(cè)試方式。一般由獨(dú)立測(cè)試人員執(zhí)行。系統(tǒng)測(cè)試測(cè)試軟件系統(tǒng)是否符合所有需求,包括功能性需求與非功能性需求。一般由獨(dú)立測(cè)試人員執(zhí)行,通常采用黑盒測(cè)試方式。回歸測(cè)試指錯(cuò)誤被修正后或軟件功能、環(huán)境發(fā)生變化后進(jìn)行的重新測(cè)試?;貧w測(cè)試的困難在于不好確定哪些內(nèi)容應(yīng)當(dāng)被重新測(cè)試。驗(yàn)收測(cè)試由客戶或最終用戶執(zhí)行,測(cè)試軟件系統(tǒng)是否符合需求規(guī)格說明書。名稱說明負(fù)載測(cè)試測(cè)試軟件系統(tǒng)的最大負(fù)載,超出此負(fù)載軟件可能會(huì)失常。壓力測(cè)試概念上與負(fù)載測(cè)試相似,叫法不同。性能測(cè)試測(cè)試軟件在各種狀況下的性能,如在正常或最大負(fù)載下的狀況。易用性測(cè)試測(cè)試軟件是否易用,主觀性比較強(qiáng)。一般要根據(jù)很多用戶的測(cè)試反饋信息,才能評(píng)價(jià)易用性。安裝與反安裝測(cè)試測(cè)試軟件在“全部、部分、升級(jí)”等狀況下的安裝/反安裝過程?;謴?fù)測(cè)試測(cè)試該系統(tǒng)從故障中恢復(fù)過來的能力。安全性測(cè)試測(cè)試該系統(tǒng)防止非法侵入的能力。兼容性測(cè)試測(cè)試該系統(tǒng)與其它軟件硬件兼容的能力。比較測(cè)試通過與同類產(chǎn)品比較,考察該系統(tǒng)的優(yōu)點(diǎn)、缺點(diǎn)。Alpha測(cè)試一種先期的用戶測(cè)試,此時(shí)系統(tǒng)剛剛開發(fā)完成。Beta測(cè)試一種后期的用戶測(cè)試,此時(shí)系統(tǒng)已經(jīng)通過內(nèi)部測(cè)試,大部分錯(cuò)誤已經(jīng)改正,即將正式發(fā)行。測(cè)試的分類與比較測(cè)試方式白盒測(cè)試:關(guān)心軟件內(nèi)部設(shè)計(jì)和程序?qū)崿F(xiàn),主要測(cè)試依據(jù)是設(shè)計(jì)文檔黑盒測(cè)試:不關(guān)心軟件內(nèi)部,只關(guān)心輸入輸出,主要測(cè)試依據(jù)是需求文檔測(cè)試階段單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試。是“從小到大”、“由內(nèi)至外”、“循序漸進(jìn)”的測(cè)試過程,體現(xiàn)了“分而治之”的思想。

單元測(cè)試的粒度最小,一般由開發(fā)小組采用白盒方式來測(cè)試,主要測(cè)試單元是否符合“設(shè)計(jì)”。

集成測(cè)試界于單元測(cè)試和系統(tǒng)測(cè)試之間,起到“橋梁作用”,一般由開發(fā)小組采用白盒加黑盒的方式來測(cè)試,既要驗(yàn)證“設(shè)計(jì)”又要驗(yàn)證“需求”。

系統(tǒng)測(cè)試的粒度最大,一般由獨(dú)立測(cè)試小組采用黑盒方式來測(cè)試,主要測(cè)試系統(tǒng)是否符合“需求規(guī)格說明書”。

驗(yàn)收測(cè)試與系統(tǒng)測(cè)試非常相似,主要區(qū)別是測(cè)試人員不同,驗(yàn)收測(cè)試由用戶執(zhí)行。

開發(fā)與測(cè)試的V型關(guān)系如果軟件開發(fā)過程采用嚴(yán)格的瀑布模型,那么開發(fā)與測(cè)試有“V”型的對(duì)應(yīng)關(guān)系。需求開發(fā)

高層設(shè)計(jì)詳細(xì)設(shè)計(jì)編程單元測(cè)試集成測(cè)試系統(tǒng)測(cè)試驗(yàn)收測(cè)試測(cè)試內(nèi)容接口與路徑測(cè)試。

功能測(cè)試、健壯性測(cè)試、性能測(cè)試、用戶界面測(cè)試、安全性測(cè)試、壓力測(cè)試、可靠性測(cè)試、安裝/反安裝測(cè)試…測(cè)試階段

主要依據(jù)

測(cè)試人員、測(cè)試方式

主要測(cè)試內(nèi)容

單元測(cè)試系統(tǒng)設(shè)計(jì)文檔由開發(fā)小組執(zhí)行白盒測(cè)試

接口測(cè)試、路徑測(cè)試

集成測(cè)試系統(tǒng)設(shè)計(jì)文檔需求文檔由開發(fā)小組執(zhí)行白盒測(cè)試和黑盒測(cè)試

接口測(cè)試、路徑測(cè)試功能測(cè)試、性能測(cè)試

系統(tǒng)測(cè)試需求文檔由獨(dú)立測(cè)試小組執(zhí)行黑盒測(cè)試

功能測(cè)試、健壯性測(cè)試、性能測(cè)試、用戶界面測(cè)試、安全性測(cè)試、壓力測(cè)試、可靠性測(cè)試、安裝/反安裝測(cè)試

驗(yàn)收測(cè)試需求文檔由用戶執(zhí)行黑盒測(cè)試

黑盒測(cè)試與白盒測(cè)試的比較測(cè)試方式特征依據(jù)測(cè)試人員測(cè)試驅(qū)動(dòng)程序黑盒測(cè)試只關(guān)心軟件的外部表現(xiàn),不關(guān)心內(nèi)部設(shè)計(jì)與實(shí)現(xiàn)。軟件需求任何人(包括開發(fā)人員、獨(dú)立測(cè)試人員和用戶)一般無需編寫額外的測(cè)試驅(qū)動(dòng)程序白盒測(cè)試關(guān)注軟件的內(nèi)部設(shè)計(jì)與實(shí)現(xiàn),要跟蹤源代碼的運(yùn)行。設(shè)計(jì)文檔由開發(fā)人員兼任測(cè)試人員的角色需要編寫額外的測(cè)試驅(qū)動(dòng)程序問題1:有了“黑盒”測(cè)試為什么還要“白盒”測(cè)試?黑盒測(cè)試只能觀察軟件的外部表現(xiàn),即使軟件的輸入輸出都是正確的,卻并不能說明軟件就是正確的。因?yàn)槌绦蛴锌赡苡缅e(cuò)誤的運(yùn)算方式得出正確的結(jié)果,例如“負(fù)負(fù)得正,錯(cuò)錯(cuò)得對(duì)”,只有白盒測(cè)試才能發(fā)現(xiàn)真正的原因。白盒測(cè)試能發(fā)現(xiàn)程序里的隱患,象內(nèi)存泄漏、誤差累計(jì)問題。在這方面,黑盒測(cè)試存在嚴(yán)重的不足。

問題2:由于單元測(cè)試要寫測(cè)試驅(qū)動(dòng)程序,非常麻煩,能否等到整個(gè)系統(tǒng)全部開發(fā)完后,再集中精力進(jìn)行一次性地單元測(cè)試呢?如果這樣做,在開發(fā)過程中,缺陷會(huì)越積越多并且分布得更廣、隱藏得更深,反而導(dǎo)致測(cè)試與改錯(cuò)的代價(jià)大大增加。最糟糕的是無法估計(jì)測(cè)試與改錯(cuò)的工作量,使進(jìn)度失去控制。因此為圖眼前省事而省略單元測(cè)試或者“偷工減料”,是“得不償失”的做法。問題3:如果每個(gè)單元都通過了測(cè)試,把它們集成一起難道會(huì)有什么不妥嗎?集成測(cè)試是否多此一舉?要把N個(gè)單元集成一起肯定靠接口耦合,這時(shí)可能會(huì)產(chǎn)生在單元測(cè)試中無法發(fā)現(xiàn)的問題。例如:數(shù)據(jù)通過不同的接口時(shí)可能出錯(cuò);幾個(gè)函數(shù)關(guān)聯(lián)在一起時(shí)可能達(dá)不到預(yù)期的功能;在某個(gè)單元里可以接受的誤差可能在集成后被擴(kuò)大到無法接受的程度。所以集成測(cè)試是必要的,不是多此一舉。問題4:在集成測(cè)試的時(shí)候,已經(jīng)對(duì)一些子系統(tǒng)進(jìn)行了功能測(cè)試、性能測(cè)試等等,那么在系統(tǒng)測(cè)試時(shí)能否跳過相同內(nèi)容的測(cè)試?不能!因?yàn)榧蓽y(cè)試是在仿真環(huán)境中開展的,那不是真正的目標(biāo)系統(tǒng)。再者,單元測(cè)試和集成測(cè)試通常由開發(fā)小組執(zhí)行。根據(jù)測(cè)試心理學(xué)的分析,開發(fā)人員測(cè)試自己的工作成果雖然是必要的,但不能作為成果已經(jīng)通過測(cè)試的依據(jù)。

問題5:既然系統(tǒng)測(cè)試與驗(yàn)收測(cè)試的內(nèi)容幾乎是相同的,為什么還要驗(yàn)收測(cè)試?首先是“信任”問題。對(duì)于合同項(xiàng)目而言,如果測(cè)試小組是開發(fā)方的人員,客戶怎么能夠輕易相信“別人”呢?所以當(dāng)項(xiàng)目進(jìn)行系統(tǒng)測(cè)試之后,客戶再進(jìn)行驗(yàn)收測(cè)試是情理之中的事。否則,那是客戶失職。不論是合同項(xiàng)目還是非合同項(xiàng)目,軟件的最終用戶各色各樣(如受教育程度不同、使用習(xí)慣不同等等)。測(cè)試小組至多能夠模仿小部分用戶的行為,但并不具有普遍的代表性。

問題6:能否將系統(tǒng)測(cè)試和驗(yàn)收測(cè)試“合二為一”?系統(tǒng)測(cè)試不是一會(huì)兒就能做完的,比較長(zhǎng)時(shí)間的用戶測(cè)試很難組織。用戶還有自己的事情要做,他們?yōu)槭裁匆獮閯e人測(cè)試呢?即使用戶愿意做系統(tǒng)測(cè)試,他們消耗的時(shí)間、花費(fèi)的金錢大多比測(cè)試小組的高。系統(tǒng)測(cè)試時(shí)會(huì)找出相當(dāng)多的軟件缺陷,軟件需要反反復(fù)復(fù)地改錯(cuò)。如果讓用戶發(fā)現(xiàn)“內(nèi)幕”,一是丟臉,二是會(huì)嚇跑買主。所以還是關(guān)起門來,先讓測(cè)試小組做完系統(tǒng)測(cè)試的好。

回歸測(cè)試回歸測(cè)試是指對(duì)某些已經(jīng)被測(cè)試過的內(nèi)容進(jìn)行重新測(cè)試。每當(dāng)軟件增加了新的功能,或者軟件中的缺陷被修正,這些變更都有可能影響軟件原有的功能和結(jié)構(gòu)。為了防止軟件的變更產(chǎn)生無法預(yù)料的副作用,不僅要對(duì)新內(nèi)容進(jìn)行測(cè)試,還要對(duì)某些老內(nèi)容進(jìn)行回歸測(cè)試。測(cè)試人員的組織了解開發(fā)人員的測(cè)試心理測(cè)試的目的是找出盡可能多的缺陷。所以測(cè)試是“破壞性”的,而開發(fā)卻是“建設(shè)性”的。開發(fā)人員總是喜歡欣賞程序的成功之處,而不愿看到失敗之處。讓開發(fā)者去做“蓄意破壞”的測(cè)試,就象殺自己的孩子一樣難以接受。開發(fā)者對(duì)自己的程序印象深刻,并總以為是正確的(自信是應(yīng)該的)。倘若在設(shè)計(jì)時(shí)就存在理解錯(cuò)誤,或因不良的編程習(xí)慣而流下了隱患,他本人很難發(fā)現(xiàn)這類錯(cuò)誤.開發(fā)者對(duì)自己的程序的功能、接口十分熟悉,他自己幾乎不可能因?yàn)槭褂貌划?dāng)而引發(fā)錯(cuò)誤,這與大眾用戶的情況不太相似,所以測(cè)試自己的程序不具備典型性。

結(jié)論:開發(fā)人員應(yīng)當(dāng)測(cè)試自己的程序,這是他分內(nèi)的工作。但是開發(fā)人員在測(cè)試自己的程序時(shí),很難做到客觀、公正,所以自我測(cè)試不具有說服力。如何組織測(cè)試人員:應(yīng)當(dāng)視企業(yè)的人力資源而定條件特別好的公司,可以為每一個(gè)開發(fā)人員分配一名獨(dú)立的測(cè)試人員。這樣的測(cè)試人員職業(yè)化程度很高,可以完成單元測(cè)試、集成測(cè)試和系統(tǒng)測(cè)試工作,能夠?qū)崿F(xiàn)開發(fā)與測(cè)試同步進(jìn)行。條件比較好的公司,可以設(shè)置一個(gè)獨(dú)立的測(cè)試小組,該測(cè)試小組輪流參加各個(gè)項(xiàng)目的系統(tǒng)測(cè)試。而單元測(cè)試、集成測(cè)試工作由項(xiàng)目的開發(fā)小組承擔(dān)。條件一般的公司,養(yǎng)不起獨(dú)立的測(cè)試小組。單元測(cè)試、集成測(cè)試工作由項(xiàng)目開發(fā)小組承擔(dān)。當(dāng)項(xiàng)目進(jìn)展到系統(tǒng)測(cè)試階段,可以從項(xiàng)目外抽調(diào)一些人員,加上開發(fā)人員,臨時(shí)組織系統(tǒng)測(cè)試小組。條件比較差的公司,也許只有一個(gè)項(xiàng)目和為數(shù)不多的一些開發(fā)人員。那么就讓開發(fā)人員一直兼任測(cè)試人員的角色,相互測(cè)試對(duì)方的程序。如果人員實(shí)在太少了,只好讓開發(fā)者測(cè)試自己的程序,有測(cè)試總比沒有測(cè)試好吧!避免開發(fā)人員與測(cè)試人員產(chǎn)生矛盾開發(fā)人員不能很好地測(cè)試自己的程序是因?yàn)樽霾坏健盁o情”。但如果測(cè)試人員真的做到了“無情”卻會(huì)引起開發(fā)人員的憤怒,遭人白眼。由于開發(fā)與測(cè)試存在“對(duì)立”關(guān)系,開發(fā)人員與測(cè)試人員很容易產(chǎn)生矛盾,這對(duì)項(xiàng)目而言是一種傷害。開發(fā)人員的注意事項(xiàng):(1)不要敵視測(cè)試人員。要理解測(cè)試的目的就是發(fā)現(xiàn)缺陷,是測(cè)試人員的工作職責(zé)。不要以為測(cè)試人員吃飽了沒事干,存心找茬。(2)不要輕視測(cè)試人員,別說人家技術(shù)水平差,不配搞開發(fā)只好搞測(cè)試。測(cè)試人員的注意事項(xiàng):(1)發(fā)現(xiàn)缺陷時(shí)不要嘲笑開發(fā)人員,別說他的程序真臭、到處是Bug。(2)在開發(fā)人員壓力太大時(shí)或心情不好時(shí)不要火上澆油,發(fā)現(xiàn)缺陷時(shí)別大聲嚷嚷。盡量不要相互諷刺對(duì)方,例如:A對(duì)B說:你唯一的特點(diǎn)就是無能。B對(duì)A說:你唯一的特點(diǎn)就是粗魯。還要注意的是,如果測(cè)試人員與開發(fā)人員的關(guān)系非常好,可能會(huì)導(dǎo)致在測(cè)試的時(shí)候“手下留情”,這對(duì)項(xiàng)目也是一種傷害。

企業(yè)的測(cè)試策略理念:企業(yè)的主要目的是獲取利潤(rùn),降低測(cè)試成本也是盈利的一種方式。用較低的代價(jià)實(shí)現(xiàn)有效的測(cè)試,不應(yīng)為了追求完美的測(cè)試而不失一切代價(jià)。如何合理地減少測(cè)試工作量減少冗余的測(cè)試白盒測(cè)試與黑盒測(cè)試的方式雖然不同,但往往有“異曲同工”之妙。在很多地方,白盒測(cè)試與黑盒測(cè)試會(huì)產(chǎn)生一模一樣的效果(或者能推理出來),這樣的測(cè)試是冗余的。在集成測(cè)試、系統(tǒng)測(cè)試階段,可能要執(zhí)行多次“回歸測(cè)試”。每一次“回歸測(cè)試”都會(huì)存在不少的冗余,應(yīng)當(dāng)設(shè)法剔除不必要的重復(fù)測(cè)試工作。減少無價(jià)值的測(cè)試無價(jià)值的測(cè)試通常是由于不懂得測(cè)試技術(shù)引起的。例如功能測(cè)試,在等價(jià)區(qū)間之中,本來只要測(cè)試一個(gè)典型的輸入就行了,如果有人在此區(qū)間測(cè)試了100次,那么其中99次就是無價(jià)值的。如何“偷工減料”有一些“短、平、快”的項(xiàng)目,經(jīng)費(fèi)本來就少,用戶對(duì)質(zhì)量要求也馬馬虎虎。為了能多掙一點(diǎn)錢,開發(fā)方不得不采用“偷工減料”的方式來降低測(cè)試代價(jià)。偷工減料的途徑無非就是減少測(cè)試的內(nèi)容和頻度。但不能砍得太狠,否則軟件拿不出手?;痉椒ㄊ钦页鲕浖行枰獌?yōu)先測(cè)試的部分,其它次要部分可以忽略或?qū)碓贉y(cè)試。

“偷工減料”方法的測(cè)試優(yōu)先級(jí):哪些功能是軟件的特色?

哪些功能是用戶最常用的?

如果系統(tǒng)可以分塊賣的話,哪些功能塊在銷售時(shí)最昂貴?

哪些功能出錯(cuò)將導(dǎo)致用戶不滿或索賠?哪些程序是最復(fù)雜、最容易出錯(cuò)的?哪些程序是相對(duì)獨(dú)立,應(yīng)當(dāng)提前測(cè)試的?哪些程序最容易擴(kuò)散錯(cuò)誤?哪些程序是全系統(tǒng)的性能瓶頸所在?哪些程序是開發(fā)者最沒有信心的?

測(cè)試何時(shí)結(jié)束?一、基于測(cè)試用例的規(guī)則(1)先構(gòu)造測(cè)試用例(并請(qǐng)有關(guān)人員進(jìn)行評(píng)審)。(2)在測(cè)試過程中,當(dāng)測(cè)試用例的不通過率達(dá)到20%時(shí),則拒絕繼續(xù)測(cè)試,待開發(fā)人員修正軟件后再進(jìn)行測(cè)試。(3)當(dāng)功能性測(cè)試用例通過率達(dá)到100%,非功能性測(cè)試用例通過率達(dá)到90%時(shí),允許正常結(jié)束測(cè)試。 該規(guī)則的優(yōu)點(diǎn)是適用于所有的測(cè)試階段,缺點(diǎn)是太依賴于測(cè)試用例。如果測(cè)試用例非常糟糕,那么該規(guī)則就失效了。二、基于“測(cè)試期缺陷密度”的規(guī)則把測(cè)試一個(gè)CPU小時(shí)發(fā)現(xiàn)的缺陷數(shù)稱為“測(cè)試期缺陷密度”。繪制“測(cè)試時(shí)間-缺陷數(shù)”的關(guān)系圖,如果在相鄰n個(gè)CPU小時(shí)內(nèi)“測(cè)試期缺陷密度”全部低于某個(gè)值m時(shí),則允許正常結(jié)束測(cè)試。例如n大于10,m小于等于1。該規(guī)則比較適用于系統(tǒng)測(cè)試階段。三、基于“運(yùn)行期缺陷密度”的規(guī)則把軟件運(yùn)行一個(gè)CPU小時(shí)發(fā)現(xiàn)的缺陷數(shù)稱為“運(yùn)行期缺陷密度”。繪制“運(yùn)行時(shí)間-缺陷數(shù)”的關(guān)系圖,如果在相鄰n個(gè)CPU小時(shí)內(nèi)“運(yùn)行期缺陷密度”全部低于某個(gè)值m時(shí),則允許正常結(jié)束測(cè)試。例如n大于100,m小于等于1。該規(guī)則比較適用于驗(yàn)收測(cè)試階段,即客戶試運(yùn)行軟件期間。需求經(jīng)常變更怎么辦 需求變更可能會(huì)讓項(xiàng)目所有成員遭殃,如何“預(yù)防變更”以及“降低變更的代價(jià)”是軟件工程的經(jīng)典問題。本節(jié)僅論述需求變更對(duì)測(cè)試的影響。需求變更將導(dǎo)致軟件設(shè)計(jì)和實(shí)現(xiàn)的變更,也導(dǎo)致了測(cè)試變更。最讓人難過的是上一次測(cè)試有可能白做了,如果軟件變更比較大的話。 測(cè)試人員不要只是自認(rèn)倒霉,應(yīng)當(dāng)主動(dòng)作些應(yīng)變:(1)及時(shí)了解需求變更的詳細(xì)情況,盡早調(diào)整測(cè)試計(jì)劃,不要悶頭按原計(jì)劃測(cè)試。(2)將軟件中穩(wěn)定的部分與易變的部分區(qū)別對(duì)待,前者先測(cè)試,后者后測(cè)試。(3)向領(lǐng)導(dǎo)反映需求變更對(duì)測(cè)試造成的影響,為自己爭(zhēng)取余地。(4)設(shè)計(jì)一些比較靈活的測(cè)試用例,能適應(yīng)某些變更(不過技術(shù)難度比較高)。引申問題:如果在系統(tǒng)測(cè)試時(shí),對(duì)照需求文檔,發(fā)現(xiàn)軟件多了功能或少了功能,該怎么辦?如果發(fā)現(xiàn)軟件少了功能,測(cè)試人員不可為了少干些活而隱瞞事實(shí)。如果發(fā)現(xiàn)軟件多了功能,測(cè)試人員不可認(rèn)為這些功能反正是“錦上添花”,便自作主張地測(cè)試了事。兩種情況都要報(bào)告給項(xiàng)目經(jīng)理,有可能導(dǎo)致一系列的變更。測(cè)試規(guī)范測(cè)試流程第一步:制定測(cè)試計(jì)劃。該計(jì)劃被批準(zhǔn)后轉(zhuǎn)向第二步。第二步:設(shè)計(jì)測(cè)試用例。該用例被批準(zhǔn)后轉(zhuǎn)向第三步。第三步:如果滿足“啟動(dòng)準(zhǔn)則”,那么執(zhí)行測(cè)試。

第四步:撰寫測(cè)試報(bào)告。

第五步:消除軟件缺陷。如果滿足“完成準(zhǔn)則”,那么正常結(jié)束測(cè)試。制定測(cè)試計(jì)劃設(shè)計(jì)測(cè)試用例執(zhí)行測(cè)試寫測(cè)試報(bào)告消除軟件缺陷審批審批回歸測(cè)試完成測(cè)試完成準(zhǔn)則啟動(dòng)準(zhǔn)則測(cè)試的信息流測(cè)試信息流如下圖所示:

軟件測(cè)試的策略

在軟件工程中,測(cè)試過程應(yīng)該按4個(gè)步驟進(jìn)行,即單元測(cè)試、組裝(集成)測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。下圖給出了軟件測(cè)試經(jīng)歷的4個(gè)步驟。

測(cè)試規(guī)范測(cè)試啟動(dòng)準(zhǔn)則同時(shí)滿足以下條件,允許開始測(cè)試:(1)測(cè)試計(jì)劃已經(jīng)制定并且通過了審批;(2)測(cè)試用例已經(jīng)設(shè)計(jì)并且通過了審批;(3)被測(cè)試對(duì)象已經(jīng)開發(fā)完畢并等待測(cè)試。

測(cè)試完成準(zhǔn)則對(duì)于非嚴(yán)格系統(tǒng)可以采用“基于測(cè)試用例”的準(zhǔn)則。同時(shí)滿足以下條件允許結(jié)束測(cè)試:(1)功能性測(cè)試用例通過率達(dá)到100%;(2)非功能性測(cè)試用例通過率達(dá)到90%時(shí)。對(duì)于嚴(yán)格系統(tǒng),應(yīng)當(dāng)補(bǔ)充“基于測(cè)試期缺陷密度”的規(guī)則:(3)相鄰n個(gè)CPU小時(shí)內(nèi)“測(cè)試期缺陷密度”全部低于某個(gè)值m。例如n大于10,m小于等于1。測(cè)試的文檔《測(cè)試計(jì)劃》:指明范圍、方法、資源,以及相應(yīng)測(cè)試活動(dòng)的時(shí)間進(jìn)度安排表的文檔?!稖y(cè)試方案》:指明為完成軟件或軟件集成特性的測(cè)試而進(jìn)行的設(shè)計(jì)測(cè)試方法的細(xì)節(jié)文檔?!稖y(cè)試用例》:指明為完成一個(gè)測(cè)試項(xiàng)的測(cè)試輸入、預(yù)期結(jié)果、預(yù)期執(zhí)行條件等因素的文檔?!稖y(cè)試規(guī)程》:指明執(zhí)行測(cè)試時(shí)測(cè)試活動(dòng)序列的文檔?!稖y(cè)試報(bào)告》:指明執(zhí)行測(cè)試結(jié)果的文檔。測(cè)試計(jì)劃的參考模板建立測(cè)試計(jì)劃定義測(cè)試目標(biāo)開發(fā)測(cè)試矩陣軟件模型結(jié)構(gòu)特性批量測(cè)試的階段和用例為在線系統(tǒng)作概念上的測(cè)試腳本軟件測(cè)試矩陣定義測(cè)試管理測(cè)試計(jì)劃的一般性信息定義測(cè)試?yán)锍瘫x管理上的檢查點(diǎn)書寫測(cè)試計(jì)劃評(píng)審測(cè)試計(jì)劃涉及評(píng)審的問題評(píng)審測(cè)試的開始時(shí)間是否會(huì)延期有沒有抵觸評(píng)審的角色一段時(shí)間內(nèi)是否很難得到工作的檢查信息。更換工具有可能導(dǎo)致他們反感評(píng)審工作評(píng)審結(jié)果可能會(huì)影響對(duì)個(gè)人的工作評(píng)價(jià)對(duì)于最終成品的檢查項(xiàng)目的需求規(guī)格說明書軟件返工/維護(hù)的文檔升級(jí)后的技術(shù)文檔被更改的源程序測(cè)試計(jì)劃用戶手冊(cè)(包括在線幫助)測(cè)試用例測(cè)試用例的基本要素有:目的、前提條件、輸入數(shù)據(jù)或動(dòng)作、期望的響應(yīng)。建議測(cè)試方法測(cè)試方法測(cè)試用例的概念是簡(jiǎn)單的建立有效的測(cè)試用例是復(fù)雜的設(shè)計(jì)測(cè)試文件測(cè)試用例應(yīng)當(dāng)包含合法的和非法的輸入每一個(gè)動(dòng)作只進(jìn)行一次關(guān)鍵操作輸入測(cè)試數(shù)據(jù)分析結(jié)果嘗試將測(cè)試文件違反程序的規(guī)則進(jìn)行輸入壓力測(cè)試的測(cè)試工具以大信息量的數(shù)據(jù)進(jìn)行輸入這是一個(gè)昂貴的測(cè)試,應(yīng)根據(jù)需要來選擇在線系統(tǒng)需要做壓力測(cè)試測(cè)試報(bào)告目標(biāo)表示出目前項(xiàng)目的實(shí)際狀況明確什么是測(cè)試做的工作,什么是不作的工作。給出系統(tǒng)的操作性能的評(píng)價(jià)明確什么時(shí)候系統(tǒng)可以進(jìn)行產(chǎn)品化的工作關(guān)注點(diǎn)測(cè)試報(bào)告只有真正需要的時(shí)候才有用,需要配合市場(chǎng)和管理測(cè)試的信息是不充分的(對(duì)于評(píng)價(jià)一個(gè)項(xiàng)目來說)測(cè)試狀況并不能真實(shí)的反應(yīng)個(gè)人的狀況測(cè)試期間數(shù)據(jù)的收集有關(guān)測(cè)試結(jié)果的積累數(shù)據(jù)測(cè)試任務(wù),測(cè)試集合和測(cè)試事件的描述缺陷分析由于計(jì)劃的問題,導(dǎo)致沒有發(fā)現(xiàn)的缺陷的數(shù)據(jù)嚴(yán)重的缺陷缺陷類型為什么缺陷沒有發(fā)現(xiàn)效果測(cè)試報(bào)告報(bào)告目前的軟件狀態(tài)功能/測(cè)試矩陣功能測(cè)試的狀態(tài)報(bào)告,側(cè)重點(diǎn)分析關(guān)于功能的工作時(shí)間軸期望發(fā)現(xiàn)VS實(shí)際發(fā)現(xiàn)的缺陷比沒有發(fā)現(xiàn)的缺陷和改正的缺陷的差距按照類型分類,沒有改正的缺陷的平均值缺陷分類報(bào)告測(cè)試活動(dòng)報(bào)告軟件系統(tǒng)的主要測(cè)試內(nèi)容及技術(shù)接口與路徑測(cè)試功能測(cè)試健壯性測(cè)試性能測(cè)試用戶界面測(cè)試信息安全測(cè)試壓力測(cè)試可靠性測(cè)試安裝/反安裝測(cè)試接口與路徑測(cè)試數(shù)據(jù)一般通過接口輸入和輸出,所以接口測(cè)試是白盒測(cè)試的第一步。每個(gè)接口可能有多個(gè)輸入?yún)?shù),每個(gè)參數(shù)有“典型值”、“邊界值”、“異常值”之分,所以輸入的組合數(shù)可能并不少。根據(jù)接口的定義,可以推斷某種輸入應(yīng)當(dāng)產(chǎn)生什么樣的輸出。輸出包括函數(shù)的返回值和輸出參數(shù)。如果實(shí)際輸出與期望的輸出不一致,那么說明程序有錯(cuò)誤。白盒方式的接口測(cè)試和黑盒方式的功能測(cè)試,其方法十分相似。一個(gè)函數(shù)體內(nèi)的語(yǔ)句可能只有十幾條,但邏輯路徑可能有成千上萬條。想遍歷測(cè)試幾乎是不可能的,不測(cè)試或者胡亂找?guī)讞l路徑測(cè)試卻又不行。對(duì)于非嚴(yán)格系統(tǒng)而言,在分析路徑方面化費(fèi)很多精力是不值得的。我認(rèn)為在構(gòu)造接口測(cè)試的同時(shí)已經(jīng)建立了測(cè)試路徑。因?yàn)槊恳环N輸入將產(chǎn)生唯一的輸出,輸入與輸出之間的路徑也是唯一的。由于接口測(cè)試中的輸入是有代表性的,因此相應(yīng)的路徑也具有代表性,不用得著費(fèi)煞苦心地去找測(cè)試路徑。路徑測(cè)試的檢查表數(shù)據(jù)類型、變量值、邏輯判斷、循環(huán)、內(nèi)存管理、文件I/O、錯(cuò)誤處理由于接口測(cè)試是枚舉的,有可能漏掉某些狀況,導(dǎo)致一些重要的路徑?jīng)]有被測(cè)試。預(yù)防措施有:觀察是否有程序語(yǔ)句從來沒有被執(zhí)行過。如果發(fā)生在這種情況,要么是程序有錯(cuò)誤,存在無用的代碼;要么是接口測(cè)試不充分,漏掉了一些路徑。要特別留意函數(shù)體內(nèi)的錯(cuò)誤處理程序塊(如果存在的話),這是最易被人疏忽的路徑,隱患最多。

軟件系統(tǒng)的主要測(cè)試內(nèi)容及技術(shù)接口與路徑測(cè)試用例的參考模板軟件系統(tǒng)的主要測(cè)試內(nèi)容及技術(shù)功能測(cè)試功能測(cè)試的基本方法是構(gòu)造一些合理輸入(在需求范圍之內(nèi)),檢查輸出是否與期望的相同。如果兩者不一致,即表明功能有誤。也有例外的情況,如《需求規(guī)格說明書》中的某個(gè)功能寫錯(cuò)了,而實(shí)際上軟件的功能卻是正確的,這時(shí)要更改的是《需求規(guī)格說明書》。功能測(cè)試看起來比較簡(jiǎn)單,只要看得懂《需求規(guī)格說明書》,誰都會(huì)做。難點(diǎn)在于如何構(gòu)造有效的輸入。由于輸入空間通常是無限的,窮舉測(cè)試顯然行不通。那么隨便輸入一些東西,碰運(yùn)氣行不行?功能測(cè)試有兩種比較好的測(cè)試方法:等價(jià)劃分法和邊界值分析法。等價(jià)劃分是指把輸入空間劃分為幾個(gè)“等價(jià)區(qū)間”,在每個(gè)“等價(jià)區(qū)間”中只需要測(cè)試一個(gè)典型值就可以了。等價(jià)劃分法來源于人們的直覺與經(jīng)驗(yàn),可令測(cè)試事半功倍?!叭毕葸z漏在角落里,聚集在邊界上”。邊界值測(cè)試法是對(duì)等價(jià)劃分法的補(bǔ)充。如果A和B是輸入空間的邊界值,那么除了典型值外還要用A和B作為測(cè)試用例。例如測(cè)試函數(shù)。憑直覺,等價(jià)區(qū)間應(yīng)是(0,1)和(1,+∞)。可取典型值x=0.5以及x=2.0進(jìn)行“等價(jià)劃分”測(cè)試。再取x=0以及x=1進(jìn)行“邊界值”測(cè)試。功能測(cè)試用例的參考模板健壯性測(cè)試健壯性是指在異常情況下,軟件還能正常運(yùn)行的能力。健壯性有兩層含義:一是容錯(cuò)能力,二是恢復(fù)能力。容錯(cuò)性測(cè)試通常構(gòu)造一些不合理的輸入來引誘軟件出錯(cuò),例如:(1)輸入錯(cuò)誤的數(shù)據(jù)類型。如“猴”年“馬”月。(2)輸入定義域之外的數(shù)值。如上海人常說的“十三點(diǎn)”粗暴一些方式俗稱“大猩猩”測(cè)試法。除了不能拳打腳踢嘴咬外,什么招術(shù)都可以使出來。例如在測(cè)試客戶機(jī)-服務(wù)器模式的軟件時(shí),把網(wǎng)絡(luò)線拔掉,造成通信異常中斷?;謴?fù)測(cè)試重點(diǎn)考察一下幾項(xiàng):(1)系統(tǒng)能否重新運(yùn)行;(2)有無重要的數(shù)據(jù)丟失;(3)是否毀壞了其它相關(guān)的軟件硬件。健壯性測(cè)試目標(biāo)當(dāng)在進(jìn)行安裝或組裝操作過程中,文件丟失時(shí)或發(fā)生意外后系統(tǒng)有能力重新進(jìn)行操作如何使用程序的安裝,運(yùn)行方式,工具的使用和關(guān)鍵技術(shù)經(jīng)過足夠的評(píng)估系統(tǒng)開發(fā)完畢后,介紹一下發(fā)生失敗后的處理過程例子人為的使一個(gè)系統(tǒng)在安裝或者組裝過程中產(chǎn)生錯(cuò)誤什么時(shí)間去使用當(dāng)操作的連續(xù)性是個(gè)重點(diǎn)的時(shí)候健壯性測(cè)試用例的參考模板性能測(cè)試性能測(cè)試即測(cè)試軟件處理事務(wù)的速度,一是為了檢驗(yàn)性能是否符合需求,二是為了得到某些性能數(shù)據(jù)供人們參考(例如用于宣傳)。有時(shí)人們關(guān)心測(cè)試的“絕對(duì)值”,如數(shù)據(jù)送輸速率是每秒多少比特。有時(shí)人們關(guān)心測(cè)試的“相對(duì)值”,如某個(gè)軟件比另一個(gè)軟件快多少倍。在獲取測(cè)試的“絕對(duì)值”時(shí),我們要充分考慮并記錄運(yùn)行環(huán)境對(duì)測(cè)試的影響。例如網(wǎng)絡(luò)環(huán)境、計(jì)算機(jī)主頻,總線結(jié)構(gòu)和外部設(shè)備都可能影響軟件的運(yùn)行速度。

性能測(cè)試的一些注意事項(xiàng):不要試圖讓人拿著鐘表去測(cè)時(shí)間,應(yīng)當(dāng)編寫一段程序用于計(jì)算時(shí)間以及相關(guān)數(shù)據(jù)。應(yīng)當(dāng)測(cè)試軟件在標(biāo)準(zhǔn)配置和最低配置下的性能。為了排除干擾,應(yīng)當(dāng)關(guān)閉那些消耗內(nèi)存、占用CPU的其它應(yīng)用軟件(如殺毒軟件)。不同的輸入情況會(huì)得到不同的性能數(shù)據(jù),應(yīng)當(dāng)分檔記錄。例如傳輸文件的容量從100K到1M可以分成若干等級(jí)。由于環(huán)境的波動(dòng),同一種輸入情況在不同的時(shí)間可能得到不同的性能數(shù)據(jù),可以取其平均值。性能測(cè)試技巧目標(biāo)確定系統(tǒng)達(dá)到了希望達(dá)到的性能水平如何使用使用軟件和硬件的監(jiān)視器使用模擬的監(jiān)控模型,對(duì)關(guān)心的性能指標(biāo)進(jìn)行監(jiān)控創(chuàng)建一個(gè)小程序例子計(jì)算通信的時(shí)間單位時(shí)間處理的信息量性能測(cè)試用例的參考模板用戶界面測(cè)試絕大多數(shù)軟件擁有圖形用戶界面。圖形用戶界面的測(cè)試重點(diǎn)是正確性、易用性和視覺效果。在評(píng)價(jià)易用性和視覺效果時(shí),主觀性非常強(qiáng),應(yīng)當(dāng)考慮多個(gè)人的觀點(diǎn)。用戶界面測(cè)試用例的參考模板:信息安全測(cè)試信息安全性(security)是指防止系統(tǒng)被非法入侵的能力,既屬于技術(shù)問題又屬于管理問題。信息安全性測(cè)試有如下步驟:(1)為非法入侵設(shè)立目標(biāo),例如“盜竊某個(gè)文件”或“更改數(shù)據(jù)庫(kù)記錄”等。(2)邀請(qǐng)(或懸賞)一些人扮演黑客,讓他們想盡辦法入侵系統(tǒng),實(shí)現(xiàn)“目標(biāo)”。(3)如果有人成功了,請(qǐng)他詳述入侵的過程。別忘了給予獎(jiǎng)勵(lì)。信息安全性測(cè)試用例的參考模板安全性測(cè)試目標(biāo)安全性的缺陷很難被發(fā)現(xiàn)。大多數(shù)的情況下組織能夠防止一般性的破壞者。如何使用對(duì)安全性的需求進(jìn)行評(píng)審分析與安全性有關(guān)的處理流程轉(zhuǎn)包給專業(yè)的人員例子定義了被保護(hù)的資源,權(quán)限進(jìn)行了控制,日志文件和審查追蹤是可用的。什么時(shí)間使用當(dāng)被保護(hù)的資源對(duì)于組織具有重要的價(jià)值的時(shí)候壓力測(cè)試壓力測(cè)試也叫負(fù)荷測(cè)試,即獲取系統(tǒng)能正常運(yùn)行的極限狀態(tài)。了解“極限”是很有價(jià)值的,例如潛艇下潛極限深度…。壓力測(cè)試的主要任務(wù)是:構(gòu)造正確的輸入,使勁折騰系統(tǒng)卻讓它剛好不癱瘓。

壓力測(cè)試的一個(gè)變種是敏感測(cè)試。在某種情況下,微小的輸入變動(dòng)會(huì)導(dǎo)致系統(tǒng)的表現(xiàn)(如性能)發(fā)生急劇的變化。敏感測(cè)試目的是發(fā)現(xiàn)什么樣的輸入可能會(huì)引發(fā)不穩(wěn)定現(xiàn)象。

壓力測(cè)試用例的參考模板壓力測(cè)試目標(biāo)模擬出實(shí)際用戶環(huán)境怎么用 產(chǎn)生測(cè)試數(shù)據(jù)測(cè)試組模擬用戶處理被創(chuàng)建的數(shù)據(jù)例子確定是否分配了足夠的磁盤空間通訊的容量是否足夠測(cè)試系統(tǒng)過載的情況什么時(shí)間使用當(dāng)關(guān)于容量的信息不確定的時(shí)候可靠性測(cè)試可靠性是指在一定的環(huán)境下、在給定的時(shí)間內(nèi)、系統(tǒng)不發(fā)生故障的概率。由于軟件不像硬件那樣可以“加速老化”,按此定義,軟件可靠性測(cè)試可能會(huì)花費(fèi)很長(zhǎng)時(shí)間。比較實(shí)用的辦法是,讓用戶使用該系統(tǒng),記錄每一次發(fā)生故障的時(shí)刻。計(jì)算出相鄰故障的時(shí)間間隔,注意要去掉非工作時(shí)間。這樣我們可以方便地統(tǒng)計(jì)出不發(fā)生故障的“最小時(shí)間間隔”、“最大時(shí)間間隔”和“平均時(shí)間間隔”。其中“平均時(shí)間間隔”會(huì)讓人們大體了解到系統(tǒng)“可靠”的程度。

安裝/反安裝測(cè)試安裝/反安裝測(cè)試的目的:避免“大風(fēng)浪都挺過來了,卻在陰溝里翻了船”目前市面上有非常流行的、專門制作安裝/反安裝程序的一些工具,如InstallShelled。制作安裝/反安裝程序不再是件難事,關(guān)鍵是不要麻痹大意。主要測(cè)試工作:(1)至少在標(biāo)準(zhǔn)配置和最低配置兩種環(huán)境下測(cè)試;(2)如果有安裝界面,應(yīng)當(dāng)嘗試各種選項(xiàng),如選擇“全部”、“部分”、“升級(jí)”等。WEB應(yīng)用的測(cè)試一、功能測(cè)試1、鏈接測(cè)試鏈接是Web應(yīng)用系統(tǒng)的一個(gè)主要特征,它是在頁(yè)面之間切換和指導(dǎo)用戶去一些不知道地址的頁(yè)面的主要手段。鏈接測(cè)試可分為三個(gè)方面。首先,測(cè)試所有鏈接是否按指示的那樣確實(shí)鏈接到了該鏈接的頁(yè)面;其次,測(cè)試所鏈接的頁(yè)面是否存在;最后,保證Web應(yīng)用系統(tǒng)上沒有孤立的頁(yè)面,所謂孤立頁(yè)面是指沒有鏈接指向該頁(yè)面,只有知道正確的URL地址才能訪問。鏈接測(cè)試可以自動(dòng)進(jìn)行,現(xiàn)在已經(jīng)有許多工具可以采用。鏈接測(cè)試必須在集成測(cè)試階段完成,也就是說,在整個(gè)Web應(yīng)用系統(tǒng)的所有頁(yè)面開發(fā)完成之后進(jìn)行鏈接測(cè)試。2、表單測(cè)試當(dāng)用戶給Web應(yīng)用系統(tǒng)管理員提交信息時(shí),就需要使用表單操作,例如用戶注冊(cè)、登陸、信息提交等。在這種情況下,我們必須測(cè)試提交操作的完整性,以校驗(yàn)提交給服務(wù)器的信息的正確性。例如:用戶填寫的出生日期與職業(yè)是否恰當(dāng),填寫的所屬省份與所在城市是否匹配等。如果使用了默認(rèn)值,還要檢驗(yàn)?zāi)J(rèn)值的正確性。如果表單只能接受指定的某些值,則也要進(jìn)行測(cè)試。例如:只能接受某些字符,測(cè)試時(shí)可以跳過這些字符,看系統(tǒng)是否會(huì)報(bào)錯(cuò)。3、Cookies測(cè)試Cookies通常用來存儲(chǔ)用戶信息和用戶在某應(yīng)用系統(tǒng)的操作,當(dāng)一個(gè)用戶使用Cookies訪問了某一個(gè)應(yīng)用系統(tǒng)時(shí),Web服務(wù)器將發(fā)送關(guān)于用戶的信息,把該信息以Cookies的形式存儲(chǔ)在客戶端計(jì)算機(jī)上,這可用來創(chuàng)建動(dòng)態(tài)和自定義頁(yè)面或者存儲(chǔ)登陸等信息。如果Web應(yīng)用系統(tǒng)使用了Cookies,就必須檢查Cookies是否能正常工作。測(cè)試的內(nèi)容可包括Cookies是否起作用,是否按預(yù)定的時(shí)間進(jìn)行保存,刷新對(duì)Cookies有什么影響等。4、設(shè)計(jì)語(yǔ)言測(cè)試Web設(shè)計(jì)語(yǔ)言版本的差異可以引起客戶端或服務(wù)器端嚴(yán)重的問題,例如使用哪種版本的HTML等。當(dāng)在分布式環(huán)境中開發(fā)時(shí),開發(fā)人員都不在一起,這個(gè)問題就顯得尤為重要。除了HTML的版本問題外,不同的腳本語(yǔ)言,例如Java、javascript、ActiveX、VBScript或Perl等也要進(jìn)行驗(yàn)證。5、數(shù)據(jù)庫(kù)測(cè)試在Web應(yīng)用技術(shù)中,數(shù)據(jù)庫(kù)起著重要的作用,數(shù)據(jù)庫(kù)為Web應(yīng)用系統(tǒng)的管理、運(yùn)行、查詢和實(shí)現(xiàn)用戶對(duì)數(shù)據(jù)存儲(chǔ)的請(qǐng)求等提供空間。在Web應(yīng)用中,最常用的數(shù)據(jù)庫(kù)類型是關(guān)系型數(shù)據(jù)庫(kù),可以使用SQL對(duì)信息進(jìn)行處理。在使用了數(shù)據(jù)庫(kù)的Web應(yīng)用系統(tǒng)中,一般情況下,可能發(fā)生兩種錯(cuò)誤,分別是數(shù)據(jù)一致性錯(cuò)誤和輸出錯(cuò)誤。數(shù)據(jù)一致性錯(cuò)誤主要是由于用戶提交的表單信息不正確而造成的,而輸出錯(cuò)誤主要是由于網(wǎng)絡(luò)速度或程序設(shè)計(jì)問題等引起的,針對(duì)這兩種情況,可分別進(jìn)行測(cè)試。二、性能測(cè)試1、連接速度測(cè)試用戶連接到Web應(yīng)用系統(tǒng)的速度根據(jù)上網(wǎng)方式的變化而變化,他們或許是電話撥號(hào),或是寬帶上網(wǎng)。當(dāng)下載一個(gè)程序時(shí),用戶可以等較長(zhǎng)的時(shí)間,但如果僅僅訪問一個(gè)頁(yè)面就不會(huì)這樣。如果Web系統(tǒng)響應(yīng)時(shí)間太長(zhǎng)(例如超過5秒鐘),用戶就會(huì)因沒有耐心等待而離開。另外,有些頁(yè)面有超時(shí)的限制,如果響應(yīng)速度太慢,用戶可能還沒來得及瀏覽內(nèi)容,就需要重新登陸了。而且,連接速度太慢,還可能引起數(shù)據(jù)丟失,使用戶得不到真實(shí)的頁(yè)面。2、負(fù)載測(cè)試負(fù)載測(cè)試是為了測(cè)量Web系統(tǒng)在某一負(fù)載級(jí)別上的性能,以保證Web系統(tǒng)在需求范圍內(nèi)能正常工作。負(fù)載級(jí)別可以是某個(gè)時(shí)刻同時(shí)訪問Web系統(tǒng)的用戶數(shù)量,也可以是在線數(shù)據(jù)處理的數(shù)量。例如:Web應(yīng)用系統(tǒng)能允許多少個(gè)用戶同時(shí)在線?如果超過了這個(gè)數(shù)量,會(huì)出現(xiàn)什么現(xiàn)象?Web應(yīng)用系統(tǒng)能否處理大量用戶對(duì)同一個(gè)頁(yè)面的請(qǐng)求?

3、壓力測(cè)試負(fù)載測(cè)試應(yīng)該安排在Web系統(tǒng)發(fā)布以后,在實(shí)際的網(wǎng)絡(luò)環(huán)境中進(jìn)行測(cè)試。因?yàn)橐粋€(gè)企業(yè)內(nèi)部員工,特別是項(xiàng)目組人員總是有限的,而一個(gè)Web系統(tǒng)能同時(shí)處理的請(qǐng)求數(shù)量將遠(yuǎn)遠(yuǎn)超出這個(gè)限度,所以,只有放在Internet上,接受負(fù)載測(cè)試,其結(jié)果才是正確可信的。進(jìn)行壓力測(cè)試是指實(shí)際破壞一個(gè)Web應(yīng)用系統(tǒng),測(cè)試系統(tǒng)的反映。壓力測(cè)試是測(cè)試系統(tǒng)的限制和故障恢復(fù)能力,也就是測(cè)試Web應(yīng)用系統(tǒng)會(huì)不會(huì)崩潰,在什么情況下會(huì)崩潰。黑客常常提供錯(cuò)誤的數(shù)據(jù)負(fù)載,直到Web應(yīng)用系統(tǒng)崩潰,接著當(dāng)系統(tǒng)重新啟動(dòng)時(shí)獲得存取權(quán)。壓力測(cè)試的區(qū)域包括表單、登陸和其他信息傳輸頁(yè)面等。

三、可用性測(cè)試1、導(dǎo)航測(cè)試導(dǎo)航描述了用戶在一個(gè)頁(yè)面內(nèi)操作的方式,在不同的用戶接口控制之間,例如按鈕、對(duì)話框、列表和窗口等;或在不同的連接頁(yè)面之間。通過考慮下列問題,可以決定一個(gè)Web應(yīng)用系統(tǒng)是否易于導(dǎo)航:導(dǎo)航是否直觀?Web系統(tǒng)的主要部分是否可通過主頁(yè)存???Web系統(tǒng)是否需要站點(diǎn)地圖、搜索引擎或其他的導(dǎo)航幫助?在一個(gè)頁(yè)面上放太多的信息往往起到與預(yù)期相反的效果。Web應(yīng)用系統(tǒng)的用戶趨向于目的驅(qū)動(dòng),很快地掃描一個(gè)Web應(yīng)用系統(tǒng),看是否有滿足自己需要的信息,如果沒有,就會(huì)很快地離開。很少有用戶愿意花時(shí)間去熟悉Web應(yīng)用系統(tǒng)的結(jié)構(gòu),因此,Web應(yīng)用系統(tǒng)導(dǎo)航幫助要盡可能地準(zhǔn)確。導(dǎo)航的另一個(gè)重要方面是Web應(yīng)用系統(tǒng)的頁(yè)面結(jié)構(gòu)、導(dǎo)航、菜單、連接的風(fēng)格是否一致。確保用戶憑直覺就知道Web應(yīng)用系統(tǒng)里面是否還有內(nèi)容,內(nèi)容在什么地方。Web應(yīng)用系統(tǒng)的層次一旦決定,就要著手測(cè)試用戶導(dǎo)航功能,讓最終用戶參與這種測(cè)試,效果將更加明顯。2、圖形測(cè)試在Web應(yīng)用系統(tǒng)中,適當(dāng)?shù)膱D片和動(dòng)畫既能起到廣告宣傳的作用,又能起到美化頁(yè)面的功能。一個(gè)Web應(yīng)用系統(tǒng)的圖形可以包括圖片、動(dòng)畫、邊框、顏色、字體、背景、按鈕等。圖形測(cè)試的內(nèi)容有:(1)要確保圖形有明確的用途,圖片或動(dòng)畫不要胡亂地堆在一起,以免浪費(fèi)傳輸時(shí)間。Web應(yīng)用系統(tǒng)的圖片尺寸要盡量地小,并且要能清楚地說明某件事情,一般都鏈接到某個(gè)具體的頁(yè)面。(2)驗(yàn)證所有頁(yè)面字體的風(fēng)格是否一致。(3)背景顏色應(yīng)該與字體顏色和前景顏色相搭配。(4)圖片的大小和質(zhì)量也是一個(gè)很重要的因素,一般采用JPG或GIF壓縮。3、內(nèi)容測(cè)試內(nèi)容測(cè)試用來檢驗(yàn)Web應(yīng)用系統(tǒng)提供信息的正確性、準(zhǔn)確性和相關(guān)性。信息的正確性是指信息是可靠的還是誤傳的。例如,在商品價(jià)格列表中,錯(cuò)誤的價(jià)格可能引起財(cái)政問題甚至導(dǎo)致法律糾紛;信息的準(zhǔn)確性是指是否有語(yǔ)法或拼寫錯(cuò)誤。這種測(cè)試通常使用一些文字處理軟件來進(jìn)行,例如使用MicrosoftWord的"拼音與語(yǔ)法檢查"功能;信息的相關(guān)性是指是否在當(dāng)前頁(yè)面可以找到與當(dāng)前瀏覽信息相關(guān)的信息列表或入口,也就是一般Web站點(diǎn)中的所謂"相關(guān)文章列表"。4、整體界面測(cè)試整體界面是指整個(gè)Web應(yīng)用系統(tǒng)的頁(yè)面結(jié)構(gòu)設(shè)計(jì),是給用戶的一個(gè)整體感。例如:當(dāng)用戶瀏覽Web應(yīng)用系統(tǒng)時(shí)是否感到舒適,是否憑直覺就知道要找的信息在什么地方?整個(gè)Web應(yīng)用系統(tǒng)的設(shè)計(jì)風(fēng)格是否一致?對(duì)整體界面的測(cè)試過程,其實(shí)是一個(gè)對(duì)最終用戶進(jìn)行調(diào)查的過程。一般Web應(yīng)用系統(tǒng)采取在主頁(yè)上做一個(gè)調(diào)查問卷的形式,來得到最終用戶的反饋信息。對(duì)所有的可用性測(cè)試來說,都需要有外部人員(與Web應(yīng)用系統(tǒng)開發(fā)沒有聯(lián)系或聯(lián)系很少的人員)的參與,最好是最終用戶的參與。四、客戶端兼容性測(cè)試1、平臺(tái)測(cè)試市場(chǎng)上有很多不同的操作系統(tǒng)類型,最常見的有Windows、Unix、Macintosh、Linux等。Web應(yīng)用系統(tǒng)的最終用戶究竟使用哪一種操作系統(tǒng),取決于用戶系統(tǒng)的配置。這樣,就可能會(huì)發(fā)生兼容性問題,同一個(gè)應(yīng)用可能在某些操作系統(tǒng)下能正常運(yùn)行,但在另外的操作系統(tǒng)下可能會(huì)運(yùn)行失敗。因此,在Web系統(tǒng)發(fā)布之前,需要在各種操作系統(tǒng)下對(duì)Web系統(tǒng)進(jìn)行兼容性測(cè)試2、瀏覽器測(cè)試瀏覽器是Web客戶端最核心的構(gòu)件,來自不同廠商的瀏覽器對(duì)Java,、javascript、ActiveX、plug-ins或不同的HTML規(guī)格有不同的支持。例如,ActiveX是Microsoft的產(chǎn)品,是為InternetExplorer而設(shè)計(jì)的,javascript是Netscape的產(chǎn)品,Java是Sun的產(chǎn)品等等。另外,框架和層次結(jié)構(gòu)風(fēng)格在不同的瀏覽器中也有不同的顯示,甚至根本不顯示。不同的瀏覽器對(duì)安全性和Java的設(shè)置也不一樣。測(cè)試瀏覽器兼容性的一個(gè)方法是創(chuàng)建一個(gè)兼容性矩陣。在這個(gè)矩陣中,測(cè)試不同廠商、不同版本的瀏覽器對(duì)某些構(gòu)件和設(shè)置的適應(yīng)性。五、安全性測(cè)試Web應(yīng)用系統(tǒng)的安全性測(cè)試區(qū)域主要有:(1)現(xiàn)在的Web應(yīng)用系統(tǒng)基本采用先注冊(cè),后登陸的方式。因此,必須測(cè)試有效和無效的用戶名和密碼,要注意到是否大小寫敏感,可以試多少次的限制,是否可以不登陸而直接瀏覽某個(gè)頁(yè)面等。(2)Web應(yīng)用系統(tǒng)是否有超時(shí)的限制,也就是說,用戶登陸后在一定時(shí)間內(nèi)(例如15分鐘)沒有點(diǎn)擊任何頁(yè)面,是否需要重新登陸才能正常使用。(3)為了保證Web應(yīng)用系統(tǒng)的安全性,日志文件是至關(guān)重要的。需要測(cè)試相關(guān)信息是否寫進(jìn)了日志文件、是否可追蹤。(4)當(dāng)使用了安全套接字時(shí),還要測(cè)試加密是否正確,檢查信息的完整性。(5)服務(wù)器端的腳本常常構(gòu)成安全漏洞,這些漏洞又常常被黑客利用。所以,還要測(cè)試沒有經(jīng)過授權(quán),就不能在服務(wù)器端放置和編輯腳本的問題。軟件自動(dòng)化測(cè)試1.什么是“軟件自動(dòng)化測(cè)試”?2.軟件自動(dòng)化測(cè)試的優(yōu)點(diǎn)?3.自動(dòng)化測(cè)試工具概述;4.性能測(cè)試工具“LoadRunner”的介紹;什么是軟件測(cè)試的自動(dòng)化?[定義]通過自動(dòng)化測(cè)試工具或其他手段,按照我們預(yù)定的計(jì)劃進(jìn)行自動(dòng)測(cè)試的活動(dòng)。[目的]減輕手工測(cè)試的勞動(dòng)量,從而達(dá)到節(jié)約資源(包括人工、物品)提高軟件質(zhì)量的目的。自動(dòng)化測(cè)試的基本原理在測(cè)試者運(yùn)行應(yīng)用程序的同時(shí),把他所有動(dòng)作,包括鍵盤操作、鼠標(biāo)點(diǎn)擊等捕獲下來,生成一個(gè)腳本文件,這個(gè)腳本可以被“回放”,也就是按照上一次的所有動(dòng)作重復(fù)執(zhí)行一遍,實(shí)現(xiàn)自動(dòng)運(yùn)行和測(cè)試。軟件測(cè)試的自動(dòng)化優(yōu)點(diǎn)自動(dòng)錄制的測(cè)試腳本,可輕松實(shí)現(xiàn)回歸測(cè)試;減少測(cè)試時(shí)間,縮短整個(gè)軟件開發(fā)生命周期;替代手工測(cè)試不易達(dá)到的測(cè)試點(diǎn)(比如:300并發(fā)用戶的壓力測(cè)試)更好的利用空閑時(shí)間(比如晚上或周末機(jī)器時(shí));增加軟件信任度自動(dòng)化測(cè)試工具M(jìn)I公司W(wǎng)inrunner(功能測(cè)試)Loadrunner(性能負(fù)載測(cè)試)Testdirector(測(cè)試流程管理)IBM公司RationalCompuware公司QACenter,包括QARun,QAload,QADirector等模塊其他測(cè)試工具微軟WAS(WEB服務(wù)器負(fù)載測(cè)試),ACT(微軟的VisualStudio和VisualStudio.NET帶的一套進(jìn)行程序測(cè)試的工具)RationalTest工具用途列表軟件(執(zhí)行文件名稱)用途RationalAdministrator主要用于創(chuàng)建新的PROJECT,包括需求(RequestPro)、測(cè)試(TestManager)、及缺陷跟蹤(ClearQuest)的數(shù)據(jù)庫(kù)創(chuàng)建并建立關(guān)聯(lián)ClearQuest變更管理及缺陷跟蹤C(jī)learQuestMaintenanceToolClearQuest維護(hù)工具,主要用于創(chuàng)建、修改、刪除ClearQuest的ConnectionClearQuestDesignerClearQuest維護(hù)工具,主要用于維護(hù)某一指定的Connect/Schema的用戶、訪問權(quán)限及其他屬性定義(如缺陷等級(jí))等維護(hù)TestManager測(cè)試計(jì)劃制定及執(zhí)行工具LicenseKeyAdministratorRational注冊(cè)管理器軟件(執(zhí)行文件名稱)用途PureCoverage白盒測(cè)試工具,記錄代碼覆蓋率。不支持C++Builder/DelphiPurify白盒測(cè)試工具,用于內(nèi)存泄漏檢查Quantify白盒測(cè)試工具,用于性能瓶頸分析PurifyPlusForUnix包括以上三個(gè)工具,不過是ForUnixRequisitePro需求分析工具Robot自動(dòng)測(cè)試工具,類似WINRUNNDER,加上VT可以做并發(fā)測(cè)試SoDAforWord報(bào)表生成工具,需要VBA測(cè)試。一般不直接運(yùn)行,運(yùn)行后SoDA在word中增加了菜單,可以進(jìn)行模板設(shè)計(jì)。TestFactory可靠性測(cè)試,非常耗時(shí)。自動(dòng)化測(cè)試工具的分類白盒測(cè)試工具:對(duì)代碼的測(cè)試黑盒測(cè)試工具:功能和性能上的測(cè)試測(cè)試管理工具:對(duì)測(cè)試計(jì)劃、測(cè)試用例、測(cè)試實(shí)施進(jìn)行管理其他測(cè)試工具:專門針對(duì)于數(shù)據(jù)庫(kù)的測(cè)試等工具什么是性能測(cè)試?模擬實(shí)際用戶負(fù)載來測(cè)試系統(tǒng),包括:反應(yīng)速度、最大用戶數(shù)、系統(tǒng)最優(yōu)配置、軟硬件性能等虛擬用戶:發(fā)起各種各樣的負(fù)載組合GUI代理:衡量端到端的性能主機(jī):負(fù)責(zé)錄制、回放、監(jiān)視和分析運(yùn)行結(jié)果WebAppDB介紹性能測(cè)試工具

--LoadRunner7.5定義是一種預(yù)測(cè)系統(tǒng)行為和負(fù)載的性能測(cè)試工具。通過以模擬上千萬用戶實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能監(jiān)測(cè)的方式來確認(rèn)和查找問題。LoadRunner系列工具CreateVirtualUsers

LoadRunder的VirtualUserGenerator引擎可自動(dòng)產(chǎn)生虛擬用戶,模擬業(yè)務(wù)(如下訂單或預(yù)定機(jī)位)和使用者的操作行為,僅需少數(shù)的Window、UNIX、或Linux的機(jī)器即可執(zhí)行成千上萬個(gè)使用者,大大減少測(cè)試必需的硬件和人力成本。

LoadRunnerController

建立VirtualUsers后,執(zhí)行者需設(shè)定加壓模式,確定執(zhí)行哪些業(yè)務(wù)流程即測(cè)試多少數(shù)量的VirtualUsers。使用LoadrunnerController,執(zhí)行者可很快的組成多個(gè)用戶的測(cè)試方案,LoadRunnerController提供一互動(dòng)的設(shè)定環(huán)境,建立可重復(fù)運(yùn)作的加壓模式,又能管理和驅(qū)動(dòng)整個(gè)加壓模式。此外,還可利用安排日程來定議虛擬使用者在系統(tǒng)上以何種方式產(chǎn)生壓力負(fù)載。這樣,就可將測(cè)試過程自動(dòng)化。

MonitoringaScenario

LoadRunner內(nèi)含即時(shí)監(jiān)測(cè)器,可在壓力測(cè)試期間隨時(shí)查看應(yīng)用系統(tǒng)的運(yùn)作效能。這些監(jiān)測(cè)器可即時(shí)顯示Transaction資料,如反應(yīng)時(shí)間和其他后端系統(tǒng)組件性能包括APserver、Webserver、網(wǎng)絡(luò)設(shè)備、database等。如此,便可在測(cè)試過程中同時(shí)從client端和server端雙方面評(píng)估這些系統(tǒng)組件的運(yùn)作效能,從而更快發(fā)現(xiàn)問題。

Anilisy

完成測(cè)試后,Loadrunner收集所有測(cè)試數(shù)據(jù),并提供精確的分析和報(bào)表功能,以便迅速找到效能問題并追溯其錯(cuò)誤原因。

IP

Wizard

可是虛擬生成多個(gè)IP,在Controller中可以將生成的虛擬IP分配給虛擬用戶使用。LoadRunner7.5特點(diǎn)創(chuàng)建真實(shí)的負(fù)載定位性能問題可重復(fù)測(cè)試,保證系統(tǒng)發(fā)布的高性能支持無線應(yīng)用協(xié)議支持MediaStream應(yīng)用等LoadRunner的單用戶與并發(fā)在“虛擬用戶發(fā)生器”中:執(zhí)行單用戶操作ServerClientApp在“控制臺(tái)”中運(yùn)行已錄制的腳本,多個(gè)用戶并發(fā)訪問服務(wù)器VirtualUsersServer自動(dòng)負(fù)載測(cè)試的流程

1、系統(tǒng)分析

2、建立虛擬用戶腳本

3、定義用戶行為

4、創(chuàng)立負(fù)載測(cè)試場(chǎng)景

5、運(yùn)行測(cè)試,同步監(jiān)測(cè)應(yīng)用性能系統(tǒng)分析

在執(zhí)行任何測(cè)試計(jì)劃前,測(cè)試人員必須明確所有關(guān)鍵的性能目標(biāo)和目的。這包括確定哪些環(huán)節(jié)/交易需要測(cè)試,系統(tǒng)結(jié)構(gòu)中的哪些部件做測(cè)試用,網(wǎng)站期望達(dá)到的每秒連接數(shù)或點(diǎn)擊數(shù),澄清哪些步驟需要被測(cè)試。

其次,測(cè)試員需要定義那些備用測(cè)試的輸入數(shù)據(jù)。這些數(shù)據(jù)的生成是個(gè)動(dòng)態(tài)的過程。例如,拍賣競(jìng)標(biāo)的標(biāo)的,每次客戶送出一個(gè)競(jìng)價(jià)都會(huì)發(fā)生變化。有時(shí)數(shù)據(jù)也會(huì)從隨機(jī)的瀏覽中獲取。還有些非交易性質(zhì)的操作,包括瀏覽頁(yè)面或上網(wǎng)看新聞。不斷跟蹤輸入的數(shù)據(jù)能避免可能產(chǎn)生不精確的負(fù)載測(cè)試結(jié)果。

再者,測(cè)試員必須為測(cè)試應(yīng)用程序制定合適的計(jì)劃。他們可從三種策略模式中選擇:負(fù)載測(cè)試,壓力測(cè)試和容量測(cè)試。

第四,測(cè)試人員需要培養(yǎng)對(duì)系統(tǒng)結(jié)構(gòu)的全面掌握,包括

了解網(wǎng)路建立的路線類型

判斷是否使用了多個(gè)服務(wù)器

確定負(fù)載平衡器是否用于IT網(wǎng)路的一部分來管理服務(wù)器

熟悉系統(tǒng)是由哪些服務(wù)器構(gòu)成的(Web,應(yīng)用程序,數(shù)據(jù)庫(kù))

最后,開發(fā)人員必須確定有哪些可獲得資源用作運(yùn)行虛擬用戶。這要求決定是否有足夠數(shù)量的負(fù)載發(fā)生器或測(cè)試主機(jī)來運(yùn)行相應(yīng)數(shù)量的虛擬用戶。還需要了解測(cè)試工具是否具備多線程能力,可最大限度地增加運(yùn)行虛擬用戶。歸根結(jié)底,其目標(biāo)是耗費(fèi)最少的系統(tǒng)資源,運(yùn)行最多的虛擬用戶。建立測(cè)試腳本用戶類型建立測(cè)試腳本運(yùn)行腳本虛擬用戶的類型Client/Server:ForDB2CLI,DNS,Informix,MSSQLServer,ODBC,Oracle(2-tier),SybaseCtlib,SybaseDblib,andWindowsSockets協(xié)議.

Custom:ForCtemplates,VisualBasictemplates,Javatemplates,JavascriptandVBScripttypescripts.DistributedComponents:ForCOM/DCOM,Corba-Java,andRmi-Java協(xié)議.E-business:ForFTP,LDAP,Palm,SOAP,Web(HTTP/HTML),andWeb/WinSocketDual協(xié)議.

EnterpriseJavaBeans:ForEJBTestingandRmi-Java協(xié)議.

ERP:ForBaan,OracleNCA,Peoplesoft-Tuxedo,SAP,Siebel-DB2CLI,SiebelMSSQL,andSiebelOracle協(xié)議.

Legacy:ForTerminalEmulation(RTE).MailingServices:InternetMessaging(IMAP),MSExchange(MAPI),POP3,andSMTP.Middleware:JacadaandtheTuxedo(6,7)協(xié)議.

StreamingData:MediaPlayer(MMS)andReal協(xié)議.

Wireless:Fori-Mode,VoiceXML,andWAP協(xié)議.

如果想看所有的可支持的協(xié)議,那么可以點(diǎn)擊File>New然后在協(xié)議列表框里選擇AllProtocols即可.

VirtualUserGeneratorvugen通過記錄你執(zhí)行的客戶端應(yīng)用程序的活動(dòng)來創(chuàng)建虛擬用戶腳本,當(dāng)你運(yùn)行記錄的腳本時(shí),一個(gè)合成的虛擬用戶就仿效真實(shí)的用戶在客戶端和服務(wù)器之間的活動(dòng)創(chuàng)建至少三部分:vuser_init,一個(gè)或者更多的Actions和vuser_end.在記錄期間,可以選擇其中的一部分來插入你想要記錄的函數(shù),通常你記錄一個(gè)登陸到服務(wù)器的操作在vuser_init,客戶的活動(dòng)都在Actions部分,退出系統(tǒng)記錄在vuser_end部分。在創(chuàng)建測(cè)試后,你能保存它,在記錄的同時(shí)你能插入transactions、rendezvouspoints和注釋.一、虛擬用戶腳本部分VuserScriptSections

每一個(gè)腳本都包括三部分:vuser_init,一個(gè)或者更多的Actions和vuser_end.,在記錄開

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論