軟件測(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ī)格說明,軟件產(chǎn)品說明等規(guī)定的軟件質(zhì)量要求 2)通過測(cè)試膀跌,發(fā)現(xiàn)軟件缺陷? 3)為軟件產(chǎn)品的質(zhì)量測(cè)量和評(píng)價(jià)提供依據(jù).

????3.軟件測(cè)試的標(biāo)準(zhǔn)4個(gè)過程站故,以及對(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)該通過笆怠,測(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)告并通過測(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ī)格說明變化的適應(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ī)格說明書(接口需求規(guī)格說明)。系統(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ì)需求分析說明書月帝,軟件設(shè)計(jì)說明書,源程序做結(jié)構(gòu)檢查幽污,流程圖分析等找出軟件錯(cuò)誤嚷辅,靜態(tài)測(cè)試一般采用人工分析(針對(duì)文檔),也可以用靜態(tài)分析測(cè)試工具來進(jìn)行(代碼掃描)

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

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

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

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

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

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

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

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

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

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

  ????比如用不存在的用戶名和密碼來登錄系統(tǒng)就是無效的等價(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è)無效等價(jià)類涂身。重復(fù)這一步驟使得所有無效等價(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è)試方法三部分的方案修噪∮敕《測(cè)試方案》編寫完成后也需要進(jìn)行評(píng)審。

????4.測(cè)試方案階段:主要是對(duì)測(cè)試用例和規(guī)程的設(shè)計(jì)巩那。測(cè)試用例是根據(jù)《測(cè)試方案》來編寫的吏夯,通過《測(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ù)滋戳、誰執(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ù)它來確定應(yīng)用軟件或軟件系統(tǒng)是否正確工作张惹。確定軟件程序或系統(tǒng)是否通過測(cè)試的方法叫做測(cè)試準(zhǔn)則舀锨。

? ? ? ? 格式:產(chǎn)品名稱、所屬模塊宛逗、子模塊坎匿、用例編號(hào)、用例名稱拧额、前置條件碑诉、操作步驟、預(yù)期結(jié)果侥锦、實(shí)際結(jié)果、測(cè)試人員德挣、用例等級(jí)恭垦、用例類型、修改說明格嗅。

? ? ? ? 3)測(cè)試執(zhí)行:結(jié)果分為四類:通過(Pass)番挺、失敗(Fail)屯掖、跳過(Skip)玄柏、受阻(Block)

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

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

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

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

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

? ? ? ? Bug類型:功能問題、設(shè)計(jì)缺陷把介、界面優(yōu)化勤讽、性能問題、配置相關(guān)拗踢、安裝部署脚牍、安全相關(guān)、標(biāo)準(zhǔn)規(guī)范秒拔、測(cè)試腳本莫矗、文檔錯(cuò)誤飒硅、兼容問題、用戶體驗(yàn)作谚、其它三娩。

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

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

? ? ? ? 格式:簡(jiǎn)介瓦宜、測(cè)試資源描述、測(cè)試時(shí)間統(tǒng)計(jì)岭妖、測(cè)試用例分析临庇、缺陷情況分析、版本質(zhì)量分析昵慌、測(cè)試活動(dòng)評(píng)估假夺、測(cè)試過程改進(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 保留將來使用

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

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

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

????????400 Bad Request? //客戶端請(qǐng)求有語法錯(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)頁中嵌入客戶端腳本(例如JavaScript), 當(dāng)用戶瀏覽此網(wǎng)頁時(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è)試工具,用來測(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)(可以通過netstat -ano查看電腦中未使用的端口號(hào))、選擇目標(biāo)控制器(選中前面的線程組)


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


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


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

????????????用Google Chrome瀏覽器訪問禪道主頁谈火,可以看到打開首頁時(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ì)上來說,參數(shù)化的實(shí)現(xiàn)方式有兩種:

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

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

????????????一般通過函數(shù)助手來生成調(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)是用來解決請(qǐng)求之間的依賴關(guān)系的。

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

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

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

????????????在Jmeter中,關(guān)聯(lián)一般都是通過后置處理器組件來實(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)通常都是通過斷言組件來實(shí)現(xiàn)的瓦阐。

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

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

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

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

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

? ? ? ? 6)集合點(diǎn):在Jmeter中踏幻,集合點(diǎn)是通過定時(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)單介紹

? ??????指通過自動(dòng)化的測(cè)試工具模擬多種正常牵触、峰值以及異常負(fù)載條件來對(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í)行過程中福侈,操作的變量,不會(huì)影響其他線程的變量值卢未。

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

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

? ? ? ? 2)我們先來看看聚合報(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í)沒有超過這個(gè)時(shí)間档址,剩余的請(qǐng)求耗時(shí)至少在這個(gè)時(shí)間之上盹兢。”。通俗說守伸,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è)工具說的 而是一個(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ù)訪問。(業(yè)務(wù)TPS = CAPS × 每個(gè)呼叫平均TPS)

? ? ? ?2)TPS是軟件測(cè)試結(jié)果的測(cè)量單位揭北。一個(gè)事務(wù)是指一個(gè)客戶機(jī)向服務(wù)器發(fā)送請(qǐng)求然后服務(wù)器做出反應(yīng)的過程扳炬。客戶機(jī)在發(fā)送請(qǐng)求時(shí)開始計(jì)時(shí)搔体,收到服務(wù)器響應(yīng)后結(jié)束計(jì)時(shí)恨樟,以此來計(jì)算使用的時(shí)間和完成的事務(wù)個(gè)數(shù)。一般的疚俱,評(píng)價(jià)系統(tǒng)性能均以每秒鐘完成的技術(shù)交易的數(shù)量來衡量劝术。系統(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)系作者
  • 序言:七十年代末四苇,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子方咆,更是在濱河造成了極大的恐慌月腋,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異罗售,居然都是意外死亡辜窑,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門寨躁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來穆碎,“玉大人,你說我怎么就攤上這事职恳∷鳎” “怎么了?”我有些...
    開封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵放钦,是天一觀的道長(zhǎng)色徘。 經(jīng)常有香客問我,道長(zhǎng)操禀,這世上最難降的妖魔是什么褂策? 我笑而不...
    開封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮颓屑,結(jié)果婚禮上斤寂,老公的妹妹穿的比我還像新娘。我一直安慰自己揪惦,他們只是感情好遍搞,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著器腋,像睡著了一般溪猿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上纫塌,一...
    開封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天诊县,我揣著相機(jī)與錄音,去河邊找鬼措左。 笑死翎冲,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的媳荒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼驹饺,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼钳枕!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起赏壹,我...
    開封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤鱼炒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后蝌借,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體昔瞧,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡指蚁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了自晰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片凝化。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖酬荞,靈堂內(nèi)的尸體忽然破棺而出搓劫,到底是詐尸還是另有隱情,我是刑警寧澤混巧,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布枪向,位于F島的核電站,受9級(jí)特大地震影響咧党,放射性物質(zhì)發(fā)生泄漏秘蛔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一傍衡、第九天 我趴在偏房一處隱蔽的房頂上張望深员。 院中可真熱鬧,春花似錦聪舒、人聲如沸辨液。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽滔迈。三九已至,卻和暖如春被辑,著一層夾襖步出監(jiān)牢的瞬間燎悍,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工盼理, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留谈山,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓宏怔,卻偏偏與公主長(zhǎng)得像奏路,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子臊诊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 一.定義 通過手動(dòng)點(diǎn)擊或者工具對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試操作鸽粉,驗(yàn)證實(shí)際的結(jié)果是否和預(yù)期的結(jié)果之間存在差異 二.軟件測(cè)試的作...
    米花噗噗閱讀 390評(píng)論 0 0
  • 一.定義通過手動(dòng)點(diǎn)擊或者工具對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試操作,驗(yàn)證實(shí)際的結(jié)果是否和預(yù)期的結(jié)果之間存在差異 二.軟件測(cè)試的作用...
    曉偉很努力閱讀 184評(píng)論 0 0
  • 一抓艳、軟件測(cè)試階段 1触机、單元測(cè)試 概念:對(duì)軟件中的最小可測(cè)試單元進(jìn)行檢查和驗(yàn)證。 原則:(1)盡可能測(cè)試用例相互獨(dú)立...
    瘋狂的程序猿丶閱讀 2,656評(píng)論 0 2
  • 今天青石的票圈出鏡率最高的,莫過于張藝謀的新片終于定檔了笔宿。 一張滿溢著水墨風(fēng)的海報(bào)一次次的出現(xiàn)在票圈里犁钟,也就是老謀...
    青石電影閱讀 10,348評(píng)論 1 2
  • 董多嬌第226天堅(jiān)持分享,焦點(diǎn)相信泼橘,每個(gè)人在每一刻都會(huì)為自己做出一個(gè)決定與選擇涝动,是他們當(dāng)時(shí)認(rèn)為最合適自己的,所以任...
    良知良能良知良能閱讀 3,825評(píng)論 1 2