軟件測(cè)試基礎(chǔ)

一、測(cè)試?yán)碚摶A(chǔ)

? ? 1.軟件的三個(gè)要素:程序(實(shí)行特定功能的代碼)? 文檔(支持代碼運(yùn)行) 數(shù)據(jù)(支持程序運(yùn)行一切有關(guān)).

? ? 2.軟件測(cè)試的目的:1)驗(yàn)證軟件是否滿足 軟件開發(fā)合同 或者項(xiàng)目開發(fā)計(jì)劃,系統(tǒng)/子系統(tǒng)設(shè)計(jì)文檔,軟件需求規(guī)格說(shuō)明,軟件產(chǎn)品說(shuō)明等規(guī)定的軟件質(zhì)量要求 2)通過(guò)測(cè)試,發(fā)現(xiàn)軟件缺陷? 3)為軟件產(chǎn)品的質(zhì)量測(cè)量和評(píng)價(jià)提供依據(jù).

????3.軟件測(cè)試的標(biāo)準(zhǔn)4個(gè)過(guò)程,以及對(duì)應(yīng)的解釋 1)測(cè)試策劃:只要是進(jìn)行測(cè)試的需求分析 和 測(cè)試計(jì)劃的編寫 2)測(cè)試設(shè)計(jì): 依據(jù)測(cè)試需求,分析并選用,已由的測(cè)試用例或者設(shè)計(jì)新的測(cè)試用例,在進(jìn)入下一個(gè)階段工作之前,應(yīng)該通過(guò),測(cè)試就緒評(píng)審 3)測(cè)試執(zhí)行,執(zhí)行測(cè)試用例,獲取測(cè)試結(jié)果 分析并判定 設(shè)計(jì)結(jié)果 4)測(cè)試總結(jié):整理和分析 測(cè)試數(shù)據(jù) ,評(píng)價(jià) 測(cè)試效果和被測(cè)軟件項(xiàng),描述 測(cè)試狀態(tài) 最后完成軟件測(cè)試報(bào)告并通過(guò)測(cè)試評(píng)審.

????4.測(cè)試用例設(shè)計(jì)的基本原則:1)基于測(cè)試需求的原則 2)基于測(cè)試方法的原則 3)兼顧 測(cè)試充分性 和 效率的原則 4)執(zhí)行用例的可再現(xiàn)性原則.

? ? 5.軟件的內(nèi)部質(zhì)量 ,可以從哪六大特性進(jìn)行解釋?

????六大特性:

????功能性:當(dāng)軟件在指定條件下使用時(shí),軟件產(chǎn)品 提供 滿足 明確的和隱含的能力,包括適合性,準(zhǔn)確性,互操作性,安全保密性,依從性

????可靠性:在指定條件下使用時(shí) 軟件產(chǎn)品維持規(guī)定的性能級(jí)別的能力;包括,成熟性,容錯(cuò)性,易恢復(fù)性,依從性

????易用性:在指定條件下使用 軟件產(chǎn)品被理解被學(xué)習(xí) 使用和 吸引用戶的能力? 包括 易學(xué)性 易操作性 吸引性 依從性

????效率性:在規(guī)定條件下 軟件產(chǎn)品執(zhí)行其功能時(shí)使用合適數(shù)量和類別資源的能力;包括 資源利用性 和效率依從性 、?

????維護(hù)性:軟件產(chǎn)品 可以被修改的能力可能包括 糾正 改進(jìn) 軟件對(duì)環(huán)境 需求 和功能規(guī)格說(shuō)明變化的適應(yīng) 包括,易分析性,易改變性,穩(wěn)定性,易測(cè)試性,依從性

????可移植性:軟件產(chǎn)品 從一種環(huán)境遷移到另外一種環(huán)境的能力,包括,適應(yīng)性,易安裝性,共存性,易替換性,可移植性的依從性。

????6.軟件按照生命周期可以分為哪些測(cè)試? 單元測(cè)試,集成測(cè)試,配置項(xiàng)測(cè)試(也叫作軟件合格性測(cè)試或確認(rèn)測(cè)試),系統(tǒng)測(cè)試,驗(yàn)收測(cè)試。

???? 回歸測(cè)試可以分布在上述每個(gè)測(cè)試類別中,貫穿整個(gè)軟件生命周期,所以單獨(dú)分類描述。

? ? 7.?回歸測(cè)試的目的是什么?

???? 1) 測(cè)試軟件變更之后,變更部分 的正確性 針對(duì)變更需求的 復(fù)合型

???? 2)測(cè)試軟件變更之后 軟件原有的 正確的功能 性能和其他規(guī)定的要求的 不損害性。

????8.每一個(gè)階段測(cè)試基于的文檔是什么? 單元測(cè)試:軟件設(shè)計(jì)文檔。 集成測(cè)試:軟件結(jié)構(gòu)設(shè)計(jì)文檔。配置項(xiàng)測(cè)試:需求規(guī)格說(shuō)明書(接口需求規(guī)格說(shuō)明)。系統(tǒng)測(cè)試:用戶需求(研制合同或系統(tǒng)需求)。驗(yàn)收測(cè)試:軟件研制合同(用戶需求或系統(tǒng)需求).

? ? 9.什么是靜態(tài)測(cè)試 什么是動(dòng)態(tài)測(cè)試?

? ? 1)靜態(tài)測(cè)試:又稱為靜態(tài)分析結(jié)束,其基本特征是 不執(zhí)行被測(cè)軟件,根據(jù)檢查列表,對(duì)需求分析說(shuō)明書,軟件設(shè)計(jì)說(shuō)明書,源程序做結(jié)構(gòu)檢查,流程圖分析等找出軟件錯(cuò)誤,靜態(tài)測(cè)試一般采用人工分析(針對(duì)文檔),也可以用靜態(tài)分析測(cè)試工具來(lái)進(jìn)行(代碼掃描)

? ? 2)動(dòng)態(tài)測(cè)試:其基本特征是執(zhí)行被測(cè)試程序。通過(guò)執(zhí)行結(jié)果,分析軟件可能出現(xiàn)的錯(cuò)誤 ,一般由人工設(shè)計(jì)程序測(cè)試用例,也可以由測(cè)試工具做檢查和分析。

? ? 10.什么是黑盒測(cè)試,什么是白盒測(cè)試?

? ? 1)黑盒測(cè)試:又稱為功能測(cè)試,數(shù)據(jù)驅(qū)動(dòng)測(cè)試,或者基于規(guī)格說(shuō)明的測(cè)試,這種測(cè)試不必要了解 對(duì)象的內(nèi)部邏輯結(jié)構(gòu),而是根據(jù)需求說(shuō)明書中的功能來(lái)設(shè)計(jì)測(cè)試用例

? ? 2)白盒測(cè)試:又稱,結(jié)構(gòu)測(cè)試。邏輯測(cè)試或者基于程序的測(cè)試,這種測(cè)試 應(yīng)了解軟件程序的內(nèi)部構(gòu)造,并且根據(jù)內(nèi)部構(gòu)造 來(lái)設(shè)計(jì)測(cè)試用例。

? ? 一般單元測(cè)試采用白盒測(cè)試, 配置項(xiàng)或系統(tǒng)采用黑盒測(cè)試。

二、測(cè)試用例設(shè)計(jì)

? ? 1.等價(jià)類劃分:某個(gè)輸入域的集合,在這個(gè)集合中每個(gè)輸入條件都是等效的,如果其中一個(gè)的輸入不能導(dǎo)致問(wèn)題發(fā)生,那么集合中其它輸入條件進(jìn)行測(cè)試也不太可能發(fā)現(xiàn)錯(cuò)誤。

? ????? 1)有效等價(jià)類:有效等價(jià)類是程序規(guī)格說(shuō)明有意義,合理的輸入數(shù)據(jù)。

????????比如用正確的用戶名和密碼來(lái)登錄系統(tǒng)就是有效等價(jià)類。

? ? ????2)無(wú)效等價(jià)類:無(wú)效等價(jià)類是程序規(guī)格說(shuō)明無(wú)意義,不合理的輸入數(shù)據(jù)。

  ????比如用不存在的用戶名和密碼來(lái)登錄系統(tǒng)就是無(wú)效的等價(jià)類。

? ? ????3)等價(jià)類法設(shè)計(jì)測(cè)試用例的步驟:

? ??????????為每個(gè)輸入劃分等價(jià)類,得到等價(jià)類表,為每個(gè)等價(jià)類規(guī)定一個(gè)唯一編號(hào)。

  ????設(shè)計(jì)一個(gè)測(cè)試用例,使其盡可能多的覆蓋所有尚未覆蓋的有效等價(jià)類。重復(fù)這一步驟,使得有效等價(jià)類均被測(cè)試用例所覆蓋設(shè)計(jì)一個(gè)測(cè)試用例,使其只覆蓋一個(gè)無(wú)效等價(jià)類。重復(fù)這一步驟使得所有無(wú)效等價(jià)類均被覆蓋。

? ??2.邊界值分析:邊界值分析方法的理論基礎(chǔ)是假定大多數(shù)的錯(cuò)誤是發(fā)生在各種輸入條件的邊界上,如果在邊界附近的取值不會(huì)導(dǎo)致程序出錯(cuò),那么其它的取值導(dǎo)致程序錯(cuò)誤的可能性也很小。

? ? 1)邊界值分析法設(shè)計(jì)用例的步驟? ??

  分析輸入?yún)?shù)的類型:從測(cè)試規(guī)格中分析得到輸入?yún)?shù)類型

  等價(jià)類劃分(可選):對(duì)于輸入等價(jià)類劃分方法進(jìn)行等價(jià)類的劃分

  確定邊界:運(yùn)用域測(cè)試分析方法確定域范圍的邊界(上點(diǎn)、離點(diǎn)與內(nèi)點(diǎn))

  相關(guān)性分析(可選):如果存在多個(gè)輸入域,則需要運(yùn)用因果圖、判定表方法這些輸入域邊界值的組合情況進(jìn)行進(jìn)一步分析

? ??3.決策表:決策表是分析和表達(dá)多種輸入條件下系統(tǒng)執(zhí)行不同動(dòng)作的工具,它可以把復(fù)雜的邏輯關(guān)系和多種條件組合的情況表達(dá)得既具體又明確 。

? ??1)決策表法設(shè)計(jì)用例的步驟

 ????列出所有的條件樁和動(dòng)作樁

 ????填入條件樁、條件項(xiàng)

 ????填入動(dòng)作樁、動(dòng)作項(xiàng)

 ????化簡(jiǎn),合并相似規(guī)則

 ????將每條規(guī)則轉(zhuǎn)化為用例

三、測(cè)試流程

????1.需求分析階段:只要就是對(duì)業(yè)務(wù)的學(xué)習(xí),分析需求點(diǎn)。

????2.測(cè)試計(jì)劃階段:測(cè)試組長(zhǎng)就要根據(jù)SOW開始編寫《測(cè)試計(jì)劃》,其中包括人員,軟件硬件資源,測(cè)試點(diǎn),集成順序,進(jìn)度安排和風(fēng)險(xiǎn)識(shí)別等內(nèi)容。

????3.測(cè)試設(shè)計(jì)階段:測(cè)試方案一般由對(duì)需求很熟的高資深的測(cè)試工程師設(shè)計(jì),測(cè)試方案要求根據(jù)《SRS》上的每個(gè)需求點(diǎn)設(shè)計(jì)出包括需求點(diǎn)簡(jiǎn)介,測(cè)試思路和詳細(xì)測(cè)試方法三部分的方案?!稖y(cè)試方案》編寫完成后也需要進(jìn)行評(píng)審。

????4.測(cè)試方案階段:主要是對(duì)測(cè)試用例和規(guī)程的設(shè)計(jì)。測(cè)試用例是根據(jù)《測(cè)試方案》來(lái)編寫的,通過(guò)《測(cè)試方案》階段,測(cè)試人員對(duì)整個(gè)系統(tǒng)需求有了詳細(xì)的理解。這時(shí)開始編寫用例才能保證用例的可執(zhí)行和對(duì)需求的覆蓋。測(cè)試用例需要包括測(cè)試項(xiàng),用例級(jí)別,預(yù)置條件,操作步驟和預(yù)期結(jié)果。其中操作步驟和預(yù)期結(jié)果需要編寫詳細(xì)和明確。測(cè)試用例應(yīng)該覆蓋測(cè)試方案,而測(cè)試方案又覆蓋了測(cè)試需求點(diǎn),這樣才能保證客戶需求不遺漏。同樣,測(cè)試用例也需要評(píng)審。

????5.測(cè)試執(zhí)行階段:執(zhí)行測(cè)試用例,及時(shí)提交有質(zhì)量的Bug和測(cè)試日?qǐng)?bào),測(cè)試報(bào)告等相關(guān)文檔。

? ? 6.測(cè)試目標(biāo):指定完整且具體的測(cè)試路線和流程,為快速、高效和高質(zhì)量的軟件測(cè)試提供基礎(chǔ)流程框架。最終目標(biāo)是實(shí)現(xiàn)軟件的測(cè)試規(guī)范化和標(biāo)準(zhǔn)化

四、功能測(cè)試

? ? 1.功能測(cè)試:又稱黑盒測(cè)試;顧名思義就是一個(gè)盒子內(nèi)部是黑色的,我們只能看見它的外部(表面);功能測(cè)試就是不考慮內(nèi)部結(jié)構(gòu),僅對(duì)外部功能進(jìn)行測(cè)試。

????2.功能測(cè)試的全流程

? ? ? ? 1)測(cè)試計(jì)劃 :描述了要進(jìn)行的測(cè)試活動(dòng)的范圍、方法、資源和進(jìn)度的文檔;是對(duì)整個(gè)信息系統(tǒng)應(yīng)用軟件組裝測(cè)試和確認(rèn)測(cè)試。它確定測(cè)試項(xiàng)、被測(cè)特性、測(cè)試任務(wù)、誰(shuí)執(zhí)行任務(wù)、各種可能的風(fēng)險(xiǎn)。測(cè)試計(jì)劃可以有效預(yù)防計(jì)劃的風(fēng)險(xiǎn),保障計(jì)劃的順利實(shí)施。

? ? ? ? 格式:概述、測(cè)試范圍、測(cè)試組網(wǎng)圖、資源需求、測(cè)試條件、測(cè)試進(jìn)度、測(cè)試準(zhǔn)則、測(cè)試風(fēng)險(xiǎn)分析、測(cè)試策略、測(cè)試功能點(diǎn)、工作交付圖。

? ? ? ? 2)測(cè)試用例:是軟件測(cè)試的核心,是一組條件或變量,測(cè)試者根據(jù)它來(lái)確定應(yīng)用軟件或軟件系統(tǒng)是否正確工作。確定軟件程序或系統(tǒng)是否通過(guò)測(cè)試的方法叫做測(cè)試準(zhǔn)則。

? ? ? ? 格式:產(chǎn)品名稱、所屬模塊、子模塊、用例編號(hào)、用例名稱、前置條件、操作步驟、預(yù)期結(jié)果、實(shí)際結(jié)果、測(cè)試人員、用例等級(jí)、用例類型、修改說(shuō)明。

? ? ? ? 3)測(cè)試執(zhí)行:結(jié)果分為四類:通過(guò)(Pass)、失?。‵ail)、跳過(guò)(Skip)、受阻(Block)

? ??????“通過(guò)”的測(cè)試用例表明該測(cè)試用例可以執(zhí)行,而且沒(méi)有發(fā)現(xiàn)軟件缺陷;

????????“失敗”的測(cè)試用例表明該測(cè)試用例可以執(zhí)行,而且發(fā)現(xiàn)了軟件缺陷;

? ? ? ? ”跳過(guò)“的測(cè)試用例表明該測(cè)試用例不適用于本輪測(cè)試而沒(méi)有執(zhí)行;

????????“受阻”的測(cè)試用例表明本測(cè)試用例無(wú)法正常執(zhí)行。

? ? ? ? 4)提Bug:?軟件的BUG,狹義概念是指軟件程序的漏洞或缺陷,廣義概念除此之外還包括測(cè)試工程師或用戶所發(fā)現(xiàn)和提出的軟件可改進(jìn)的細(xì)節(jié)、或與需求文檔存在差異的功能實(shí)現(xiàn)等。

? ? ? ? Bug類型:功能問(wèn)題、設(shè)計(jì)缺陷、界面優(yōu)化、性能問(wèn)題、配置相關(guān)、安裝部署、安全相關(guān)、標(biāo)準(zhǔn)規(guī)范、測(cè)試腳本、文檔錯(cuò)誤、兼容問(wèn)題、用戶體驗(yàn)、其它。

? ? ? ? Bug等級(jí):1、致命錯(cuò)誤(1級(jí)提BUG需慎重)????2、嚴(yán)重錯(cuò)誤? ? 3、一般錯(cuò)誤? ??4、細(xì)微錯(cuò)誤

? ? ? ? 5)測(cè)試報(bào)告:把測(cè)試的過(guò)程和結(jié)果寫成文檔,對(duì)發(fā)現(xiàn)的問(wèn)題和缺陷進(jìn)行分析,為糾正軟件的存在的質(zhì)量問(wèn)題提供依據(jù),同時(shí)為軟件驗(yàn)收和交付打下基礎(chǔ)。

? ? ? ? 格式:簡(jiǎn)介、測(cè)試資源描述、測(cè)試時(shí)間統(tǒng)計(jì)、測(cè)試用例分析、缺陷情況分析、版本質(zhì)量分析、測(cè)試活動(dòng)評(píng)估、測(cè)試過(guò)程改進(jìn)。

五、接口測(cè)試

????1.fiddler介紹:Fiddler是一個(gè)http協(xié)議調(diào)試代理工具,它能夠記錄并檢查所有你的電腦和互聯(lián)網(wǎng)之間的http通訊,設(shè)置斷點(diǎn),查看所有的"進(jìn)出"Fiddler的數(shù)據(jù)(指cookie,html,js,css等文件)。

? ? 2.使用:Fiddler支持?jǐn)帱c(diǎn)調(diào)試技術(shù),當(dāng)你在軟件的菜單-rules-automatic breakpoints選項(xiàng)選擇before request,或者當(dāng)這些請(qǐng)求或響應(yīng)屬性能夠跟目標(biāo)的標(biāo)準(zhǔn)相匹配,F(xiàn)iddler就能夠暫停Http通訊,并且允許修改請(qǐng)求和響應(yīng)。

? ? 3.HTTP協(xié)議

? ? ? ? 1)請(qǐng)求:

????????GET???? 請(qǐng)求獲取Request-URI所標(biāo)識(shí)的資源

????????POST??? 在Request-URI所標(biāo)識(shí)的資源后附加新的數(shù)據(jù)

????????HEAD??? 請(qǐng)求獲取由Request-URI所標(biāo)識(shí)的資源的響應(yīng)消息報(bào)頭

????????PUT???? 請(qǐng)求服務(wù)器存儲(chǔ)一個(gè)資源,并用Request-URI作為其標(biāo)識(shí)

????????DELETE? 請(qǐng)求服務(wù)器刪除Request-URI所標(biāo)識(shí)的資源

????????TRACE?? 請(qǐng)求服務(wù)器回送收到的請(qǐng)求信息,主要用于測(cè)試或診斷

????????CONNECT 保留將來(lái)使用

????????OPTIONS 請(qǐng)求查詢服務(wù)器的性能,或者查詢與資源相關(guān)的選項(xiàng)和需求

? ? ? ? 2)響應(yīng):

????????200 OK????? //客戶端請(qǐng)求成功

????????400 Bad Request? //客戶端請(qǐng)求有語(yǔ)法錯(cuò)誤,不能被服務(wù)器所理解

????????401 Unauthorized //請(qǐng)求未經(jīng)授權(quán),這個(gè)狀態(tài)代碼必須和WWW-Authenticate報(bào)頭域一起使用

????????403 Forbidden? //服務(wù)器收到請(qǐng)求,但是拒絕提供服務(wù)

????????404 Not Found? //請(qǐng)求資源不存在

????????500 Internal Server Error //服務(wù)器發(fā)生不可預(yù)期的錯(cuò)誤

????????503 Server Unavailable? //服務(wù)器當(dāng)前不能處理客戶端的請(qǐng)求,一段時(shí)間后可能恢復(fù)正常

? ? ? ? 3)報(bào)頭:

? ? ? ? 包括普通報(bào)頭、請(qǐng)求報(bào)頭、響應(yīng)報(bào)頭、實(shí)體報(bào)頭。

六、安全測(cè)試

????1.sql注入:是一種將SQL代碼插入或添加到應(yīng)用(用戶)的輸入?yún)?shù)中的攻擊,之后再將這些參數(shù)傳遞給后臺(tái)的SQL服務(wù)器加以解析并執(zhí)行。

????2.xxs注入:XSS 全稱(Cross Site Scripting) 跨站腳本攻擊, 是Web程序中最常見的漏洞。指攻擊者在網(wǎng)頁(yè)中嵌入客戶端腳本(例如JavaScript), 當(dāng)用戶瀏覽此網(wǎng)頁(yè)時(shí),腳本就會(huì)在用戶的瀏覽器上執(zhí)行,從而達(dá)到攻擊者的目的.? 比如獲取用戶的Cookie,導(dǎo)航到惡意網(wǎng)站,攜帶木馬等。

? ? 3.網(wǎng)絡(luò)安全測(cè)試、數(shù)據(jù)庫(kù)安全測(cè)試、URL安全測(cè)試等。

七、DOCKER環(huán)境搭建? ??

? ? 1.概念:Docker 是一個(gè)開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器上,也可以實(shí)現(xiàn)虛擬化,容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口。

? ? 2.CentOS 7操作系統(tǒng)下yum安裝

? ? 執(zhí)行命令:yum install -y docker

? ? 詳細(xì)的可以參考Centos7下安裝Docker(詳細(xì)安裝教程)_u014069688的博客-CSDN博客_centos7 docker安裝

? ? 3.啟動(dòng)?docker服務(wù),并將其設(shè)置為開機(jī)啟動(dòng)

? ? 執(zhí)行命令:systemctl start docker.service

? ? ? ? ? ? ? ? ? ? ? systemctl enable docker.service

八、性能測(cè)試

????1.jmeter 介紹? :JMeter是開源軟件Apache基金會(huì)下的一個(gè)性能測(cè)試工具,用來(lái)測(cè)試部署在服務(wù)器端的應(yīng)用程序的性能。JMeter因?yàn)槠涫褂煤?jiǎn)單,現(xiàn)在也被社區(qū)作為接口測(cè)試工具。

? ? 2.錄制腳本

? ? ? ? 1)第一步:在JMeter中添加線程組,命名為AddBugByJMeter



? ? ? ? 2)第二步:在線程組下添加HTTP請(qǐng)求默認(rèn)值

添加->配置元件->HTTP請(qǐng)求默認(rèn)值,設(shè)置服務(wù)器IP和端口號(hào)(JMeter默認(rèn)使用80端口號(hào),我的禪道配置的是81端口)


? ? ? ? 3)第三步:添加HTTP代理服務(wù)器

????????????????1、添加非測(cè)試原件->HTTP代理服務(wù)器,并設(shè)置端口號(hào)(可以通過(guò)netstat -ano查看電腦中未使用的端口號(hào))、選擇目標(biāo)控制器(選中前面的線程組)


? ??????????????2、點(diǎn)擊HTTP代理服務(wù)器的啟動(dòng)按鈕,啟動(dòng)后可以通過(guò)JMeter右上角的log查看按鈕查看啟動(dòng)情況


? ??????????????3、打開Google Chrome瀏覽器設(shè)置代理


? ? ? ? 4)第四步:開始錄制

????????????用Google Chrome瀏覽器訪問(wèn)禪道主頁(yè),可以看到打開首頁(yè)時(shí)JMeter就已經(jīng)記錄下對(duì)應(yīng)的請(qǐng)求信息了。

????3.增強(qiáng)腳本:性能測(cè)試的腳本增強(qiáng)技術(shù):參數(shù)化、關(guān)聯(lián)、事務(wù)、檢查點(diǎn)、思考時(shí)間和集合點(diǎn)。

? ? ? ? 1)參數(shù)化:在Jmeter中,實(shí)現(xiàn)參數(shù)化的方式很多。

????????????本質(zhì)上來(lái)說(shuō),參數(shù)化的實(shí)現(xiàn)方式有兩種:

????????????文件方式:一般建議通過(guò)配置元件--CSV DATA SET CONFIG組件來(lái)實(shí)現(xiàn)。

????????????函數(shù)方式:一般通過(guò)調(diào)用Jmeter內(nèi)置的、第三方插件、自定義的函數(shù)來(lái)實(shí)現(xiàn)。

????????????一般通過(guò)函數(shù)助手來(lái)生成調(diào)用的字符串。

????????????調(diào)用方式:在jmeter中,任何鼠標(biāo)點(diǎn)擊可以輸入的地方(輸入字符串),都可以實(shí)現(xiàn)參數(shù)化操作,在Jmeter中,參數(shù)、變量、函數(shù)的調(diào)用方式是固定的:${參數(shù)名}? ${變量名}? ${函數(shù)名}

? ????? 2)關(guān)聯(lián):

????????????關(guān)聯(lián)是用來(lái)解決請(qǐng)求之間的依賴關(guān)系的。

????????????在工具層面,工具需要解決的問(wèn)題其實(shí)是兩個(gè):

????????????先存:先保存服務(wù)器響應(yīng)的數(shù)據(jù)

????????????后用:在后續(xù)的請(qǐng)求中調(diào)用所保存的數(shù)據(jù)。

????????????在Jmeter中,關(guān)聯(lián)一般都是通過(guò)后置處理器組件來(lái)實(shí)現(xiàn)。

????????????常用的是:正則表達(dá)式提取器、JSON Extractor。

? ? ? ? 3)事務(wù):

????????????引入事務(wù)的目的是為了度量響應(yīng)時(shí)間和TPS。

????????????在Jmeter中,對(duì)于事務(wù)的處理是分兩種情況:

????????????事務(wù)只是一個(gè)請(qǐng)求:只需要修改請(qǐng)求的名稱,使其具有唯一性。不需要其它額外的操作。

????????????事務(wù)包含多個(gè)請(qǐng)求:則需要使用邏輯控制器--事務(wù)控制器。

????????????PS:建議勾選Generate parent sample,這樣得到的時(shí)間會(huì)更加準(zhǔn)確。

? ? ? ? 4)檢查點(diǎn):

????????????在Jmeter,檢查點(diǎn)通常都是通過(guò)斷言組件來(lái)實(shí)現(xiàn)的。

????????????常用的斷言組件就是:響應(yīng)斷言。

????????5)思考時(shí)間:在Jmeter中,常用的思考時(shí)間組件有兩個(gè):

????????????固定定時(shí)器:?jiǎn)挝皇呛撩?/p>

????????????高斯隨機(jī)定時(shí)器:作用就是:用來(lái)模擬:固定延遲+-2×偏差值。

????????????最小值等于0.

? ? ? ? 6)集合點(diǎn):在Jmeter中,集合點(diǎn)是通過(guò)定時(shí)器--Synchronizing Timer組件實(shí)現(xiàn)。

????????????Number of Users:一次集合的人數(shù)。

????????????默認(rèn)值為0,表示集合人數(shù)等于線程組中的線程總數(shù)。

????????????Timeout:超時(shí)時(shí)間,是指第一個(gè)到達(dá)集合點(diǎn)的線程的等待時(shí)間,如果時(shí)間到達(dá),則所有到達(dá)集合點(diǎn)的線程都會(huì)釋放執(zhí)行后續(xù)的請(qǐng)求。

????????????默認(rèn)值為0,表示不超時(shí),即必須等到足夠的線程才會(huì)釋放。

? ? 4.性能測(cè)試的簡(jiǎn)單介紹

? ??????指通過(guò)自動(dòng)化的測(cè)試工具模擬多種正常、峰值以及異常負(fù)載條件來(lái)對(duì)系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測(cè)試

? ? 5.線程組

? ? ? ? 1)線程組元件是任何一個(gè)測(cè)試計(jì)劃的開始點(diǎn)。在一個(gè)測(cè)試計(jì)劃中的所有元件都必須在某個(gè)線程下。所有的任務(wù)都是基于線程組。

? ? ? ? 2)通俗的講,一個(gè)線程組可以看做一個(gè)虛擬用戶組,線程組中的每個(gè)線程都可以理解為一個(gè)虛擬用戶。多個(gè)用戶同時(shí)去執(zhí)行相同的一批次任務(wù)。每個(gè)線程之間都是隔離的,互不影響的。一個(gè)線程的執(zhí)行過(guò)程中,操作的變量,不會(huì)影響其他線程的變量值。

? ? 6.聚合報(bào)告

? ? ? ? 1)對(duì)于每個(gè)請(qǐng)求,它統(tǒng)計(jì)響應(yīng)信息并提供請(qǐng)求數(shù),平均值,最大,最小值,錯(cuò)誤率,大約吞吐量(以請(qǐng)求數(shù)/秒為單位)和以kb/秒為單位的吞吐量.

? ? ? ? 2)我們先來(lái)看看聚合報(bào)告中的主要名稱的含意:

????????????Label:每個(gè)請(qǐng)求的名稱

????????????#Samples:各請(qǐng)求發(fā)出的數(shù)量

????????????Average:平均響應(yīng)時(shí)間(單位:毫秒)。默認(rèn)是單個(gè)Request的平均響應(yīng)時(shí)間,當(dāng)使用了Transaction Controller時(shí),也可以以Transaction為單位顯示平均響應(yīng)時(shí)間

????????????Median:中位數(shù)

????????????90%Line:百分位數(shù);官網(wǎng)原話:“?90%?的請(qǐng)求耗時(shí)沒(méi)有超過(guò)這個(gè)時(shí)間,剩余的請(qǐng)求耗時(shí)至少在這個(gè)時(shí)間之上。”。通俗說(shuō),90%用戶的響應(yīng)時(shí)間小于該值

????????????95%Line:95%用戶的響應(yīng)時(shí)間小于該值

????????????99%Line:99%用戶的響應(yīng)時(shí)間小于該值

????????????Min:最小響應(yīng)時(shí)間

????????????Max:最大響應(yīng)時(shí)間

????????????Error%:請(qǐng)求的錯(cuò)誤率 = 錯(cuò)誤請(qǐng)求的數(shù)量/請(qǐng)求的總數(shù)

????????????Throughput:吞吐量。默認(rèn)情況下表示每秒完成的請(qǐng)求數(shù),一般認(rèn)為它為TPS。(注意單位的變化,如上圖中,當(dāng)TPS很低時(shí),jmeter中默認(rèn)會(huì)統(tǒng)計(jì)成每分鐘的值,這時(shí)我們需要換算成以秒為單位)

????????????KB/sec:每秒從服務(wù)器端接收到的數(shù)據(jù)量。

? ? 7.點(diǎn)擊率報(bào)告

? ????? 每秒點(diǎn)擊率 hps 這個(gè)概念不僅僅是針對(duì)某個(gè)工具說(shuō)的 而是一個(gè)衡量負(fù)載大小的概念,它就是指的單位時(shí)間獲得返回的請(qǐng)求數(shù)量

? ? 8.TPS報(bào)告

????????1)TPS,執(zhí)行一次事務(wù)(包括請(qǐng)求、請(qǐng)求服務(wù)器、等待服務(wù)器返回等等,比如一個(gè)TPS事務(wù),可能觸發(fā)3個(gè)QPS請(qǐng)求)

? ? ? ? ? ? ?TPS:Transactions Per Second(每秒傳輸?shù)氖挛锾幚韨€(gè)數(shù)),即服務(wù)器每秒處理的事務(wù)數(shù)。TPS包括一條消息入和一條消息出,加上一次用戶數(shù)據(jù)庫(kù)訪問(wèn)。(業(yè)務(wù)TPS = CAPS × 每個(gè)呼叫平均TPS)

? ? ? ?2)TPS是軟件測(cè)試結(jié)果的測(cè)量單位。一個(gè)事務(wù)是指一個(gè)客戶機(jī)向服務(wù)器發(fā)送請(qǐng)求然后服務(wù)器做出反應(yīng)的過(guò)程。客戶機(jī)在發(fā)送請(qǐng)求時(shí)開始計(jì)時(shí),收到服務(wù)器響應(yīng)后結(jié)束計(jì)時(shí),以此來(lái)計(jì)算使用的時(shí)間和完成的事務(wù)個(gè)數(shù)。一般的,評(píng)價(jià)系統(tǒng)性能均以每秒鐘完成的技術(shù)交易的數(shù)量來(lái)衡量。系統(tǒng)整體處理能力取決于處理能力最低模塊的TPS值。

九、接口自動(dòng)化

? ? 1.添加用戶自定義變量

? ? ? ? ? ? 1)我們可以添加用戶自定義變量用以Http請(qǐng)求參數(shù)化,右鍵點(diǎn)擊“線程組” -> “添加” -> “配置元件” -> “用戶定義的變量”:


? ? ? ? 2)新增一個(gè)參數(shù)wd,存放搜索詞"自動(dòng)化測(cè)試"


? ? ? ? 3)并在Http請(qǐng)求中使用該參數(shù),格式為:${wd}


? ? 2."CSV?數(shù)據(jù)文件設(shè)置"

? ? ? ? 1)新建一個(gè)csv文件,保存如下數(shù)據(jù):注意使用notepad編輯,將其轉(zhuǎn)換為utf-8編碼方式,否則中文在jmeter中顯示亂碼


? ? ? ? 2)右鍵點(diǎn)擊“線程組” -> “添加” -> “配置元件” -> “CSV?數(shù)據(jù)文件設(shè)置”:



????????3)在Http請(qǐng)求中使用該參數(shù),格式為:${keyword}?,并運(yùn)行可以在結(jié)果樹中查看到如下結(jié)果,則表示已從csv文件中讀取對(duì)應(yīng)的參數(shù)


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一.定義通過(guò)手動(dòng)點(diǎn)擊或者工具對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試操作,驗(yàn)證實(shí)際的結(jié)果是否和預(yù)期的結(jié)果之間存在差異 二.軟件測(cè)試的作用...
    曉偉很努力閱讀 274評(píng)論 0 0
  • 一.定義 通過(guò)手動(dòng)點(diǎn)擊或者工具對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試操作,驗(yàn)證實(shí)際的結(jié)果是否和預(yù)期的結(jié)果之間存在差異 二.軟件測(cè)試的作...
    米花噗噗閱讀 478評(píng)論 0 0
  • 一、軟件測(cè)試概述 1、什么是軟件 定義:計(jì)算機(jī)系統(tǒng)中與硬件相互依存的一部分(程序+數(shù)據(jù)+相關(guān)文檔) 程序:按事先設(shè)...
    絨絨魚閱讀 806評(píng)論 0 0
  • 一、軟件測(cè)試階段 1、單元測(cè)試 概念:對(duì)軟件中的最小可測(cè)試單元進(jìn)行檢查和驗(yàn)證。 原則:(1)盡可能測(cè)試用例相互獨(dú)立...
    瘋狂的程序猿丶閱讀 2,788評(píng)論 0 2
  • 前言:為了在測(cè)試業(yè)務(wù)中能夠更加熟練編寫測(cè)試用例,現(xiàn)對(duì)黑盒測(cè)試作簡(jiǎn)要總結(jié)。 一、相關(guān)概念 根據(jù)測(cè)試方式來(lái)進(jìn)行分類的話...
    _Cause_閱讀 2,647評(píng)論 0 4

友情鏈接更多精彩內(nèi)容