国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

一款不用寫代碼,簡單,高效的開源自動化測試工具

新聞 開發(fā)工具 自動化
這款工具能夠自動檢測基于Apache Thrift或者基于HTTP的服務。通過同時運行新/老代碼,對比運行結果,發(fā)現(xiàn)潛在bug。使用Diffy,只需要進行簡單的配置,之后不需要再編寫測試代碼。

Diffy是什么

Diffy是一個開源的自動化測試工具,是一種Diff測試技術。它能夠自動檢測基于Apache Thrift或者基于HTTP的服務。通過同時運行新/老代碼,對比運行結果,發(fā)現(xiàn)潛在bug。使用Diffy,只需要進行簡單的配置,之后不需要再編寫測試代碼。

1. Diffy主要為了解決什么問題

一個項目,從第一個版本發(fā)布到形成一個相對完善的版本,再到后面的重大更新甚至重構,需要經過許多版本的迭代。

而隨著項目的迭代,產品功能不斷增加,項目會變得越來越復雜。在后期,每修改增加的功能相對上一版本已存在功能的比例卻是越來越小。但每一次或大或小的版本升級,我們都需要保證新增或修改的功能不影響上一版本已存在的功能。但要達到這一點卻是困難異常,哪怕只改了一行代碼、哪怕這項更改由非常優(yōu)秀的開發(fā)者完成,我們都很難保證這項功能對上一版本的功能無任何影響。

要保證每次上線的安全,我們需要開發(fā)和測試完成兩項工作。一是,開發(fā)者在增加或變動某項新功能后,補充相應的測試用例,但寫過單元測試的同學都知道,完成一個單元測試用例所花費的時間可能比完成相應功能花費的時間更多得多。

大多情況只能寫幾個核心的測試用例,而在人員不足,時間緊張的情況下,則更是難上加難了。在后期,因為功能在不斷增加,回歸測試的工作量越來越大,同時因為是回歸,可能幾百甚至上千用例中才會發(fā)現(xiàn)一個問題,甚至一個問題也沒有,測試投入工作的時間與最終的收益不成比例。

另外測試人員對相同內容的重復測試,會有一種疲憊感,這樣一來會給測試人員帶來消極情緒,當真的有問題(尤其是較復雜的數據問題)發(fā)生時,也可能會因為這種疲憊而將問題忽略(如果一個用例測了10遍都沒問題,第11遍測的時候心里可能會默認這個地方是沒問題的了)。這時候有些測試人員可能會考慮做自動化測試,但是自動化測試前期投入的成本較高,另外對測試人員的要求較高。如果項目變動比較頻繁,部分自動化測試可能需要重新設計,會帶來較高的成本。

而Diffy為上述問題提供了較好的解決方案,不同于我們常用的其他測試工具或框架從代碼或接口的返回結果的正確性去驗證,而是如其名:通過代碼的差異去驗證測試

需要注意的是:既然是差異,那至少是兩者之間比較才有差異,對于第一行代碼或新增的功能無法比較,自然也就無法驗證,這時diffy無法發(fā)揮作用。但在后續(xù)增加修改,項目不停迭代的周期中,diffy就可以發(fā)揮它的舞臺了,有了上一版本以及測試人員在上一版本測試工作的基礎,我們就通過上一版本和當前版本比較差異了。

2. Diffy適用場景

①、場景驗證:

比如某個接口返回的數據中的”name”字段獲取由user數據庫表改為mobile_user數據庫表,那么從接口角度來講,通過對比這個接口在新老版本代碼的返回結果,就可以知道其字段的基本正確性與差異性。

②、提升回歸效率:

就一般的接口測試來說,每次代碼迭代,除了對新接口的測試,還包括對老接口的回歸。如果通過手工回歸,那么隨著接口數量的增加,測試人員的工作量將同樣地線性增長,且效率將大幅降低。通過diff測試,可以發(fā)現(xiàn)相同接口下內部代碼邏輯變更對其輸出的影響,測試人員只需要對比diff接口的差異之處(或自動對比),從而大幅減少人工作業(yè)的工作量。

3. Diffy一般操作流程

①、分別部署新、老代碼:其中老代碼為線上穩(wěn)定版本,新代碼為新迭代的測試版本。

②、構造測試數據:我們可以手工構造測試數據,也可以對線上的數據進行抽樣,用于diff測試。

③、運行測試:使用測試數據分別在新、老代碼中運行,并捕獲測試結果。

④、結果對比:對比新、老代碼,相同接口下的輸出,如果出現(xiàn)差異,則可以通過接口反向定位問題。

4. Diffy工作原理

在測試過程中,Diffy充當一個代理,它能夠將來源請求分發(fā)到不同版本的系統(tǒng)中去,通過對各個版本系統(tǒng)的輸出進行對比,做出最終的結論。

Diffy需要三個版本的系統(tǒng),以實現(xiàn)它的噪聲過濾和對比功能,它們分別是:

  1. 候選版本:該版本是待測版本,相對于生產環(huán)境版本有著跟新的代碼。
  2. 穩(wěn)定版本:該版本通常是已經上線版本,或者是已知功能正常的版本。
  3. 穩(wěn)定版本副本:該版本是穩(wěn)定版本的副本,和穩(wěn)定版本運行相同的代碼,主要用于排除噪聲。

整個運行流程為:

一款不用寫代碼,簡單,高效的開源自動化測試工具Diffy

如圖所示,diffy能夠比較primary(線上穩(wěn)定版本)和secondary(線上穩(wěn)定版本備份)的差異值,通過對這些差異值做減法來消除噪聲;通過比較candidate(測試版本)和primary(線上穩(wěn)定版本)得到基本的diff結果;最后通過比對基本的diff結果與消除噪聲后的結果,得到最終的diff結果。

其中:

  • 原始區(qū)別為候選版本和穩(wěn)定版本之間輸出的區(qū)別,其中可能會包含上述的噪聲。
  • 噪聲從穩(wěn)定版本和其副本中獲得,如果兩個運行相同代碼的系統(tǒng)輸入相同輸出卻不同,則Diffy會認為這是開發(fā)人員不需要關心的噪聲。

基于上述兩個區(qū)別集合,Diffy可以識別出候選版本和穩(wěn)定版本真實的區(qū)別,這些區(qū)別很有可能就是一個缺陷。

當然,對于一個概率性出現(xiàn)隨機值,僅僅一次請求的結論可能是不準確的。例如對于一個50%概率出現(xiàn)true或者false的布爾值,則有50%的概率會出現(xiàn)候選版本和穩(wěn)定版本的不同,同時又會有50%的概率出現(xiàn)穩(wěn)定版本和其副本出現(xiàn)不同(即將這個值認定為噪聲),最終會有25%的概率認為這是一個缺陷。因為此時穩(wěn)定版本和其副本值相同,候選版本和穩(wěn)定版本值不同。因此,Diffy還會聚合原始區(qū)別和噪聲,當發(fā)現(xiàn)二者出現(xiàn)的概率類似的時候,會認定之前識別出來的缺陷屬于誤報。

5. Diffy安裝、使用

1、克隆代碼并構建

下載diffy-server,也可以在github上下載源碼編譯 twitter/diffy , diffy是twitter使用scala語言開發(fā)的項目,在安裝了jdk的基礎上,還需要安裝scala和sbt(類似于maven), 另外有些jar包需要從twitter下載,可能需要vpn。

2、例如,在localhost:9990部署primary(線上穩(wěn)定版本)的代碼。

3、例如,在localhost:9991部署secondary(線上穩(wěn)定版本備份)的代碼。

4、例如,在localhost:9992部署candidate(測試版本)的代碼。

5、在下載好jar包之后,可直接通過java命令啟動diff服務:

各參數詳細說明:

需要注意的是,為了防止測試對數據造成不必要的影響,diffy默認只支持讀,即Post及Delete影響數據的等請求不會轉發(fā),如果需要支持這樣的請求,需要增加參數。

命令模板(根據實際情況修改參數值即可)

6、對diffy發(fā)一些請求

在http://localhost:8888中檢查結果,結果展示如下圖

一款不用寫代碼,簡單,高效的開源自動化測試工具Diffy

 

如圖所示,我們可以看到每個請求在不同節(jié)點上的差異之處,如果點擊“Exclude Noise”,則可以消除噪聲,看到最終的diff結果。

一款不用寫代碼,簡單,高效的開源自動化測試工具Diffy

7. 小結

上述對diffy作了一些基本的介紹和使用引導,利用diffy結合gor及nginx或filter等手段還可以擴展很多其它的測試實踐。關于gor的介紹和用法可查閱:推薦一款簡單易用線上引流測試工具:GoReplay,diffy更多高級用法,歡迎大家自行探索。

 

責任編輯:張燕妮 來源: 今日頭條
相關推薦

2022-06-16 11:57:22

自動化安全開源

2016-11-11 14:34:46

開源開源工具

2020-07-17 07:41:29

開源開發(fā)技術

2020-08-07 08:10:25

開源技術 工具

2020-08-24 06:58:01

滲透測試工具物聯(lián)網設備安全攻擊測試

2012-12-24 22:54:31

2014-04-16 14:15:01

QCon2014

2011-05-10 09:55:14

2019-10-28 15:14:53

Python腳本語言Java

2014-11-12 09:24:00

2022-06-06 06:00:00

開源無代碼測試工具

2017-11-08 08:20:45

2018-08-01 09:00:00

測試工具負載測試性能測試

2011-11-18 09:11:21

Web

2020-12-08 06:20:00

Python自動化工具開源

2011-05-31 18:17:07

分布式測試

2011-05-30 17:50:23

分布式測試

2022-07-04 09:00:36

Playwright自動化測試工具

2020-07-08 13:27:59

開源自動化測試框架

2015-08-10 11:41:00

SQL注入SQL注入工具Sqlmapi
點贊
收藏

51CTO技術棧公眾號

亚洲精品电影网| 欧美视频自拍偷拍| 琪琪亚洲精品午夜在线| 麻豆网站在线| 懂色av中文一区二区三区 | japanese在线视频| 亚洲伊人春色| 日韩精品免费看| 日本一二三区在线视频| 成人中文字幕电影| 久久精品第九区免费观看| 任你弄精品视频免费观看| 亚洲精品电影在线| 日本福利在线观看| 国产精品久久久久aaaa| 热久久最新地址| 在线观看视频免费一区二区三区| 精品中文字幕在线| 成年人国产在线观看| 欧美性xxxxx极品娇小| 成人黄色一区二区| 国产美女视频91| 精品免费视频123区| 神马日本精品| 中文字幕国产亚洲2019| 在线观看午夜av| 欧美日韩国产中文精品字幕自在自线 | 亚洲精品国产无套在线观| 久久最新资源网| missav|免费高清av在线看| 欧美日韩亚洲高清| 别急慢慢来1978如如2| 久久国产欧美日韩精品| 亚洲综合中文字幕在线| 亚洲影院天堂中文av色| 精品中文字幕在线| 日韩电影精品| 在线成人中文字幕| 久九九久频精品短视频| 精品久久99ma| 中文字幕有码在线观看| 欧美日韩亚洲综合一区| 精彩国产在线| 欧美日韩中文在线观看| 中文字幕免费在线视频| 一区二区三区在线视频免费观看 | 亚洲综合精品久久| 中文字幕第100页| 国产精品视频一二| 亚洲另类第一页| 国产日韩精品一区二区浪潮av| 男人添女荫道口女人有什么感觉| 免费在线视频一区| 视频在线观看成人| 日本vs亚洲vs韩国一区三区| 欧美一二三四五区| 免费看欧美女人艹b| 亚洲 日韩 国产第一区| 奇米精品一区二区三区在线观看一 | 91精品精品| 91九色综合久久| 亚洲最大黄网| 久久大香伊蕉在人线观看热2| 国产精品九九| 国产三级精品在线不卡| 久久久久欧美精品| 久久观看最新视频| 久久精品欧美一区二区三区不卡| 最新天堂中文在线| 天天综合色天天综合| 91看片在线观看| 精品无人国产偷自产在线| 亚洲天堂网站| 国产精品视频一区二区三区四 | 91久久青草| 日本久久中文字幕| 欧美激情麻豆| 一区二区三区av在线| 99久免费精品视频在线观看| 97在线观看播放| 91成人看片片| 欧美18—19sex性hd| 这里只有精品视频| 国产一区二区三区朝在线观看| 不卡毛片在线看| 中文字幕一区二区三区中文字幕 | 亚洲精品视频中文字幕| 久中文字幕一区| 国产亚洲依依| 羞羞答答国产精品www一本| 亚洲免费视频在线观看| 免费看的毛片| 亚洲精品成人悠悠色影视| 成年人黄色电影| 色诱亚洲精品久久久久久| yjizz视频网站在线播放| 欧美一区二区三区免费观看视频| 91精品视频在线免费观看| 亚洲第一区色| 国产欧美一区二区三区四区 | 国产精品国产三级国产aⅴ9色| 色yeye免费人成网站在线观看| 亚洲最新视频在线观看| 97国产精品视频| 99久久精品免费看国产小宝寻花 | 国产一区二区自拍| 九九精品视频在线看| 国产精品久久久久9999爆乳| 日本一区二区三级电影在线观看 | 色网在线视频| 日韩色在线观看| 99国产精品久久一区二区三区| 国产精品高潮呻吟视频| 日韩国产欧美一区二区三区| www.av中文字幕| 亚洲午夜日本在线观看| av软件在线观看| 久久久久久欧美| 国产欧美精品久久| 国产成人av影视| 欧美日韩在线观看一区二区 | 一本一本久久a久久精品综合妖精| 国产婷婷色一区二区三区四区| 亚洲嫩模一区| 国产香蕉97碰碰久久人人| 欧美1级片网站| 性欧美18一19内谢| 午夜精品爽啪视频| 日韩一级二级| 国产日韩欧美精品| 国产精品麻豆视频| 黄色精品在线观看| 国产精品亚洲片夜色在线| 东方aⅴ免费观看久久av| 先锋av资源在线| 日韩视频亚洲视频| 中文日韩在线| 探花国产精品| 最近2019年好看中文字幕视频| 亚洲欧美网站在线观看| 久操网在线观看| 日韩情涩欧美日韩视频| 精品国产导航| 精品一区二区三区毛片| 欧美色播在线播放| 久久男人av| 欧美国产视频一区| 欧美一区二区三区成人| 国产亚洲一卡2卡3卡4卡新区 | 成人自拍性视频| 久久久久久久网| 不卡一本毛片| 动漫精品视频| 一区二区三区欧美日韩| 日韩美女在线| 992tv快乐视频| 91高清视频免费看| 色中色综合网| 色综合手机在线| 日韩在线免费观看视频| 麻豆成人久久精品二区三区红| 在线欧美三级| 日本亚洲导航| 亚洲国产精品系列| 国产精品一区专区| 国产综合色激情| 可以免费观看av毛片| 欧美国产日本高清在线| 中文字幕制服丝袜一区二区三区 | 国产精品美女无圣光视频| 99久久99久久精品国产片果冻| 永久免费毛片在线播放| 日韩av图片| 91精品国产福利在线观看| 伊人精品视频| 岛国在线大片| 国产精品青草久久久久福利99| 亚洲一区二区三区四区在线| 亚洲精品3区| 992tv在线观看免费进| 97色在线视频| 成人免费在线观看入口| 偷拍亚洲色图| 性生大片免费观看性| www.欧美精品一二三区| 久久久午夜电影| 中文字幕一区日韩精品| 成人网18免费看| 日本久久中文字幕| 亚洲成人高清在线| 在线成人国产| 性欧美videos高清hd4k| 免费成人av网站| 色综合影院在线| 国产欧美一区二区在线| 亚洲免费毛片| 国产美女视频一区二区三区 | 亚洲人成人77777线观看| 91精品国产美女浴室洗澡无遮挡| 久久超碰97人人做人人爱|