成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

面試官:了解Fuzzing Test嗎?

shusen / 1179人閱讀

摘要:產(chǎn)生的崩潰測(cè)試用例可能難以分析,因?yàn)槟:郎y(cè)試的行為并不能告訴你關(guān)于軟件內(nèi)部運(yùn)行方式的知識(shí)。模糊測(cè)試向軟件系統(tǒng)提供隨機(jī)輸入。

軟件質(zhì)量保障

專(zhuān)注測(cè)試圈,自動(dòng)化測(cè)試、測(cè)試平臺(tái)開(kāi)發(fā)、測(cè)試新技術(shù)、大廠測(cè)試崗面經(jīng)分享, 可以幫忙內(nèi)推BATJ等大廠!歡迎加VX溝通交流: ISTE1024

測(cè)試同行或多或少聽(tīng)說(shuō)過(guò)模糊測(cè)試,但不知道它是什么?本文將詳細(xì)介紹Fuzzing Test幫助你快速了解它。

什么是 "模糊測(cè)試"?

?

Fuzzing 是一種發(fā)現(xiàn)軟件缺陷的方法,它通過(guò)向程序提供隨機(jī)輸入來(lái)尋找導(dǎo)致程序崩潰的測(cè)試場(chǎng)景(原理有點(diǎn)類(lèi)似Monkey Test)。可以幫助你快速了解程序整體的健壯性,并幫助你發(fā)現(xiàn)和修復(fù)關(guān)鍵的缺陷。

它是一種黑盒測(cè)試技術(shù),不需要訪問(wèn)源代碼,但它仍然可以用來(lái)測(cè)試那些有源代碼的軟件。這是因?yàn)樗芨斓匕l(fā)現(xiàn)缺陷,并降低大量代碼評(píng)審成本。

模糊測(cè)試優(yōu)缺點(diǎn)

Fuzzing在某些業(yè)務(wù)下雖然非常有用,但它畢竟不是銀彈。以下是模糊技術(shù)的一些優(yōu)點(diǎn)和缺點(diǎn)。

優(yōu)點(diǎn)

  • 可以說(shuō)不費(fèi)“吹灰之力”就能得到結(jié)果--一旦fuzzer啟動(dòng)并運(yùn)行,它就可以在沒(méi)有交互的情況下停留數(shù)小時(shí)、數(shù)天或數(shù)月來(lái)尋找錯(cuò)誤。

  • 可以發(fā)現(xiàn)人工審計(jì)中遺漏的錯(cuò)誤

  • 能對(duì)目標(biāo)軟件的健壯性提供一個(gè)整體性概述

缺點(diǎn)

  • 不會(huì)窮盡所有bug--模糊測(cè)試可能會(huì)遺漏那些不會(huì)觸發(fā)整個(gè)程序崩潰的bug,而且對(duì)那些只在非常特殊情況下觸發(fā)的bug也難以覆蓋。

  • 產(chǎn)生的崩潰測(cè)試用例可能難以分析,因?yàn)槟:郎y(cè)試的行為并不能告訴你關(guān)于軟件內(nèi)部運(yùn)行方式的知識(shí)。

  • 具有復(fù)雜輸入的程序可能需要更多的工作來(lái)產(chǎn)生一個(gè)足夠聰明的模糊測(cè)試器,以獲得足夠的代碼覆蓋率。

Smart/Dumb模糊測(cè)試

Fuzzers向軟件系統(tǒng)提供隨機(jī)輸入。內(nèi)容形式可能是某種網(wǎng)絡(luò)協(xié)議、某種格式的文件或用戶能直接輸入的數(shù)據(jù)。其輸入方式是完全隨機(jī)的,并不知道預(yù)期的輸入應(yīng)該是什么樣子,也可以是經(jīng)過(guò)一些修改后看起來(lái)像是有效的輸入。

產(chǎn)生完全隨機(jī)輸入的Fuzzer被稱為 Dumb Fuzzer。少量的工作可以用很少的成本產(chǎn)生結(jié)果--這是模糊測(cè)試的一大優(yōu)勢(shì)。然而,有時(shí)一個(gè)程序只有在輸入的特定場(chǎng)景才會(huì)執(zhí)行某些處理。例如,一個(gè)程序的輸入需要傳入 "name"字段,而這個(gè)字段有一個(gè)與之相關(guān)的 "name length"。

如果這些字段沒(méi)有以足夠有效的形式出現(xiàn)讓程序識(shí)別,它可能永遠(yuǎn)不會(huì)讀取這個(gè)名字。如果這些字段以有效的形式存在,但長(zhǎng)度值被設(shè)置為不正確的值,程序可能會(huì)讀到包含名字的緩沖區(qū)之外,并引發(fā)崩潰。如果缺乏有效的輸入,這是不可能發(fā)生的。在這些情況下,可以使用 Smart Fuzzer,Smart Fuzzer是基于輸入特定的規(guī)則實(shí)現(xiàn)的,例如協(xié)議定義或文件格式的規(guī)則。它可以構(gòu)建大部分有效的輸入,并且只對(duì)該基本格式內(nèi)的輸入進(jìn)行模糊處理。

Fuzzers的類(lèi)型

廣義上講,F(xiàn)uzzer可以根據(jù)它們創(chuàng)建程序輸入的方式分為兩類(lèi)--基于變異與基于生成.

基于變異的fuzzer

基于突變的Fuzzer可以說(shuō)是最容易創(chuàng)建的類(lèi)型之一。這種技術(shù)適合Dumb Fuzzer,但也可用于智能的Fuzzer。通過(guò)突變,有效輸入的樣本被隨機(jī)突變以產(chǎn)生畸形的輸入。

dumb ?mutation Fuzzer可以簡(jiǎn)單地選擇一個(gè)有效的輸入樣本,并隨機(jī)地改變它的一部分。因?yàn)檩斎胪ǔH匀慌c有效輸入有足夠的相似性,所以這意味著不需要進(jìn)一步的智能化處理就可以實(shí)現(xiàn)良好的代碼覆蓋。

下面是基于突變的Fuzzer可以使用的兩種技術(shù)。

流量回放

Fuzzer可以采取保存的樣本輸入,并在突變后重新播放。這對(duì)文件格式的模糊處理很有效,可以保存一些樣本文件并進(jìn)行模糊處理以提供給目標(biāo)程序。

簡(jiǎn)單或無(wú)狀態(tài)的網(wǎng)絡(luò)協(xié)議也可以用重放來(lái)有效地進(jìn)行模糊處理,因?yàn)镕uzzer不需要提出大量的合法請(qǐng)求來(lái)深入到協(xié)議中去。對(duì)于更復(fù)雜的協(xié)議,重放可能更困難。這是因?yàn)镕uzzer需要以動(dòng)態(tài)方式響應(yīng)程序,以允許處理繼續(xù)深入?yún)f(xié)議。

代理

你可能聽(tīng)說(shuō)過(guò)中間人(MITM)是滲透測(cè)試者和黑客使用的一種技術(shù),但它也可以用于基于突變的網(wǎng)絡(luò)協(xié)議模糊測(cè)試。通過(guò)MITM,你置身于客戶端和服務(wù)器的中間,截獲并可能修改它們之間傳遞的信息。通過(guò)這種方式,你就像兩者之間的一個(gè)代理。

通過(guò)將你的Fuzzer設(shè)置為代理,它可以根據(jù)你對(duì)服務(wù)器或客戶端的模糊處理來(lái)改變請(qǐng)求或響應(yīng)。同樣,F(xiàn)uzzer可以隨機(jī)地改變一些請(qǐng)求,也可以在你感興趣的協(xié)議的特定層次上智能地鎖定請(qǐng)求?;诖淼哪:郎y(cè)試可以讓你利用現(xiàn)有的網(wǎng)絡(luò)程序部署架構(gòu),快速插入模糊測(cè)試層,而不需要讓你的fuzzer像客戶端或服務(wù)器本身一樣行動(dòng)。

基于生成的fuzzer

基于生成的Fuzzer實(shí)際上是從零開(kāi)始生成輸入,而不是突變現(xiàn)有的輸入。它們通常需要一定程度的智能來(lái)構(gòu)建至少對(duì)程序有一定意義的輸入,盡管生成完全隨機(jī)的數(shù)據(jù)在技術(shù)上也是生成。

生成Fuzzer通常將協(xié)議或文件格式分成幾塊,它們可以按照有效的順序建立起來(lái),并隨機(jī)地對(duì)其中一些塊進(jìn)行獨(dú)立模糊。這可以創(chuàng)造出保留其整體結(jié)構(gòu)的輸入,但其中也包含不一致的數(shù)據(jù)。這些塊的顆粒度和構(gòu)建這些塊的智能程度決定了Fuzzer的智能水平。雖然基于突變的模糊處理可以產(chǎn)生與生成模糊處理類(lèi)似的效果(因?yàn)殡S著時(shí)間的推移,突變將被隨機(jī)應(yīng)用,而不會(huì)完全破壞輸入的結(jié)構(gòu)),但生成輸入可以確保這種情況的發(fā)生。

生成fuzzers也可以更容易地深入到協(xié)議中,因?yàn)樗梢詷?gòu)建有效的輸入序列,對(duì)該通信的特定部分進(jìn)行模糊處理。它還允許Fuzzer作為一個(gè)真正的客戶/服務(wù)器,生成正確的、動(dòng)態(tài)的響應(yīng),但這些響應(yīng)不能盲目地重放。

進(jìn)化型fuzzer

進(jìn)化型模糊測(cè)試是一種先進(jìn)的技術(shù)。它允許Fuzzer使用來(lái)自每個(gè)測(cè)試用例的反饋,以了解隨著時(shí)間推移輸入的格式。例如,通過(guò)測(cè)量每個(gè)測(cè)試用例的代碼覆蓋率,F(xiàn)uzzer可以計(jì)算出測(cè)試用例的哪些屬性可以鍛煉給定的代碼區(qū)域,并逐漸演化出一套覆蓋大部分程序代碼的測(cè)試用例。進(jìn)化型模糊測(cè)試通常依賴于與遺傳算法類(lèi)似的其他技術(shù),并且可能需要某種形式的二進(jìn)制工具來(lái)正確操作。

模糊測(cè)試測(cè)什么?

即使是相對(duì)dumb的模糊測(cè)試,也要記住你的測(cè)試用例實(shí)際上有可能擊中代碼的哪一部分。舉個(gè)簡(jiǎn)單的例子,如果你正在摸索一個(gè)使用TCP/IP的應(yīng)用協(xié)議,而你的Fuzzers隨機(jī)突變了一個(gè)原始數(shù)據(jù)包的捕獲,你很可能會(huì)破壞TCP/IP數(shù)據(jù)包本身。因此,你的輸入根本不可能被應(yīng)用程序所處理。再者,如果你正在測(cè)試一個(gè)將文本的圖像解析為真實(shí)文本的OCR程序,但你正在突變整個(gè)圖像文件,你最終可能會(huì)更頻繁地測(cè)試其圖像解析代碼而不是實(shí)際的OCR代碼。如果你想專(zhuān)門(mén)針對(duì)該OCR處理,你可能希望保持圖像文件的標(biāo)題有效。

Fuzzer運(yùn)行流程

為了有效地運(yùn)行,F(xiàn)uzzer需要執(zhí)行以下重要任務(wù):

  • 生成測(cè)試用例

  • 記錄測(cè)試用例或再現(xiàn)用例所需的任何信息

  • 對(duì)目標(biāo)程序接口提供測(cè)試case作為輸入

  • 檢測(cè)崩潰

Fuzzer通常將其中的許多任務(wù)分成獨(dú)立的模塊。例如,有一個(gè)庫(kù)可以突變數(shù)據(jù)或根據(jù)定義生成數(shù)據(jù),另一個(gè)庫(kù)可以向目標(biāo)程序提供測(cè)試用例等等。

生成測(cè)試用例

測(cè)試用例的生成將取決于是否采用了基于突變或基于生成的模糊處理。無(wú)論采用哪種方法,都會(huì)有一些需要隨機(jī)轉(zhuǎn)換的東西,無(wú)論是特定類(lèi)型的字段還是任意的數(shù)據(jù)塊。

這些轉(zhuǎn)換可以是完全隨機(jī)的,但值得注意的是,邊界和極端的情況往往是程序中錯(cuò)誤的來(lái)源。因此,你可能希望偏向于這樣的情況。

  • 非常長(zhǎng)超長(zhǎng)字符串或Null

  • 能支持的最大值和最小值整數(shù)

  • 像-1、0、1和2這樣的值

根據(jù)你要模糊處理的內(nèi)容,可能會(huì)有一些特定的值或字符更容易觸發(fā)bug。比如:

  • Null

  • 分號(hào)

  • 格式化字符串值(%n,%s等等)

  • 應(yīng)用特定的關(guān)鍵詞

可重復(fù)性

重現(xiàn)一個(gè)測(cè)試用例的最簡(jiǎn)單方法是記錄檢測(cè)到崩潰時(shí)使用的確切輸入。在某些情況下,還有其他方法能實(shí)現(xiàn)重現(xiàn)性。一種方法是存儲(chǔ)用于測(cè)試用例生成的隨機(jī)部分的初始種子,并確保所有后續(xù)的隨機(jī)行為遵循一個(gè)可以追溯到該種子的路徑。通過(guò)用相同的種子重新運(yùn)行Fuzzer,行為應(yīng)該是可重復(fù)的。例如,你可以只記錄測(cè)試用例編號(hào)和初始種子,然后用該種子快速重新執(zhí)行生成,直到達(dá)到給定的測(cè)試用例。

當(dāng)目標(biāo)程序可能基于過(guò)去的輸入積累了依賴性時(shí),這種技術(shù)就很有用。以前的輸入可能導(dǎo)致程序在其內(nèi)存中初始化各種項(xiàng)目,而這些項(xiàng)目是觸發(fā)錯(cuò)誤所必須的。在這些情況下,簡(jiǎn)單地記錄崩潰的測(cè)試用例并不足以重現(xiàn)該錯(cuò)誤。

與目標(biāo)程序?qū)?/strong>

與目標(biāo)程序連接以提供模糊輸入通常是簡(jiǎn)單的。對(duì)于網(wǎng)絡(luò)協(xié)議,它可能涉及在網(wǎng)絡(luò)上發(fā)送測(cè)試用例,或響應(yīng)客戶的請(qǐng)求。對(duì)于文件格式,它可能意味著用一個(gè)指向測(cè)試用例的命令行參數(shù)來(lái)執(zhí)行程序。然而,有時(shí)提供的輸入的形式不容易以自動(dòng)化的方式生成,或者編寫(xiě)程序腳本來(lái)執(zhí)行每個(gè)測(cè)試用例的開(kāi)銷(xiāo)很大,證明是非常緩慢的。在這些情況下,創(chuàng)造性的思考可以發(fā)現(xiàn)用正確的數(shù)據(jù)來(lái)鍛煉相關(guān)的代碼片斷的方法。

例如,這可以通過(guò)在內(nèi)存中人為地設(shè)置程序來(lái)執(zhí)行解析功能,而輸入的參數(shù)完全在內(nèi)存中。這可以消除程序在每個(gè)測(cè)試用例之前經(jīng)過(guò)冗長(zhǎng)的加載程序的需要。而且,通過(guò)讓測(cè)試用例完全在內(nèi)存中生成和提供,而不是通過(guò)硬盤(pán)驅(qū)動(dòng)器,可以進(jìn)一步提高速度。

崩潰檢測(cè)

崩潰檢測(cè)是模糊測(cè)試的關(guān)鍵。如果你不能準(zhǔn)確地確定一個(gè)程序何時(shí)崩潰,你就不能確定一個(gè)測(cè)試用例是否觸發(fā)了一個(gè)錯(cuò)誤。

  • 附加一個(gè)調(diào)試器

這可以為你提供最準(zhǔn)確的結(jié)果,你可以編寫(xiě)調(diào)試器的腳本,以便在檢測(cè)到崩潰時(shí)立即為你提供崩潰跟蹤。然而,附加一個(gè)調(diào)試器會(huì)大大降低程序的速度,并會(huì)造成相當(dāng)大的開(kāi)銷(xiāo)。在給定的時(shí)間內(nèi),你能產(chǎn)生的測(cè)試用例越少,你發(fā)現(xiàn)崩潰的機(jī)會(huì)就越少。

  • 看看目標(biāo)進(jìn)程是否消失了

與其附加一個(gè)調(diào)試器,你可以簡(jiǎn)單地看看在執(zhí)行測(cè)試用例后,目標(biāo)的進(jìn)程ID是否仍然存在于系統(tǒng)中。如果進(jìn)程消失了,它可能已經(jīng)崩潰了。如果你想了解更多關(guān)于崩潰的信息,你可以在以后用調(diào)試器重新運(yùn)行測(cè)試用例。你甚至可以在每次崩潰時(shí)自動(dòng)這樣做,同時(shí)還可以避免在每個(gè)案例中都連接調(diào)試器而導(dǎo)致的速度下降。

超時(shí)

如果程序?qū)δ愕臏y(cè)試用例有正常的響應(yīng),你可以設(shè)置一個(gè)超時(shí),超時(shí)后你就認(rèn)為程序已經(jīng)崩潰。這也可以檢測(cè)出導(dǎo)致程序無(wú)反應(yīng)但不一定終止的錯(cuò)誤。

無(wú)論你使用哪種方法,只要程序崩潰或變得無(wú)反應(yīng),就應(yīng)該重新啟動(dòng),以便讓模糊測(cè)試?yán)^續(xù)進(jìn)行。

模糊測(cè)試的質(zhì)量

你可以做一些事情來(lái)衡量或提高你的模糊測(cè)試的質(zhì)量。雖然這些都是需要記住的有用的東西,但如果你已經(jīng)在一定的時(shí)間范圍內(nèi)得到了很多獨(dú)特的崩潰,你可能不需要再為這些事情費(fèi)心了。

速度

速度可能是模糊測(cè)試中最重要的因素之一。你每秒鐘/每分鐘能運(yùn)行多少個(gè)測(cè)試用例?合理的數(shù)值當(dāng)然取決于目標(biāo),但你能執(zhí)行的測(cè)試用例越多,你就越有可能在給定的時(shí)間段內(nèi)發(fā)現(xiàn)崩潰。模糊測(cè)試是隨機(jī)的,所以每一個(gè)測(cè)試用例就像一張彩票,你要盡可能多地得到它們。

你可以做很多事情來(lái)提高測(cè)試用例的速度,比如提高生成或變異例程的效率,并行化測(cè)試用例,減少超時(shí),或在不顯示圖形用戶界面的 "無(wú)頭 "模式下運(yùn)行程序。如果你想的話,你可以簡(jiǎn)單地購(gòu)買(mǎi)更快的套件。

對(duì)崩潰進(jìn)行歸類(lèi)

找到崩潰只是過(guò)程的開(kāi)始。一旦你找到一個(gè)崩潰的測(cè)試用例,你就需要分析它,找出錯(cuò)誤所在,并根據(jù)你的動(dòng)機(jī),修復(fù)它或?yàn)樗帉?xiě)一個(gè)漏洞。如果你有成千上萬(wàn)個(gè)崩潰的測(cè)試用例,這可能是相當(dāng)令人生畏的。通過(guò)對(duì)崩潰進(jìn)行分類(lèi),你可以根據(jù)哪些崩潰是你最感興趣的來(lái)確定它們的優(yōu)先次序。這也可以幫助你識(shí)別一個(gè)測(cè)試用例何時(shí)觸發(fā)了與另一個(gè)相同的錯(cuò)誤,所以你只保留與獨(dú)特崩潰有關(guān)的案例。

為了做到這一點(diǎn),你需要一些關(guān)于崩潰的自動(dòng)信息,以便你能做出決定。在目標(biāo)機(jī)上運(yùn)行測(cè)試用例并連接到調(diào)試器,可以提供崩潰跟蹤,你可以對(duì)其進(jìn)行分析,找到諸如異常類(lèi)型、寄存器值、堆棧內(nèi)容等值。

減少測(cè)試用例

由于模糊測(cè)試是隨機(jī)改變輸入的,一個(gè)崩潰的測(cè)試用例通常會(huì)有多個(gè)與觸發(fā)該錯(cuò)誤無(wú)關(guān)的改變。測(cè)試用例縮減是將測(cè)試用例縮減到觸發(fā)bug所需的有效輸入的最小改動(dòng)集,因此你只需要在分析中關(guān)注輸入的這一部分。

這種減少可以手動(dòng)進(jìn)行,但也可以由Fuzzer自動(dòng)進(jìn)行。當(dāng)遇到一個(gè)崩潰的測(cè)試用例時(shí),F(xiàn)uzzer可以重新執(zhí)行該測(cè)試用例幾次。每一次,它都會(huì)逐漸減少對(duì)輸入的改動(dòng),直到剩下最小的一組改動(dòng),同時(shí)仍然觸發(fā)該錯(cuò)誤。這可以簡(jiǎn)化你的分析,并有助于對(duì)崩潰的測(cè)試用例進(jìn)行分類(lèi),因?yàn)槟銜?huì)準(zhǔn)確知道輸入的哪些部分受到影響。

代碼覆蓋率

這是一個(gè)衡量程序的代碼有多少被Fuzzer執(zhí)行的標(biāo)準(zhǔn)。其原理是,你得到的覆蓋率越多,你實(shí)際測(cè)試的程序就越多。測(cè)量代碼覆蓋率可能很棘手,通常需要二進(jìn)制儀器來(lái)跟蹤代碼的哪些部分正在被執(zhí)行。你也可以用不同的方式測(cè)量代碼覆蓋率,比如按行、按基本塊、按分支或按代碼路徑。

代碼覆蓋率對(duì)于模糊測(cè)試來(lái)說(shuō)并不是一個(gè)完美的衡量標(biāo)準(zhǔn),因?yàn)橛锌赡茉趫?zhí)行代碼的同時(shí)并沒(méi)有發(fā)現(xiàn)其中的漏洞。而且,經(jīng)常有一些代碼區(qū)域幾乎不會(huì)被執(zhí)行,例如安全錯(cuò)誤檢查,反正我們不太可能真正需要,也不太感興趣。盡管如此,某種形式的代碼覆蓋率測(cè)量可以讓我們了解到你的Fuzzer在程序中觸發(fā)了什么。特別是當(dāng)你的模糊測(cè)試是完全黑箱的時(shí)候,你可能還不太了解程序的內(nèi)部運(yùn)作。一些可能有助于代碼覆蓋率的工具和技術(shù)包括Pai Mei、Valgrind、DynamoRIO和DTrace。

模糊測(cè)試框架

目前市面上有許多框架可以讓你創(chuàng)建Fuzzer,而不必從頭開(kāi)始造。下面列出了這些框架:

Radamsa

Radamsa被設(shè)計(jì)為易于使用和靈活。它試圖對(duì)各種輸入類(lèi)型進(jìn)行 "公正的工作",并包含一些不同的模糊算法進(jìn)行突變。

Sulley

Sulley提供了一個(gè)全面的生成框架,允許結(jié)構(gòu)化數(shù)據(jù)被表示為基于生成的模糊處理。它還包含幫助記錄測(cè)試用例和檢測(cè)崩潰的組件。

Peach

Peach框架可以對(duì)文件格式和網(wǎng)絡(luò)協(xié)議進(jìn)行智能模糊測(cè)試。它可以執(zhí)行基于生成和突變的模糊測(cè)試,并包含幫助建立模型和監(jiān)控目標(biāo)的組件。

SPIKE

SPIKE是一個(gè)網(wǎng)絡(luò)協(xié)議Fuzzer。它需要用戶熟悉掌握C語(yǔ)言,并被設(shè)計(jì)為在Linux上運(yùn)行。

Grinder

Grinder是一個(gè)網(wǎng)絡(luò)瀏覽器Fuzzer,它還具有幫助管理大量崩潰的功能。

NodeFuzz

NodeFuzz是一個(gè)基于node.js的網(wǎng)絡(luò)瀏覽器線束,它包括儀器模塊,可以從客戶端獲得更多信息。

AFL

AFL是一個(gè)灰盒式的模糊測(cè)試工具,利用編譯在目標(biāo)代碼中的儀器。AFL最初是為L(zhǎng)inux中的C和C++程序編寫(xiě)的,后來(lái)被分叉以支持Windows、Java和.Net。

往期推薦

接口測(cè)試框架開(kāi)發(fā)實(shí)踐4:HTTP方法封裝

接口測(cè)試框架開(kāi)發(fā)實(shí)踐3:用例管理模塊

經(jīng)驗(yàn)分享|測(cè)試工程師轉(zhuǎn)型測(cè)試開(kāi)發(fā)歷程

接口測(cè)試框架開(kāi)發(fā)實(shí)踐5:配置文件讀取

接口測(cè)試框架開(kāi)發(fā)實(shí)踐2:接口自動(dòng)化測(cè)試框架設(shè)計(jì)思路

接口自動(dòng)化測(cè)試框架實(shí)踐1:接口測(cè)試概述

Pytest系列(7)-數(shù)據(jù)驅(qū)動(dòng)測(cè)試DDT

?

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/123260.html

相關(guān)文章

  • 一個(gè) 16年畢業(yè)生所經(jīng)歷的 PHP 面試

    摘要:正確做法是給加索引,還有聯(lián)合索引,并不能避免全表掃描。 前言:有收獲的話請(qǐng)加顆小星星,沒(méi)有收獲的話可以 反對(duì) 沒(méi)有幫助 舉報(bào)三連 有心的同學(xué)應(yīng)該會(huì)看到我這個(gè)noteBook下面的其它知識(shí),希望對(duì)你們有些許幫助。 本文地址 時(shí)間點(diǎn):2017-11 一個(gè)16年畢業(yè)生所經(jīng)歷的php面試 一、什么是面試 二、面試準(zhǔn)備 1. 問(wèn):什么時(shí)候開(kāi)始準(zhǔn)備? 2. 問(wèn):怎么準(zhǔn)備? 三、面試...

    dabai 評(píng)論0 收藏0
  • 35歲以后依然被公司搶著要?4面字節(jié)跳動(dòng),完虐面試年薪70w,圖形化app開(kāi)發(fā)工具

    摘要:面試后面試后及時(shí)總結(jié),有可能下一個(gè)面試官會(huì)問(wèn)你同樣的問(wèn)題。同時(shí)面試官也對(duì)我的未來(lái)技術(shù)發(fā)展提出了很多建議。總的來(lái)說(shuō),四面的氛圍并沒(méi)有想象得那么嚴(yán)肅,面試官也說(shuō)面試得很愉快。 ...

    XGBCCC 評(píng)論0 收藏0
  • Java開(kāi)發(fā) 大廠面試整理

    摘要:用戶態(tài)不能干擾內(nèi)核態(tài)所以指令就有兩種特權(quán)指令和非特權(quán)指令不同的狀態(tài)對(duì)應(yīng)不同的指令。非特權(quán)指令所有程序均可直接使用。用戶態(tài)常態(tài)目態(tài)執(zhí)行非特權(quán)指令。 這是我今年從三月份開(kāi)始,主要的大廠面試經(jīng)過(guò),有些企業(yè)面試的還沒(méi)來(lái)得及整理,可能有些沒(méi)有帶答案就發(fā)出來(lái)了,還請(qǐng)各位先思考如果是你怎么回答面試官?這篇文章會(huì)持續(xù)更新,請(qǐng)各位持續(xù)關(guān)注,希望對(duì)你有所幫助! 面試清單 平安產(chǎn)險(xiǎn) 飛豬 上汽大通 浩鯨科...

    Scorpion 評(píng)論0 收藏0
  • 廣州三本找Java實(shí)習(xí)經(jīng)歷

    摘要:廣州三本大三在讀,在廣州找實(shí)習(xí)。這篇文章其實(shí)主要是記錄一下自己的面試經(jīng)歷,希望大家看完之后能有所了解進(jìn)入中小公司究竟需要什么水平。時(shí)間復(fù)雜度盡量低一些使用快排的,將給出的隨機(jī)數(shù)做基準(zhǔn)值返回的坐標(biāo)就是了。 前言 只有光頭才能變強(qiáng) 這陣子跑去面試Java實(shí)習(xí)生啦~~~我來(lái)簡(jiǎn)單介紹一下背景吧。 廣州三本大三在讀,在廣州找實(shí)習(xí)。大學(xué)開(kāi)始接觸編程,一個(gè)非常平庸的人。 在學(xué)習(xí)編程時(shí),跟我類(lèi)似的人應(yīng)...

    enali 評(píng)論0 收藏0
  • 假如我是面試,我會(huì)這樣虐你

    摘要:又是金三銀四的時(shí)候,我希望這份面試題能夠祝你一臂之力自我和項(xiàng)目相關(guān)自我介紹你覺(jué)得自己的優(yōu)點(diǎn)是你覺(jué)得自己有啥缺點(diǎn)你有哪些你為什么要離開(kāi)上家公司你上家公司在,我們公司在,離這么遠(yuǎn)為什么要選擇我們這里上家公司的同事和領(lǐng)導(dǎo)是怎么評(píng)價(jià)你的介紹下你的上 又是金三銀四的時(shí)候,我希望這份面試題能夠祝你一臂之力! 自我和項(xiàng)目相關(guān) 1、自我介紹 2、你覺(jué)得自己的優(yōu)點(diǎn)是?你覺(jué)得自己有啥缺點(diǎn)? 3、你有哪些 ...

    Benedict Evans 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<