




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
功能測試及性能測試技術(shù)白皮書一、軟件測試的概念軟件測試定義:在軟件投入運(yùn)行前對軟件前對軟件需求分析、軟件設(shè)計規(guī)格說明和軟件編碼進(jìn)行的查錯(包括代碼執(zhí)行活動和人工活動)。也可以說,軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。或者說,軟件測試是根據(jù)軟件開發(fā)各個階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計一批測試用例(即輸入數(shù)據(jù)及其預(yù)期的輸出結(jié)果),并利用這些測試用例去運(yùn)行程序,以發(fā)現(xiàn)程序的錯誤,這是在軟件投入運(yùn)行前,對軟件需求分析、軟件設(shè)計規(guī)格說明和軟件編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。二、軟件測試的前提軟件的可測試性:是一個計算機(jī)程序能夠被測試的容易程度軟件可測試性表:可操作性一一運(yùn)行的越好,被測試的效率越高可觀察性一一所看見的,就是所測試的可控制性一一對軟件的控制越好,測試越能夠被自動執(zhí)行與優(yōu)化可分解性一一通過控制測試范圍,能夠更好的分解問題,執(zhí)行更靈巧的再測試簡單性需要測試的內(nèi)容越少,測試的速度越快穩(wěn)定性一一改變越少,對測試的破壞越小易理解性一一得到的信息越多,進(jìn)行的測試越靈巧三、軟件測試的目的GlenMyers在他的軟件測試著作中就軟件測試的目的提出下列觀點(diǎn)。(1) 測試是一個為了尋找錯誤而運(yùn)行程序的過程。(2) 一個好的測試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯誤的用例。(3) 一個成功的測試是指揭示了迄今為止尚未發(fā)現(xiàn)的錯誤的測試。正確認(rèn)識測試的目的是十分重要的,只有這樣,才能設(shè)計出最能暴露錯誤的測試方案。測試的目的應(yīng)從用戶角度出發(fā),通過軟件測試暴露軟件中潛在的錯誤和缺陷,而不應(yīng)從軟件開發(fā)者的角度出發(fā),希望測試成為表明軟件產(chǎn)品不存在錯誤,驗證軟件已正確實現(xiàn)用戶的要求的過程。否則,開發(fā)者測試時會選擇不易測試出錯誤和缺陷的用例,這與上述測試目的相違背。測試的目標(biāo)是能夠以耗費(fèi)最少時間與最小工作量找出軟件系統(tǒng)中潛在的各種錯誤與缺陷。另外,應(yīng)該認(rèn)識到:測試只能證明程序中錯誤的存在,但不能證明程序中沒有錯誤。因為即使實施了最嚴(yán)格的測試,仍然可能還有尚未被發(fā)現(xiàn)的錯誤或缺陷存在與程序當(dāng)中,所以測試不能證明程序沒有錯誤,但可能查處程序中的錯誤。四、軟件測試原則根據(jù)上述測試的目的,為了提高測試的效率,在長期軟件測試中積累了不少經(jīng)驗,在實踐中總結(jié)出軟件測試的主要基本原則有:盡早地并不斷的進(jìn)行軟件測試。程序員或程序設(shè)計機(jī)構(gòu)應(yīng)避免測試自己設(shè)計的程序。測試前應(yīng)當(dāng)設(shè)定合理的測試用例。測試用例的設(shè)計不僅要有合法的輸入數(shù)據(jù),還要有非法的輸入數(shù)據(jù)。在對程序修改之后要進(jìn)行回歸測試。充分注意測試中的群集現(xiàn)象。妥善保留測試計劃、全部測試用例、錯處統(tǒng)計和最終分析報告,并把他們作為 軟件的組成部分之一,為軟件的維護(hù)提供方便。應(yīng)當(dāng)對每個測試結(jié)果做全面的檢查。嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性。五、軟件測試的規(guī)律規(guī)律:木桶原理/八二原則5.1木桶原理盛水的木桶是由許多塊木板箍成的,盛水量也是由這些木板共同決定的。若其中一塊木板很短,則此木桶的盛水量就被短板所限制。這塊短板就成了這個木桶盛水量的''限制因素〃(或稱''短板效應(yīng)〃)。若要使此木桶盛水量增加,只有換掉短板或?qū)⒍贪寮娱L才成。人們把這一規(guī)律總結(jié)為''木桶原理〃,獲、'木桶定律〃,又稱、'短板理論〃。產(chǎn)品質(zhì)量的關(guān)鍵因素是分析、設(shè)計和實現(xiàn),測試應(yīng)該是融于其中的補(bǔ)充檢查手段,其他管理、支持、甚至文化因素也會影響最終產(chǎn)品的質(zhì)量。應(yīng)該說,測試是提高產(chǎn)品質(zhì)量的必要條件,也是提高產(chǎn)品質(zhì)量的最直接、最快捷的手段,但決不是一種根本手段。反過來說,如果將提高產(chǎn)品質(zhì)量的砝碼全押在測試上,那將是一個恐怖而漫長的災(zāi)難。5.2八二原則說法一:在分析、設(shè)計、實現(xiàn)階段的復(fù)審和測試工作能夠發(fā)現(xiàn)和避免80%的Bug,而系統(tǒng)測試又能找出其余Bug中的80%,最后5%的Bug可能只有在用戶的大范圍、長時間的使用中才會暴露出來。因此測試只能盡可能多的發(fā)現(xiàn)錯誤,無法保證能夠發(fā)現(xiàn)所有的錯誤。說法二:80%的程序缺陷往往生存在軟件20%的程序空間里
六、測試流程6.1測試生命周期步驟輸入(前提)輸出階段業(yè)務(wù)培訓(xùn)需求分析階段測試需求軟件業(yè)務(wù)規(guī)范軟件需求規(guī)格說明書軟件設(shè)計說明(概要設(shè)計說明和詳細(xì)設(shè)計說明)軟件需求的追蹤矩陣<3份需求追蹤文檔>需求分析階段測試計劃軟件業(yè)務(wù)規(guī)范軟件開發(fā)計劃測試需求文檔<關(guān)聯(lián)軟件需求和設(shè)計文檔〉測試計劃【總的測試計劃和階段(迭代)測試計劃】;【各個類型的測試計劃】<測試計劃參考模版〉測試過程檢查單計劃階段需求分析階段測試方案軟件需求規(guī)格說明書測試方案概要設(shè)計階段(創(chuàng)建)詳細(xì)設(shè)計階段(更新)編碼階段(更新)測試設(shè)計測試方案軟件業(yè)務(wù)規(guī)范軟件測試計劃軟件需求文檔<關(guān)聯(lián)軟件需求和設(shè)計文檔>手工測試案例概要設(shè)計階段(創(chuàng)建)詳細(xì)設(shè)計階段(更新)編碼階段(更新)自動化測試案例及相關(guān)測試腳本詳細(xì)設(shè)計階段(更新)編碼階段(更新)系統(tǒng)測試實施前完成環(huán)境配置軟件/硬件資源<測試計劃>軟件配置文檔軟件部署和升級文檔配置測試環(huán)境版本更新系統(tǒng)測試之前測試實施測試計劃測試方案預(yù)測試報告系統(tǒng)缺陷(注意:系統(tǒng)測試管理<是個反復(fù)迭代的過
測試案例測試規(guī)程集成測試報告缺陷跟蹤)測試日志缺陷可跟蹤性文檔<缺陷對應(yīng)的測試案例及其他相關(guān)信息一一工具可以管理>程>測試報告測試計劃測試案例測試天/周小結(jié)任務(wù)報告系統(tǒng)測試階段6.2測試工作流程圖測試工作總體流程圖進(jìn)入下成段g下一階段七、測試方法按軟件測試技術(shù)分為黑盒測試、白盒測試和灰盒測試。它們在實現(xiàn)測試方法上,既包括了動態(tài)測試也包括了靜態(tài)測試。7.1黑盒測試黑盒測試(Black-boxTesting,又稱為功能測試或數(shù)據(jù)驅(qū)動測試):黑盒測試是通過軟件的外部表現(xiàn)來發(fā)現(xiàn)其缺陷和錯誤。這是在已知產(chǎn)品應(yīng)該具有的功能的情況下,通過測試來檢驗是否每個功能都能正常使用的測試方法。對于軟件測試而言,黑盒測試法把程序看作一個不能打開的黑盒子,完全不考慮程序內(nèi)部結(jié)構(gòu)和處理過程。黑盒測試是對程序接口進(jìn)行的測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。軟件的黑盒測試意味著測試要在軟件的接口處進(jìn)行。黑盒一般主要是為了發(fā)現(xiàn)以下幾類錯誤:1) 是否有不正確或遺漏的功能?2) 在接口上,輸入是否能正常的接受?能否輸出正確的結(jié)果?3) 是否有數(shù)據(jù)結(jié)構(gòu)錯誤或外部信息(如數(shù)據(jù)文件)訪問錯誤?4) 性能上是否能夠滿足要求?5) 是否有初始化或終止性錯誤?黑盒測試是根據(jù)規(guī)格說明所規(guī)定的功能來設(shè)計測試用例,它著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),針對軟件界面和軟件功能進(jìn)行測試。常用的黑盒測試用例設(shè)計方法主要有:等價類劃分法、邊界值分析法、錯誤猜測法、因果圖方法等,其他的一些測試用例方法還有判定表驅(qū)動法、正交實驗法、功能圖法,以及場景法等。下面擇其重點(diǎn)分別詳細(xì)討論之。等價類劃分法我們不能窮舉所有可能的輸入數(shù)據(jù)進(jìn)行測試,所以只能選取少量有代表性的輸入數(shù)據(jù),來揭露盡可能多的程序錯誤。把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每一個子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例.這就是等價類劃分法。該方法是一種重要的,常用的黑盒測試用例的設(shè)計方法.1) 劃分等價類:等價類是指某個輸入域的子集合.在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的.并合理地假定:測試某等價類的代表值就等于對這一類其它值的測試.因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價類,在每一個等價類中取一個數(shù)據(jù)作為測試的輸入條件,就可以用少量代表性的測試數(shù)據(jù).取得較好的測試結(jié)果.等價類劃分可有兩種不同的情況:有效等價類和無效等價類.有效等價類:是指對于程序的規(guī)格說明來說是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合.利用有效等價類可檢驗程序是否實現(xiàn)了規(guī)格說明中所規(guī)定的功能和性能.無效等價類:與有效等價類的定義恰巧相反.設(shè)計測試用例時,要同時考慮這兩種等價類.因為,軟件不僅要能接收合理的數(shù)據(jù),也要能經(jīng)受意外的考驗.這樣的測試才能確保軟件具有更高的可靠性.根據(jù)功能的說明,對每一個輸入條件(通常是說明中的一句話或一個短語)確定若干個有效等價類和若十個無效等價類。可使用表格形式,分別寫出輸入條件、有效等價類和無效等價類。在確定等價類時,可考慮下面給出的6條確定等價類的規(guī)則:如果某個輸入條件規(guī)定了值的范圍,那么可確定一個有效等價類(輸入值在此范圍內(nèi))和兩個無效等價類(輸入值分別是最小值和大于最大值的情況)。例如,規(guī)定考試成績在0~100之間,則有效等價類為“0<=成績<=100”;無效等價類為“成績<0”和“成績>100”。如果某個輸入條件規(guī)定了值的個數(shù),那么可確定一個有效等價類和兩個無效等價類。例如,規(guī)定每個運(yùn)動員的參賽項目數(shù)為1~3項,則有效等價類為“1<=項目數(shù)<=3”,無效等價類為“項目數(shù)<1”和“項目數(shù)>3”。如果某個輸入條件規(guī)定了一個輸入值的集合(即離散值),而且程序?qū)Σ煌妮斎胫底霾煌奶幚恚敲疵總€允許的值確定為一個有效等價類,另外還有一個無效等價類(任意一個不允許的輸入值)。例如,規(guī)定考試成績?yōu)椤皟?yōu)”、“良”、“中”、“及格”、“不及格”,則可確定5個有效等價類和一個無效等價類。如果某個輸入條件規(guī)定了輸入數(shù)據(jù)遵循的規(guī)則(如標(biāo)識符的第一字符必須是字母),那么可以確定一個有效等價類(符合此規(guī)則)和若十個無效等價類(從各種不同的角度違反規(guī)則)。如果某個輸入條件規(guī)定輸入數(shù)據(jù)是整型,那么可以確定3個有效等價類(正整數(shù)、零、負(fù)整數(shù))和一個無效等價類(非整數(shù))。如果某個輸入條件規(guī)定處理的對象是表格,那么可確定一個有效等價類(表有一項或多項)和一個無效等價類(空表格)。2)設(shè)計測試用例:在確立了等價類后,可建立等價類表,列出所有劃分出的等價類:輸入條件有效等價類無效等價類然后從劃分出的等價類中按以下三個原則設(shè)計測試用例:為每一個等價類規(guī)定一個唯一的編號.設(shè)計一個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋的有效等價類。重復(fù)這一步,直到所有的有效等價類都被覆蓋為止.設(shè)計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類,重復(fù)這一步.直到所有的無效等價類都被覆蓋為止.邊界值分析法長期的測試工作經(jīng)驗告訴我們,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部.因此針對各種邊界情況設(shè)計測試用例,可以查出更多的錯誤。使用邊界值分析方法設(shè)計測試用例,首先應(yīng)確定邊界情況.通常輸入和輸出等價類的邊界,就是應(yīng)著重測試的邊界情況.應(yīng)當(dāng)選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值作為測試數(shù)據(jù)。由于邊值分析方法所設(shè)計的測試用例,更有可能發(fā)現(xiàn)程序中的錯誤,因此經(jīng)常把邊值分析方法與其他設(shè)計測試用例的方法結(jié)合起來使用,邊界值分析方法是對等價類劃分方法的有效補(bǔ)充。基于邊界值分析方法選擇測試用例的原則:1) 如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個范圍的邊界的值,以及剛剛超越這個范圍邊界的值作為測試輸入數(shù)據(jù)。例如考試成績的范圍為0~100,則測試數(shù)據(jù)可分別為0,100,-1,101等。2) 如果輸入條件規(guī)定了值的個數(shù),則用最大個數(shù),最小個數(shù),比最小個數(shù)少一,比最大個數(shù)多一的數(shù)作為測試數(shù)據(jù)。例如運(yùn)動員的參賽項目為1~3項,則測試數(shù)據(jù)中的參賽項目可為1項、3項、4項等。3) 對每個輸出條件,使用前面的原則1)。4) 對每個輸出條件,使用前面的原則2)。5) 如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合(例如順序文件、線性表、表格),則應(yīng)選取集合的第一個元素和最后一個元素作為測試用例。例如輸出的表最多有999行,每50行為一頁,則可設(shè)計輸出0行(空表)、一行、50行、51行、999行等情況的測試用例。6) 如果程序中使用了一個內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試用例.7) 分析規(guī)格說明,找出其它可能的邊界條件.錯誤推測法錯誤推測法:基于經(jīng)驗和直覺推測程序中所有可能存在的各種錯誤,從而有針對性的設(shè)計測試用例的方法.錯誤推測方法的基本思想:列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)他們選擇測試用例.例如,在單元測試時曾列出的許多在模塊中常見的錯誤.以前產(chǎn)品測試中曾經(jīng)發(fā)現(xiàn)的錯誤等,這些就是經(jīng)驗的總結(jié).還有,輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況.輸入表格為空格或輸入表格只有一行.這些都是容易發(fā)生錯誤的情況.可選擇這些情況下的例子作為測試用例.因果圖方法前面介紹的等價類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系,相互組合等.考慮輸入條件之間的相互組合,可能會產(chǎn)生一些新的情況.但要檢查輸入條件的組合不是一件容易的事情,即使把所有輸入條件劃分成等價類,他們之間的組合情況也相當(dāng)多.因此必須考慮采用一種適合于描述對于多種條件的組合,相應(yīng)產(chǎn)生多個動作的形式來考慮設(shè)計測試用例.這就需要利用因果圖(邏輯模型).因果圖方法最終生成的就是判定表.它適合于檢查程序輸入條件的各種組合情況.利用因果圖生成測試用例的基本步驟:(1) 分析軟件規(guī)格說明描述中,那些是原因(即輸入條件或輸入條件的等價類),那些是結(jié)果(即輸出條件),并給每個原因和結(jié)果賦予一個標(biāo)識符.(2) 分析軟件規(guī)格說明描述中的語義.找出原因與結(jié)果之間,原因與原因之間對應(yīng)的關(guān)系.根據(jù)這些關(guān)系,畫出因果圖.(3) 由于語法或環(huán)境限制,有些原因與原因之間,原因與結(jié)果之間的組合情況不不可能出現(xiàn).為表明這些特殊情況,在因果圖上用一些記號表明約束或限制條件.(4) 把因果圖轉(zhuǎn)換為判定表.(5) 把判定表的每一列拿出來作為依據(jù),設(shè)計測試用例.從因果圖生成的測試用例(局部,組合關(guān)系下的)包括了所有輸入數(shù)據(jù)的取TRUE與取FALSE的情況,構(gòu)成的測試用例數(shù)目達(dá)到最少,且測試用例數(shù)目隨輸入數(shù)據(jù)數(shù)目的增加而線性地增加.前面因果圖方法中已經(jīng)用到了判定表.判定表(DecisionTable)是分析和表達(dá)多邏輯條件下執(zhí)行不同操作的情況下的工具.在程序設(shè)計發(fā)展的初期,判定表就已被當(dāng)作編寫程序的輔助工具了.由于它可以把復(fù)雜的邏輯關(guān)系和多種條件組合的情況表達(dá)得既具體又明確.判定表通常由四個部分組成.條件樁(ConditionStub):列出了問題得所有條件.通常認(rèn)為列出得條件的次序無關(guān)緊要.動作樁(ActionStub):列出了問題規(guī)定可能采取的操作.這些操作的排列順序沒有約束.條件項(ConditionEntry):列出針對它左列條件的取值.在所有可能情況下的真假值.動作項(ActionEntry):列出在條件項的各種取值情況下應(yīng)該采取的動作.規(guī)則:任何一個條件組合的特定取值及其相應(yīng)要執(zhí)行的操作.在判定表中貫穿條件項和動作項的一列就是一條規(guī)則.顯然,判定表中列出多少組條件取值,也就有多少條規(guī)則,既條件項和動作項有多少列.判定表的建立步驟:(根據(jù)軟件規(guī)格說明)確定規(guī)則的個數(shù).假如有n個條件.每個條件有兩個取值(0,1),故有種規(guī)則.列出所有的條件樁和動作樁.填入條件項.填入動作項.等到初始判定表.簡化.合并相似規(guī)則(相同動作).B.Beizer指出了適合使用判定表設(shè)計測試用例的條件:規(guī)格說明以判定表形式給出,或很容易轉(zhuǎn)換成判定表.條件的排列順序不會也不影響執(zhí)行哪些操作.規(guī)則的排列順序不會也不影響執(zhí)行哪些操作.每當(dāng)某一規(guī)則的條件已經(jīng)滿足,并確定要執(zhí)行的操作后,不必檢驗別的規(guī)則.如果某一規(guī)則得到滿足要執(zhí)行多個操作,這些操作的執(zhí)行順序無關(guān)緊要.7.1.2黑盒測試的優(yōu)點(diǎn)基本上不用人管著,如果程序停止運(yùn)行了一般就是被測試程序crash了設(shè)計完測試?yán)螅聛淼墓ぷ骶褪撬耍?dāng)然更苦悶的是確定crash原因7.1.3黑盒測試的缺點(diǎn)結(jié)果取決于測試?yán)脑O(shè)計,測試?yán)脑O(shè)計部分來勢來源于經(jīng)驗,OUSPG的東西很值得借鑒沒有狀態(tài)轉(zhuǎn)換的概念,目前一些成功的例子基本上都是針對PDU來做的,還做不到針對被測試程序的狀態(tài)轉(zhuǎn)換來作就沒有狀態(tài)概念的測試來說,尋找和確定造成程序crash的測試?yán)莻€麻煩事情,必須把周圍可能的測試?yán)龁为?dú)確認(rèn)一遍。而就有狀態(tài)的測試來說,就更麻煩了,尤其不是一個單獨(dú)的testcase造成的問題。這些在堆的問題中表現(xiàn)的更為突出。7.2白盒測試白盒測試,是一種結(jié)構(gòu)化測試,有時也稱為邏輯驅(qū)動測試,它與程序內(nèi)部結(jié)構(gòu)相關(guān),需要利用程序結(jié)構(gòu)的實現(xiàn)細(xì)節(jié)等知識,才能有效進(jìn)行測試用例的設(shè)計工作。白盒測試一般涉及程序設(shè)計風(fēng)格、控制方法、源語句、數(shù)據(jù)庫設(shè)計、編碼細(xì)節(jié)等。它是以熟悉產(chǎn)品的內(nèi)部工作過程為前提條件,把程序看成裝在一只透明的白盒子里,根據(jù)程序的內(nèi)部邏輯來設(shè)計測試用例,并通過測試來檢測產(chǎn)品內(nèi)部動作是否按照軟件模塊單元的詳細(xì)設(shè)計規(guī)格說明書中的規(guī)定正確地工作。用白盒測試產(chǎn)生的測試用例能夠:1) 保證一個模塊中的所有獨(dú)立路徑至少被使用一次;2) 對所有邏輯值均需測試true和false;3) 在上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán);4) 檢查內(nèi)部數(shù)據(jù)結(jié)構(gòu)以確保其有效性。由于邏輯錯誤和不正確假設(shè)與一條程序路徑被運(yùn)行的可能性成反比。由于我們經(jīng)常相信某邏輯路徑不可能被執(zhí)行,而事實上,它可能在正常的情況下被執(zhí)行。由于代碼中的筆誤是隨機(jī)且無法杜絕的,因此我們要進(jìn)行白盒測試。白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試,它是按照程序內(nèi)部的結(jié)構(gòu)測試程序,通過測試來檢測產(chǎn)品內(nèi)部動作是否按照設(shè)計規(guī)格說明書的規(guī)定正常進(jìn)行,檢驗程序中的每條通路是否都能按預(yù)定要求正確工作。白盒測試的目的:通過檢查軟件內(nèi)部的邏輯結(jié)構(gòu),對軟件中的邏輯路徑進(jìn)行覆蓋測試;在程序不同地方設(shè)立檢查點(diǎn),檢查程序的狀態(tài),以確定實際運(yùn)行狀態(tài)與預(yù)期狀態(tài)是否一致。白盒測試的特點(diǎn):依據(jù)軟件設(shè)計說明書進(jìn)行測試、對程序內(nèi)部細(xì)節(jié)的嚴(yán)密檢驗、針對特定條件設(shè)計測試用例、對軟件的邏輯路徑進(jìn)行覆蓋測試。白盒測試的實施步驟:測試計劃階段:根據(jù)需求說明書,制定測試進(jìn)度。測試設(shè)計階段:依據(jù)程序設(shè)計說明書,按照一定規(guī)范化的方法進(jìn)行軟件結(jié)構(gòu)劃分和設(shè)計測試用例。測試執(zhí)行階段:輸入測試用例,得到測試結(jié)果。測試總結(jié)階段:對比測試的結(jié)果和代碼的預(yù)期結(jié)果,分析錯誤原因,找到并解決錯誤。白盒測試的方法:總體上分為靜態(tài)方法和動態(tài)方法兩大類。靜態(tài)分析是一種不通過執(zhí)行程序而進(jìn)行測試的技術(shù)。靜態(tài)分析的關(guān)鍵功能是檢查軟件的表示和描述是否一致,沒有沖突或者沒有歧義。動態(tài)分析的主要特點(diǎn)是當(dāng)軟件系統(tǒng)在模擬的或真實的環(huán)境中執(zhí)行之前、之中和之后,對軟件系統(tǒng)行為的分析。動態(tài)分析包含了程序在受控的環(huán)境下使用特定的期望結(jié)果進(jìn)行正式的運(yùn)行。它顯示了一個系統(tǒng)在檢查狀態(tài)下是正確還是不正確。在動態(tài)分析技術(shù)中,最重要的技術(shù)是路徑和分支測試。下面要介紹的六種覆蓋測試方法屬于動態(tài)分析方法。7.2.1白盒測試的測試用例六種覆蓋方法首先為了下文的舉例描述方便,這里先給出一張程序流程圖。(本文以1995年軟件設(shè)計師考試的一道考試題目為例,圖中紅色字母代表程序執(zhí)行路徑)。
『TOandy>-80LIUI、語句覆蓋 二1) 主要特點(diǎn):語句覆蓋是最起碼的結(jié)構(gòu)覆蓋要求,語句覆蓋要求設(shè)計足夠多的測試用例,使得程序中每條語句至少被執(zhí)行一次。2) 用例設(shè)計:(如果此時將A路徑上的語句1-T去掉,那么用例如下)XY路徑15050OBDE29070OBCE3) 優(yōu)點(diǎn):可以很直觀地從源代碼得到測試用例,無須細(xì)分每條判定表達(dá)式。4) 缺點(diǎn):由于這種測試方法僅僅針對程序邏輯中顯式存在的語句,但對于隱藏的條件和可能到達(dá)的隱式邏輯分支,是無法測試的。在本例中去掉了語句1-T去掉,那么就少了一條測試路徑。在if結(jié)構(gòu)中若源代碼沒有給出else后面的執(zhí)行分支,那么語句覆蓋測試就不會考慮這種情況。但是我們不能排除這種以外的分支不會被執(zhí)行,而往往這種錯誤會經(jīng)常出現(xiàn)。再如,在Do-While結(jié)構(gòu)中,語句覆蓋執(zhí)行其中某一個條件分支。那么顯然,語句覆蓋對于多分支的邏輯運(yùn)算是無法全面反映的,它只在乎運(yùn)行一次,而不考慮其他情況。、判定覆蓋1) 主要特點(diǎn):判定覆蓋又稱為分支覆蓋,它要求設(shè)計足夠多的測試用例,使得程序中每個判定至少有一次為真值,有一次為假值,艮即程序中的每個分支至少執(zhí)行一次。每個判斷的取真、取假至少執(zhí)行一次。2) 用例設(shè)計:XY路徑19090OAE25050OBDE39070OBCE3)優(yōu)點(diǎn):判定覆蓋比語句覆蓋要多幾乎一倍的測試路徑,當(dāng)然也就具有比語句覆蓋更強(qiáng)的測試能力。同樣判定覆蓋也具有和語句覆蓋一樣的簡單性,無須細(xì)分每個判定就可以得到測試用例。
4)缺點(diǎn):往往大部分的判定語句是由多個邏輯條件組合而成(如,判定語句中包含AND、OR、CASE),若僅僅判斷其整個最終結(jié)果,而忽略每個條件的取值情況,必然會遺漏部分測試路徑。、條件覆蓋1) 主要特點(diǎn):條件覆蓋要求設(shè)計足夠多的測試用例,使得判定中的每個條件獲得各種可能的結(jié)果,即每個條件至少有一次為真值,有一次為假值。2) 用例設(shè)計:XY路徑19070OBC240OBD3) 優(yōu)點(diǎn):顯然條件覆蓋比判定覆蓋,增加了對符合判定情況的測試,增加了測試路徑。4) 缺點(diǎn):要達(dá)到條件覆蓋,需要足夠多的測試用例,但條件覆蓋并不能保證判定覆蓋。條件覆蓋只能保證每個條件至少有一次為真,而不考慮所有的判定結(jié)果。、判定/條件覆蓋1) 主要特點(diǎn):設(shè)計足夠多的測試用例,使得判定中每個條件的所有可能結(jié)果至少出現(xiàn)一次,每個判定本身所有可能結(jié)果也至少出現(xiàn)一次。2) 用例設(shè)計:XY路徑19090OAE25050OBDE39070OBCE47090OBCE3) 優(yōu)點(diǎn):判定/條件覆蓋滿足判定覆蓋準(zhǔn)則和條件覆蓋準(zhǔn)則,彌補(bǔ)了二者的不足。4) 缺點(diǎn):判定/條件覆蓋準(zhǔn)則的缺點(diǎn)是未考慮條件的組合情況。、條件組合覆蓋1) 主要特點(diǎn):要求設(shè)計足夠多的測試用例,使得每個判定中條件結(jié)果的所有可能組合至少出現(xiàn)一次。2) 用例設(shè)計:XY路徑19090OAE29070OBCE39030OBDE47090OBCE53090OBDE67070OBDE75050OBDE3)優(yōu)點(diǎn):多重條件覆蓋準(zhǔn)則滿足判定覆蓋、條件覆蓋和判定/條件覆蓋準(zhǔn)則。更改的判定/條件覆蓋要求設(shè)計足夠多的測試用例,使得判定中每個條件的所有可能結(jié)果至少出現(xiàn)一次,每個判定本身的所有可能結(jié)果也至少出現(xiàn)一次。并且每個條件都顯示能單獨(dú)影響判定結(jié)果。4)缺點(diǎn):線性地增加了測試用例的數(shù)量。、路徑覆蓋1) 主要特點(diǎn):設(shè)計足夠的測試用例,覆蓋程序中所有可能的路徑。2) 用例設(shè)計:XY路徑19090OAE25050OBDE39070OBCE47090OBCE3) 優(yōu)點(diǎn):這種測試方法可以對程序進(jìn)行徹底的測試,比前面五種的覆蓋面都廣。4) 缺點(diǎn):由于路徑覆蓋需要對所有可能的路徑進(jìn)行測試(包括循環(huán)、條件組合、分支選擇等),那么需要設(shè)計大量、復(fù)雜的測試用例,使得工作量呈指數(shù)級增長。而在有些情況下,一些執(zhí)行路徑是不可能被執(zhí)行的,如:If(!A)B++;If(!A)D--;這兩個語句實際只包括了2條執(zhí)行路徑,即A為真或假時候?qū)和D的處理,真或假不可能都存在,而路徑覆蓋測試則認(rèn)為是包含了真與假的4條執(zhí)行路徑。這樣不僅降低了測試效率,而且大量的測試結(jié)果的累積,也為排錯帶來麻煩。7.2.2、 白盒測試的優(yōu)點(diǎn)迫使測試人員去仔細(xì)思考軟件的實現(xiàn)可以檢測代碼中的每條分支和路徑揭示隱藏在代碼中的錯誤對代碼的測試比較徹底最優(yōu)化7.2.3、 白盒測試的缺點(diǎn)昂貴無法檢測代碼中遺漏的路徑和數(shù)據(jù)敏感性錯誤不驗證規(guī)格的正確性八、功能測試測試綱要:開發(fā)人員時常以自己寫的程序想當(dāng)然能實現(xiàn)什么功能為測試出發(fā)點(diǎn),總是認(rèn)為自己做的功能是沒有問題的,應(yīng)該拋棄這種想法。測試的時候應(yīng)該以想辦法來破壞這個程序為前提,想方設(shè)法讓程序不能正常運(yùn)行。根據(jù)需求編寫測試案例包括:正常測試案例-驗證基本功能是否通過異常測試案例-驗證程序是否存在漏洞1、對系統(tǒng)功能的測試對系統(tǒng)功能的測試保證系統(tǒng)功能符合功能需求,功能測試的清單如下:客戶要求的功能是否都已經(jīng)實現(xiàn)了?實現(xiàn)的功能與客戶的要求是否存在差異是否實現(xiàn)了客戶要求以外的功能,這些功能是否必須?實現(xiàn)功能的途徑是否太單一,用戶操作起來是否方便部分功能的實現(xiàn)效率是否低下,回應(yīng)時間是否太長?是否存在占用系統(tǒng)資源較多,導(dǎo)致機(jī)器工作放緩的現(xiàn)象對于用戶的各種輸入,是否會產(chǎn)生不可預(yù)知的錯誤,系統(tǒng)的回應(yīng)是否正確2、對界面的測試從以下幾方面測試用戶界面。對于窗口:?窗口能否基于相關(guān)的輸入或菜單命令適當(dāng)?shù)拇蜷_窗口能否改變大小、移動和滾動?窗口中的數(shù)據(jù)內(nèi)容能否用鼠標(biāo)、功能鍵、方向箭頭和鍵盤控制當(dāng)被覆蓋并重調(diào)用后,窗口能否正確地再生?所有窗口相關(guān)的功能是否可操作?是否有相關(guān)的下拉菜單、工具條、滾動條、對話框、按鈕、圖標(biāo)和其他控制為窗口使用,并適當(dāng)?shù)仫@示顯示多個窗口時,窗口的名稱是否被適當(dāng)?shù)谋硎净顒哟翱谑欠癖贿m當(dāng)?shù)募恿?如果使用多任務(wù),是否所有的窗口被實時更新?多次或不正確按鼠標(biāo)是否會導(dǎo)致無法預(yù)料的副作用窗口的聲音、顏色提示和窗口的操作順序是否符合要求窗口是否正確的關(guān)閉?窗口中的文字描述是否準(zhǔn)確對于下拉菜單和鼠標(biāo)操作:?菜單條是否顯示在合適的語境中?應(yīng)用程序的菜單條是否顯示系統(tǒng)相關(guān)的特性下拉式菜單能正確工作嗎菜單、調(diào)色板和工具條是否工作正確?是否能夠用其它的文本命令激活每個菜單功能?菜單功能是否隨當(dāng)前的窗口操作加亮或變灰菜單功能是否正確執(zhí)行?菜單功能的名字是否具有自解釋性菜單項是否有幫助,是否語境相關(guān)在整個交互式語境中,是否可以識別鼠標(biāo)操作?如果要求多次點(diǎn)擊鼠標(biāo),是否能夠在語境中正確識別如果鼠標(biāo)有多個按鈕,是否能夠在語境中正確識別光標(biāo)、處理指示器和識別指針是否隨操作恰當(dāng)?shù)母淖儗τ跀?shù)據(jù)項:字母數(shù)字?jǐn)?shù)據(jù)項是否能夠正確回顯,并輸入到系統(tǒng)中?圖形模式的數(shù)據(jù)項(如滑動條)是否正常工作是否能夠識別非法數(shù)據(jù)數(shù)據(jù)輸入消息是否可理解3、對用戶手冊測試對照如下項目檢查用戶手冊的可用性:手冊是否易于讓用戶尋找問題,要求手冊:>架構(gòu)良好>定義清晰>指示確切>索引完善手冊是否易于理解,要求手冊:>簡單易懂>自然,語言流暢>可讀性好手冊是否精確完整手冊與實際應(yīng)用是否一致手冊是否描述了相關(guān)問題及解決方法對照手冊進(jìn)行操作是否正確九、系統(tǒng)測試相容性測試■驗證系統(tǒng)能與硬件、軟件、資料庫相容或者能符合某種界面標(biāo)準(zhǔn)。■大部分的測試是原系統(tǒng)的測試個案■測試個案盡量以批次作業(yè)方式執(zhí)行,才能節(jié)省時間及成本壓力測試(詳見性能測試)■高負(fù)荷量測試■大量資料測試■極端不正常情況的測試■此種測試個案的設(shè)計目標(biāo)是“將產(chǎn)品系統(tǒng)當(dāng)?shù)簟倍嘀刈鳂I(yè)測試驗證多種不相關(guān)的作業(yè)可以同時執(zhí)行測試情況■交換邏輯■資源共用■死鎖作業(yè)系統(tǒng)架構(gòu)測試軟件架構(gòu)■作業(yè)系統(tǒng),■子系統(tǒng)主要測試各個子系統(tǒng)之間相互協(xié)調(diào)性合作性,檢查子系統(tǒng)之間有無沖突。安全性測試正確的人使用正確的資料使用權(quán)。根據(jù)不同的使用者分配不同的權(quán)限,對于有權(quán)限的管理部分是否根據(jù)不同的輸入可操作的范圍有相應(yīng)的改動,檢查是否有越權(quán)的行為。對于文件和數(shù)據(jù)庫的操作是否是有權(quán)限限制,不可以隨便增刪改。恢復(fù)性測試測試在以下幾種情況下系統(tǒng)恢復(fù)。■驗證軟硬件恢復(fù)正常的功能■可用起始程序載入或電源關(guān)閉方式來測試軟件效率性測試■驗證執(zhí)行效率符合客戶需求■透過效率測試找出系統(tǒng)的瓶頸,以做好系統(tǒng)調(diào)整■效率需求必須量化■這種測試必須可以重復(fù)■有時候與壓力測試一起■可量化的項目?系統(tǒng)產(chǎn)量?回應(yīng)時間?儲存容量?輸入/輸出速率?交易量可靠性測試■驗證系統(tǒng)在某一時段,某一負(fù)荷下,硬件不當(dāng)機(jī),軟件沒有問題使用性測試驗證產(chǎn)品容易使用一般由人體工學(xué)部門來執(zhí)行同時滿足新舊客戶的需求與喜好■產(chǎn)品手冊必須正確■清晰正確的解說■鍵盤的使用性安裝性測試在客戶環(huán)境下,驗證系統(tǒng)的■產(chǎn)品安裝■安裝程序■支援程序服務(wù)性測試驗證系統(tǒng)有問題時,解決問題的時效性。驗收測試■滿足客戶的要求■以客戶的立場來做測試十、性能測試下面主要介紹如果使用LoadRunner這個性能測試分析工具來測試和分析。測試原理:通過模擬多用戶通過訪問客戶端網(wǎng)頁的方式來測試WEB服務(wù)器、中間件、后臺數(shù)據(jù)庫等所能夠承受的壓力。下面詳細(xì)介紹3個環(huán)節(jié)。錄制測試腳本、場景模擬用戶并發(fā)、分析測試結(jié)果。
1、錄制測試腳本從開始菜單-程序-LoadRunner中啟動VisualUserGenerator通過菜單新建一個用戶腳本,選擇系統(tǒng)通訊的協(xié)議。這里我們需要測試的是Web應(yīng)用,所以我們需要選擇Web(HTTP/HTML)協(xié)議,確定后,進(jìn)入主窗體。
通過菜單來啟動錄制腳本的命令。在URL中添入要測試的Web站點(diǎn)地址,這里我們以融通的網(wǎng)上查詢?yōu)槔觼磉M(jìn)行錄制。由于先是登陸,所以Action選擇vuser_init點(diǎn)OK,即可彈出登陸網(wǎng)頁,此時做各種操作就可以被錄入腳本。譽(yù)理有限公司—>MANAQ^Ml^rwirCO.譽(yù)理有限公司—>MANAQ^Ml^rwirCO.ffOTO.| .WW7年5月約日15:1W:?指Recording... (1eventvuserinit生:P:月二開放式基金賬號登錄賬號類別: 基金賬號 二I基金賬號:查詢密碼:[密碼提示]番碼提示:初始查詢密碼為您開戶時提供的有效證件號碼的后六位,不足六位的在證件號碼前以“0"補(bǔ)齊,非字的以代替。輸入基金帳號和密碼,然后登陸系統(tǒng)。如果想并發(fā)測試此帳戶的交易明細(xì),則要把Action選擇為Action,如圖:并且在點(diǎn)交易名細(xì)按鈕前要設(shè)置集合點(diǎn)。(要做到并發(fā)的壓力,必須設(shè)置集合點(diǎn))設(shè)置集合點(diǎn):點(diǎn)中間這個紅色的按鈕。點(diǎn)中間這個紅色的按鈕。加入集合點(diǎn)后,在頁面上點(diǎn)交易明細(xì)按鈕。在Action中選擇vuser_end:然后點(diǎn)退出按鈕退出系統(tǒng)。然后關(guān)閉網(wǎng)頁。到此,錄制腳本初步工作已經(jīng)完成。優(yōu)化腳本:lr_think_time;如果是想找系統(tǒng)瓶頸或是檢驗系統(tǒng)壓里承受情況,建議去掉腳本里所有的lr_think_time。(直接刪除lr_think_time這一行即可)加載頁面優(yōu)化。如果運(yùn)行l(wèi)oadrunner的機(jī)器性能不是太好,建議去掉腳本里加載的其他頁面。類似下面的腳本:web_submit_data("VtheU.jsp","Action=/webquery/VtheU.jsp”,"Method=POST","RecContentType=text/html","Referer=/web/index.jsp”,"Snapshot=t14.inf","Mode=HTML”,ITEMDATA,"Name=flag_type","Value=0",ENDITEM,"Name=IdType","Value=1",ENDITEM,"Name=TAAccountId","Vilue=162600606287",ENDITEM,"Name=password","Value=715683",ENDITEM,LAST);是登陸的腳本,不能去掉。類似下面的腳本:web_url("index.jsp”,"URL=/web/index.jsp”,"Resource=0","RecContentType=text/html","Referer=","Snapshot=t1.inf”,"Mode=HTML”,EXTRARES,"Url=images/2a.jpg",ENDITEM,"Url=images/12.jpg",ENDITEM,"Url=lunt.swf",ENDITEM,"Url=images/19.jpg",ENDITEM,"Url=images/35.jpg",ENDITEM,"Url=images/11.jpg",ENDITEM,"Url=images/36.jpg",ENDITEM,"Url=images/41.jpg",ENDITEM,"Url=images/28.jpg",ENDITEM,"Url=images/fund_spot.jpg",ENDITEM,"Url=images/fund_back_01.jpg",ENDITEM,"Url=ad20070523.swf",ENDITEM,"Url=images/39.jpg",ENDITEM,"Url=images/37.jpg",ENDITEM,"Url=images/40.jpg",ENDITEM,"Url=images/38.jpg",ENDITEM,"Url=images/14.jpg",ENDITEM,"Url=images/1.gif",ENDITEM,"Url=images/index_title_back_02.gif",ENDITEM,"Url=images/49.jpg",ENDITEM,"Url=images/55.jpg",ENDITEM,"Url=images/51.jpg",ENDITEM,"Url=images/2.gif",ENDITEM,"Url=images/64.jpg",ENDITEM,"Url=images/16.jpg",ENDITEM,"Url=images/tzzjyzl.jpg",ENDITEM,"Url=images/73.jpg",ENDITEM,"Url=images/75.jpg",ENDITEM,"Url=images/74.jpg",ENDITEM,"Url=images/jjxf1222.gif",ENDITEM,"Url=images/79.jpg",ENDITEM,"Url=images/80.jpg",ENDITEM,"Url=images/show_logo.gif",ENDITEM,"Url=images/aa1.jpg",ENDITEM,"Url=images/54.jpg",ENDITEM,"Url=images/81.jpg",ENDITEM,"Url=images/aa.jpg",ENDITEM,"Url=images/82.jpg",ENDITEM,"Url=images/84.jpg",ENDITEM,"Url=images/85.jpg",ENDITEM,"Url=images/86.jpg",ENDITEM,"Url=images/90.jpg",ENDITEM,"Url=images/92.jpg",ENDITEM,"Url=images/91.jpg",ENDITEM,"Url=images/94.jpg",ENDITEM,"Url=images/93.jpg",ENDITEM,"Url=images/95.jpg",ENDITEM,"Url=images/98.jpg",ENDITEM,"Url=images/77.jpg",ENDITEM,"Url=images/71.jpg",ENDITEM,"Url=images/96.jpg",ENDITEM,"Url=/htmdata/gifindex/sh_000001.png",ENDITEM,"Url=/htmdata/gifindex/sz_399001.png",ENDITEM,"Url=images/18.jpg",ENDITEM,"Url=images/13.jpg",ENDITEM,"Url=images/42.jpg",ENDITEM,"Url=images/news.gif”,ENDITEM,"Url=images/53.jpg",ENDITEM,"Url=images/66.jpg",ENDITEM,"Url=images/70.jpg",ENDITEM,"Url=images/72.jpg",ENDITEM,"Url=images/76.jpg",ENDITEM,"Url=images/78.jpg",ENDITEM,"Url=images/83.jpg",ENDITEM,"Url=images/87.jpg",ENDITEM,"Url=images/101.jpg",ENDITEM,"Url=images/97.jpg",ENDITEM,"Url=images/88.jpg",ENDITEM,"Url=images/65.jpg",ENDITEM,"Url=images/17.jpg",ENDITEM,"Url=images/fund_spot_02.jpg",ENDITEM,"Url=images/index_title_back_01.gif”,ENDITEM,"Url=images/50.jpg",ENDITEM,"Url=images/zp2005121904.GIF",ENDITEM,"Url=images/jjwsjy.gif”,ENDITEM,LAST);為加載圖片等,可以試著去掉。注:在優(yōu)化前先保持完整腳本。優(yōu)化一個頁面運(yùn)行一下,結(jié)果為全部通過即為可以優(yōu)化。此按鈕可以運(yùn)行腳本。此按鈕可以運(yùn)行腳本。StatusTimesPassed15Failed0Warnings0上圖為正常腳本運(yùn)行結(jié)果。優(yōu)化結(jié)束后保存腳本。假設(shè)為:
2、模擬并發(fā)場景從開始菜單-程序-LoadRunner中啟動Controller進(jìn)入如下畫面:SelectScenarioTypef*ManualScenarioManageyourloadtestbvspecifyingthenumberofvirtualuserstorun~UsethePercentageModetodistributetheVusersamongthescriptsGoal-OrientedScenarioAllowLoadRunnerControllertocreateascenariobasedonthegoalsyouspecifySelectthescript(s)youwouldliketouseinyourscenarioAvailableScriptsScriptsinScenarioAvailableScripts直KT網(wǎng)站助汲I]試直KT網(wǎng)站助汲I]試sohu助網(wǎng)上查詢一份額余額助網(wǎng)上查詢一份額余額」網(wǎng)上查詢一明細(xì)助網(wǎng)上查詢一登陸助網(wǎng)上查詢一登陸」助網(wǎng)上查詢一登陸_Qld自FJ1LK和Sfclth.13.IIIvr國Add==>>9Showatstartup點(diǎn)擊Add9Showatstartup點(diǎn)擊Add然后OK。□K|Cancel|Help如上圖:這里就是并發(fā)數(shù)在這里,需要說明一點(diǎn)①EditSchedule...按鈕,然后在第2個選項可以設(shè)置參數(shù)RampUpDurationRampDownRunSettings區(qū)^Flununtiicompletion廣Runfor|000:05:00Q(HHH:MM:SS)aftertherampuphasbeencompletedRunindefinitely第一個參數(shù)是并發(fā)一次,完成后就停止。第3個參數(shù)是一直運(yùn)行。如果要得到并發(fā)的響應(yīng)時間這個性能指標(biāo),用第1個參數(shù)。如果要不斷給系統(tǒng)加壓,來檢驗系統(tǒng)是否能長時間承受,用第3個參數(shù)。苜|(zhì)?StartScenario設(shè)置好參數(shù),點(diǎn)擊一——= 按鈕就可以開始并發(fā)測試了。此時run下面為10,表明10個并發(fā)已經(jīng)加上,正在執(zhí)行。此圖表示已經(jīng)執(zhí)行完畢。并且全部通過。3、分析測試結(jié)果接上:并發(fā)執(zhí)行完成以后,從Controller界面的Results打開analyzeResults3.1、并發(fā)響應(yīng)時間。在analyzeResults中左側(cè)點(diǎn)擊SummaryReport就可以查看整個測試的結(jié)果。
-駕SessionUra<NewGraph)Rep□什IRunningVusers-駕SessionUra<NewGraph)Rep□什IRunningVusersHitsperSecondThroughputTransactionSummanr'.AverageTransactimnPeriod:24-0.5-2007ll:20:.56-24-05-200711:21:AnalysisSummatvScenarioName:ResultsinSession:Duration:ScenariolC:\DocumentsandSettings\hezhou\LocalSettings\Temp\res\res.lrr57seconds.53StatisticsSummaryMaximumRunningAusers: 10TMalThroughputfbHe:。: 5.,796.,801AverageThroudhputfbytes/sesnd):y9.,945TotalHits: 8130AverageHit旨uerSecond: 15.172ViewHTTPResuonsesSummarvTransactionSummaryTransactions:TotalPassed:30TotalFailed:0TotalStopped:0AveraaeResuonseTimeTransactionNameMinimumAverageMaximumStd.Deviation90PercentPassFailStopActionTran狷匚;ticm19.36836.25154.46311.99352.7721000VLigerendTranmaction000001000VLigerinitTranmaction000001000圖的下方為響應(yīng)時間:(*)T「日「15日匚:如「iwTotaIPassed:3uTutaIFailed:uTutaIStopped:u "心mneR巳§口口「1」巳Tim巳TransactionNameMinimumAverageMaKimumStd.Deviation90PercentPassStopActi口「iTE「iwctiu「i19.36836.25154.46311.99352.77210002、解析頁面,查看各個子頁面響應(yīng)時間。在analyzeResults中左側(cè)點(diǎn)擊AverageTransaction選Color|Scale|Measurement|Graph'sMini...|Graph'sAve...|Graph'sMax...|Gnaph'sMe...|Graph'sStd.1I.ActionTransactionI19.368I36.251I54.463I35.823I11.993點(diǎn)右鍵再選擇Webpagebreakdown,如圖:selectedlineAutoCorrelate...匚血|Scale回.ActionTranSduuuff1□.□DO■_ii_i.lL.j1|Graph'sMax...Graph'sMe...54.463 35.823LegendGraphDetails|UserNobbdeasurerrSortbythiscolijirinCanti田irec■:'IwrinE...vuser_end_TransactionvuserinitTransactionselectedlineAutoCorrelate...匚血|Scale回.ActionTranSduuuff1□.□DO■_ii_i.lL.j1|Graph'sMax...Graph'sMe...54.463 35.823LegendGraphDetails|UserNobbdeasurerrSortbythiscolijirinCanti田irec■:'IwrinE...vuser_end_TransactionvuserinitTransaction
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖北國土資源職業(yè)學(xué)院《水族景觀規(guī)劃與設(shè)計實驗》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川省南充市順慶區(qū)2024-2025學(xué)年初三下學(xué)期教學(xué)情況調(diào)研(一)化學(xué)試題試卷含解析
- 浙江省安慶市2024-2025學(xué)年四年級數(shù)學(xué)第二學(xué)期期末統(tǒng)考試題含解析
- 河南職業(yè)技術(shù)學(xué)院《影視文化》2023-2024學(xué)年第二學(xué)期期末試卷
- 天府新區(qū)信息職業(yè)學(xué)院《辦公空間設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川省廣安市鄰水縣重點(diǎn)名校2024-2025學(xué)年中考語文試題命題比賽模擬試卷(14)含解析
- 汽車配件零售店市場營銷策劃考核試卷
- 畜牧養(yǎng)殖廢棄物處理與資源化利用技術(shù)的研究與開發(fā)考核試卷
- 電子清洗設(shè)備考核試卷
- 律師體育賽事轉(zhuǎn)播權(quán)法律事務(wù)考核試卷
- 石家莊市存量房買賣合同
- 高一離子方程式書寫專題訓(xùn)練及答案
- 張元鵬《微觀經(jīng)濟(jì)學(xué)》(中級教程)筆記和課后習(xí)題詳解
- 如何有效管理90-00后新員工技巧方法-123課件
- 第十三講 全面貫徹落實總體國家安全觀PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 人教版語文能力層級-·-教材-·-中考
- 浙江省公安民警心理測驗考試題目
- ds-c10h多屏控制器軟件用戶手冊
- GB/T 41771.1-2022現(xiàn)場設(shè)備集成第1部分:概述
- GB/T 4822-2015鋸材檢驗
- 道路旅客運(yùn)輸經(jīng)營申請表
評論
0/150
提交評論