一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

精準(zhǔn)測試之探索

京東云 ? 來源:jf_75140285 ? 作者:jf_75140285 ? 2024-09-26 17:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、怎樣的技術(shù)

?百度百科:

精準(zhǔn)測試是一套計(jì)算機(jī)測試輔助分析系統(tǒng)。

精準(zhǔn)測試的核心組件包含的軟件測試示波器、用例和代碼的雙向追溯、智能回歸測試用例選取、覆蓋率分析、缺陷定位、測試用例聚類分析、測試用例自動(dòng)生成系統(tǒng),這些功能完整的構(gòu)成了精準(zhǔn)測試技術(shù)體系。

?其他定義

精準(zhǔn)測試是中國自己有知識產(chǎn)權(quán)的完全的理論體系,它同時(shí)關(guān)注功能點(diǎn)和代碼相關(guān)邏輯這樣一個(gè)方法論,是一種灰盒的測試模式。

最開始在2014年的國際軟件測試大會(huì)上發(fā)布精準(zhǔn)測試的時(shí)候,它叫穿線測試,英文名字叫Threading Test,表達(dá)了精準(zhǔn)測試的本質(zhì),Threading這個(gè)英文單詞本身有兩個(gè)含義,一個(gè)是穿線一個(gè)是線程,建立用例和代碼的關(guān)系,相當(dāng)于把黑盒和白盒關(guān)聯(lián)起來,做黑盒測試也能看到白盒數(shù)據(jù),同時(shí)把開發(fā)和測試能夠關(guān)聯(lián)起來,測試一做完,開發(fā)的邏輯馬上就能自動(dòng)生成。另一個(gè)層面,精準(zhǔn)測試最本質(zhì)就是線程測試,因?yàn)榫珳?zhǔn)測試基于覆蓋率白盒理論產(chǎn)生,它跟白盒最大的區(qū)別是它的覆蓋率是線程級的,也就是說要追溯到用例這個(gè)級別。

二、技術(shù)發(fā)展

?歷史發(fā)展

wKgZomb1LI-ABSBFAAQZNxhO1dk470.png

?成熟度模型的五級劃分

wKgaomb1LJCAJ5NEAAlTVTo47LQ881.png

三、知識與技能

這里介紹兩款,分別為JAVA和C/C++相關(guān),

第一,開發(fā)的基礎(chǔ)和核心(編程)知識及所需要用到的版本管理工具(GIT)等。

第二,領(lǐng)域特定的知識、技術(shù)需要具備如下:

JAVA:Javassist(官網(wǎng)- https://www.javassist.org/ ),

ASM3.0(官網(wǎng)- https://asm.ow2.io/ ),

JaCoCo(官網(wǎng)- https://www.eclemma.org/jacoco/)。

C/C++:匯編、反匯編,PE,逆向工程(IDA)。

要用C/C++實(shí)現(xiàn),通用與效率等方面沒得說,但各協(xié)議的插樁,代碼信息的收集,復(fù)雜程度和工作量都不是一般人所能承受,要做好心里建設(shè)。

直接使用JaCoCo需要注意覆蓋率的誤差,一些語句行,分支層級,其誤差會(huì)被指數(shù)級放大。其更適用于偏向輔助個(gè)人開發(fā)者和小型項(xiàng)目組對項(xiàng)目覆蓋率進(jìn)行非?;A(chǔ)的評估。

?誤差產(chǎn)生的具體成因:

1.復(fù)雜系統(tǒng)通常由大量子模塊組成,JaCoCo無法實(shí)現(xiàn)對于內(nèi)部被調(diào)用的子模塊進(jìn)行插裝,因此對于子模塊覆蓋率的評估會(huì)產(chǎn)生顯著的誤差。

2.如果某個(gè)子模塊沒有被調(diào)用,那么對于JaCoCo來說,該模塊內(nèi)的方法等同于不存在。JaCoCo需要調(diào)用該子模塊,才能將該子模塊內(nèi)的代碼計(jì)入覆蓋率計(jì)算的“分母”。

3.除了幾種既定的邏輯意外事件,JaCoCo無法正確處理例外情況(Exception),如果在控制流程中遇到Exception,JaCoCo會(huì)把這種情況直接標(biāo)記為未覆蓋,這種判定方式直接的影響到了對程序邏輯關(guān)系的把控,造成對于覆蓋率無法準(zhǔn)確評估。

?誤差引發(fā)的后果:

1.偽瓶頸的產(chǎn)生,以及對測試質(zhì)量的錯(cuò)誤高估。第一種情況,測試人員投入大量工作之后,卻無法進(jìn)一步提升覆蓋率,造成對資源和實(shí)踐的浪費(fèi);第二種情況,會(huì)讓用戶誤將未達(dá)標(biāo)的系統(tǒng)判定為達(dá)標(biāo),有可能引發(fā)嚴(yán)重的生產(chǎn)事故。

2.無法實(shí)現(xiàn)缺陷定位,大量的算法和應(yīng)用依托覆蓋率的輸入,而缺陷定位更是其中最主要的實(shí)踐。

3.回歸測試的精準(zhǔn)度,受到了嚴(yán)重的影響。

?無損插樁技術(shù)(推薦)

wKgZomb1LJSABXDzAAI4ladk0Oo243.png

精準(zhǔn)測試推出的SABI和SASI是中國自己的技術(shù)

SABI,SouceCode Analyzer ByteCode Intrumentation,就是說源碼分析,字節(jié)碼查看,觀測和分析是在源碼,插樁是在字節(jié)碼。

SASI,SouceCode Analyzer SouceCode Intrumentation,這是傳統(tǒng)商用白盒最基礎(chǔ)的技術(shù),有時(shí)候?qū)υ创a進(jìn)行分析,直接在源碼插裝。源碼插裝以后,代碼經(jīng)過高級語言、高級編譯器的編譯,直接生成最后發(fā)布包。這種是完全無損的標(biāo)準(zhǔn)技術(shù),插裝代碼經(jīng)過編譯器編譯后執(zhí)行可靠性更高。

四、總結(jié)與介紹

大綱

wKgaomb1LJWAE7VWAAFAkK-NLVs492.png

1、測試范圍,代碼分析

wKgZomb1LJaADOQiAAqr9Mi_c5Q118.png

2、差異化

wKgaomb1LJeAGq9fAAUlmD9YSOA138.png

?

3、調(diào)用關(guān)系

wKgZomb1LJeAf9VHAADEvoBUhl0292.png

4、度量與分析

wKgaomb1LJeAV-PGAAwdj1mGn3Y300.png

5、質(zhì)量評估

wKgZomb1LJiAA1RyAAK-QXQUKCU730.png

6、知識庫兼優(yōu)化

wKgaomb1LJiALK4vAAeHH6-CGNo431.png

7、用例預(yù)分析

wKgZomb1LJqAEVwyAAKKGY5WROY179.png

8、自動(dòng)化測試與精準(zhǔn)測試

wKgaomb1LJqAEyaPAAF7XrwFya4976.png

五、平臺

>設(shè)計(jì)思路

從產(chǎn)品的需求、功能模塊,開發(fā)的代碼到測試的用例,從正向到逆向的覆蓋,追溯和可視。

wKgZomb1LJuATIKBAACHhzKkXhQ906.png

>大綱

wKgaomb1LJuAdog3AAkHG3hV9ek504.png

>調(diào)用鏈與代碼覆蓋

使用的是插樁,有點(diǎn)類似C++中的Hook技術(shù),獲取所需數(shù)據(jù)信息。

wKgZomb1LJyADb6XAALlV8wB8n0778.png

協(xié)議,HTTP,MySql,Dubbo,Redis等,需要先進(jìn)行分析,找到關(guān)鍵插樁位置,然后結(jié)合使用設(shè)計(jì)模式進(jìn)行收集(所需)信息。

設(shè)計(jì)模式推薦兩個(gè),1、反射+適配器,2、動(dòng)態(tài)代理。

需要注意,代碼膨脹問題。

>影響范圍

假如有個(gè)應(yīng)用系統(tǒng)開發(fā)出A版本提測,通過前端功能發(fā)起HTTP接口,平臺的實(shí)時(shí)快照收到HTTP接口信息,將該次的接口相關(guān)信息(類、方法、執(zhí)行代碼行數(shù))保存為系統(tǒng)快照; 當(dāng)A版本開發(fā)后變?yōu)锳_01版本,使用平臺對兩次版本(Jar包或War包)進(jìn)行比對,通過系統(tǒng)快照中信息會(huì)分析出變更項(xiàng)與影響項(xiàng),如:類、方法、接口。

wKgaomb1LJyAdJwoAABXHReL-5o184.png

根據(jù)影響用例中的菜單與接口,到接口測試工具中進(jìn)行執(zhí)行。

wKgZomb1LJ2ATAYAAAZ_8ZXmA9A127.png

>實(shí)現(xiàn)與應(yīng)用

通過數(shù)據(jù)進(jìn)行可視化,顯示服務(wù)/應(yīng)用的啟動(dòng),拓?fù)鋱D,調(diào)用鏈,代碼覆蓋,版本比對等信息。

wKgaomb1LJ6AYHJ1AAeOtnt_Zxo258.png

>>項(xiàng)目列表

添加,服務(wù)/應(yīng)用

wKgZomb1LJ6AEIQSAAByj_f0OhE044.png

>>項(xiàng)目動(dòng)態(tài)

wKgaomb1LKCASZ_LAB32amV5wz0295.gif

啟動(dòng),服務(wù)/應(yīng)用

wKgZomb1LKGAMmuFAAHlKKgcKSE365.png

1、搜索

可顯示多個(gè)服務(wù)/應(yīng)用的拓?fù)潢P(guān)系圖

wKgaomb1LKGAQYT0AACxItGcIbY450.png

1)詳情視圖

wKgaomb1LKSAFgr4AD1B5-l7Fpg055.gif

wKgZomb1LKeAV4VIAADtCOjV0vs669.png

?表結(jié)構(gòu),可查看接口與數(shù)據(jù)庫表間的關(guān)聯(lián)

wKgaomb1LKeAZWQHAASOIiidBwY883.png

?熱點(diǎn),可查看接口與數(shù)據(jù)庫表的關(guān)聯(lián)個(gè)數(shù)

wKgZomb1LKmAcaitAAQ2-Fqvgwg420.png

2)展開快照

chaijie_default.png

這里顯示的節(jié)點(diǎn)是保存到系統(tǒng)快照的。

?表結(jié)構(gòu)-數(shù)據(jù)庫表,遠(yuǎn)程服務(wù)-調(diào)用的rpc接口,源碼-代碼關(guān)系圖層;

wKgZomb1LLmANWp_AALFSMxd8C0661.png

wKgaomb1LLqAFBAaAAQsgZpA3AI946.png

?遠(yuǎn)程服務(wù),顯示遠(yuǎn)程調(diào)用接口,如dubbo接口;

wKgZomb1LLyADqeVAAORoN_63A4567.png

?源代碼關(guān)系圖譜,可查看代碼關(guān)聯(lián)關(guān)系和覆蓋程度;

wKgaomb1LL6AKzqEAAuMC0ZOF94845.png

?清除圖譜,清除表結(jié)構(gòu)、遠(yuǎn)程服務(wù)、源代碼關(guān)系節(jié)點(diǎn);

?詳情頁,跳轉(zhuǎn)到快照詳情頁;

?概要,顯示快照詳情中圖片;

?刪除節(jié)點(diǎn),刪除顯示的節(jié)點(diǎn);

3)搜索

wKgZomb1LL-AWhFaAABHaZhV6Mw887.png

?搜索數(shù)據(jù)庫表中,表名,字段名,篩選條件;

wKgaomb1LMGAM2XQAAfSjbnSEHg180.png

?搜索接口,HTTP接口;

wKgaomb1LMKAQ-Y2AAGO3Mmqk04096.png

2、監(jiān)控臺

通過HTTP接口實(shí)時(shí)獲取到協(xié)議、代碼相關(guān)信息,不同于通過單元測試得到代碼覆蓋率,然后將這些信息保存下來(我的快照和系統(tǒng)快照)。

wKgZomb1LMiAZ36bAERxccv0Uh4721.gif

1)實(shí)時(shí)監(jiān)控

實(shí)時(shí)展示接口的調(diào)用鏈及鏈上各節(jié)點(diǎn)信息

wKgaomb1LMiAD8STAAPFA_FbNPE194.png

2)我的快照

實(shí)時(shí)監(jiān)控中可保存為我的快照,

2.1)調(diào)用鏈和鏈路分析的可視化

調(diào)用鏈即是服務(wù)與中間件的調(diào)用鏈拓?fù)鋱D層;鏈路分析即是代碼鏈路分析關(guān)系圖譜。

?"流程圖(拓?fù)鋱D)"中可查看到覆蓋后端及各中間件信息;

wKgZomb1LMmAJni0AAGfQMUwXlo282.png

?"堆棧列表"中展示服務(wù)與中間件的應(yīng)用名,類型,服務(wù)/方法,用時(shí)等信息;

wKgZomb1LMqAGdeiAAGo_p9x3Fg468.png

?點(diǎn)擊""彈窗為代碼圖譜(代碼鏈路分析關(guān)系圖譜),點(diǎn)擊某個(gè)節(jié)點(diǎn),即顯示某個(gè)方法的方法名稱、執(zhí)行到的代碼行數(shù)、代碼總數(shù)、代碼覆蓋率和圈復(fù)雜度信息,

wKgaomb1LMyAXUM8AAUavmuGDIo216.png

wKgZomb1LNSAYPQdAAWzAXANivQ915.png

根據(jù)某個(gè)尾節(jié)點(diǎn),能尋到開始節(jié)點(diǎn);

wKgaomb1LNWACmIZAAZyd2nAbsw782.png

2.2)查看代碼覆蓋率報(bào)告

代碼覆蓋率信息列表,顯示我的快照列表中所有覆蓋率信息,類名、方法名、執(zhí)行代碼行數(shù)、方法行數(shù)、覆蓋率、圈復(fù)雜度;

wKgZomb1LNeAOb-cAAcVHAP3CeY705.png

3、應(yīng)用中心

1)在線應(yīng)用

wKgaomb1LNeAYVU_AAE4IUWXfDQ718.png

2)應(yīng)用

2.1)系統(tǒng)快照

chaijie_default.png

快照目錄,點(diǎn)擊鏈接進(jìn)入系統(tǒng)快照詳情頁

wKgZomb1LOWAAkIqAAMOv6VEO9k902.png

系統(tǒng)快照詳情頁,基本信息頁簽

wKgaomb1LOaADFnIAAPB6bZvyhs126.png

系統(tǒng)快照詳情頁,流程圖頁簽

wKgZomb1LOeAFPC5AAKFqILUiUQ541.png

系統(tǒng)快照詳情頁,堆棧列表頁簽,點(diǎn)擊打開代碼關(guān)系圖層(代碼關(guān)系鏈)

wKgaomb1LOmAbnF8AAJi7J4XZTQ738.png

2.2)版本比對

比對文件格式為Jar或War包,比對之后會(huì)產(chǎn)生記錄報(bào)告

wKgZomb1LOuAEJlzAA5LFXqNCu0322.gif

wKgaomb1LPGAdin1AAEzRmKjiWo735.png

開始比對后的結(jié)果顯示,能查看報(bào)告,顯示差異項(xiàng),(比對)日志輸出(新增、修改、變更、刪除的文件與方法,類與方法的影響數(shù))

wKgZomb1LPKAAEpZAAMKYgXwzS8781.png

2.2.1)報(bào)告

比對成功后查看報(bào)告,顯示變更項(xiàng),影響用例,對比日志;點(diǎn)擊影響用例鏈接,會(huì)跳轉(zhuǎn)到(系統(tǒng))快照詳情頁

wKgaomb1LPOAPoq2AAPu6_2NYIo151.png

參考

1、百度百科-精準(zhǔn)測試, https://baike.baidu.com/item/精準(zhǔn)測試/22355867?

2、精準(zhǔn)測試白皮書v3.0-2019最新版,作者:星云精準(zhǔn)測試, https://wenku.baidu.com/view/fe7e99a401d276a20029bd64783e0912a2167c23.html

3、《不測的秘密-精準(zhǔn)測試之路》,作者:TMQ精準(zhǔn)測試實(shí)踐團(tuán)隊(duì)。

4、源碼閱讀網(wǎng):http://www.coderead.cn/home/index.html?

5、網(wǎng)易嚴(yán)選的精準(zhǔn)測試實(shí)踐, https://www.infoq.cn/article/xuu91crqa4hcjz8uomjs

?審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 測試
    +關(guān)注

    關(guān)注

    8

    文章

    5708

    瀏覽量

    128927
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    什么是探索測試ET

    探索測試ET(exploratory)是和ST(script based test)相比較而言的.籠統(tǒng)地說,ST就是有確定的步驟和預(yù)期目標(biāo)的測試.探索
    發(fā)表于 07-05 06:38

    請問如何解決小信號測試精準(zhǔn)度問題?

    如何解決小信號測試精準(zhǔn)度問題?12bit示波器成為“芯”趨勢
    發(fā)表于 12-01 07:29

    如何對stm32F407探索者進(jìn)行測試

    如何對stm32F407探索者進(jìn)行測試呢?
    發(fā)表于 10-21 07:34

    chroma16502數(shù)字電橋電阻電容電感測試測試精準(zhǔn)chroma16502電阻測試

    二手chroma16502數(shù)字電橋電阻電容電感測試測試精準(zhǔn)chroma16502電阻測試儀+價(jià)格“1550”廣州發(fā)j貨chroma16502數(shù)字電橋電阻電容電感
    發(fā)表于 01-06 17:57

    YIE002開發(fā)探索RS4852串口

    YIE002開發(fā)探索串口(485)1 YIE002上的RS4852 YIE002-STM32的串口編程(485)2.1 串口(485)的Cube MX圖形配置2.2 添加應(yīng)用代碼1)設(shè)置
    發(fā)表于 01-14 08:14

    特性阻抗詮釋與測試

    特性阻抗詮釋與測試
    發(fā)表于 07-11 16:43 ?18次下載

    EMC測試標(biāo)準(zhǔn)雷擊浪涌測試

    EMC測試標(biāo)準(zhǔn)雷擊浪涌測試說明。
    發(fā)表于 05-30 10:03 ?87次下載

    星云測試--測試數(shù)字化轉(zhuǎn)型精準(zhǔn)測試與用例引擎的雙輪驅(qū)動(dòng)

    創(chuàng)始人、產(chǎn)品設(shè)計(jì)師趙明,應(yīng)邀參加大會(huì)China Test第十屆中國軟件測試大會(huì),并做“測試數(shù)字化轉(zhuǎn)型精準(zhǔn)測試與用例引擎的雙輪驅(qū)動(dòng)”的主題演
    的頭像 發(fā)表于 09-16 17:04 ?2583次閱讀
    星云<b class='flag-5'>測試</b>--<b class='flag-5'>測試</b>數(shù)字化轉(zhuǎn)型<b class='flag-5'>之</b><b class='flag-5'>精準(zhǔn)</b><b class='flag-5'>測試</b>與用例引擎的雙輪驅(qū)動(dòng)

    探索編碼器電機(jī)步進(jìn)跟蹤器

    電子發(fā)燒友網(wǎng)站提供《探索編碼器電機(jī)步進(jìn)跟蹤器.zip》資料免費(fèi)下載
    發(fā)表于 01-05 10:40 ?1次下載
    <b class='flag-5'>探索</b>編碼器<b class='flag-5'>之</b>電機(jī)步進(jìn)跟蹤器

    特性阻抗詮釋與測試.zip

    特性阻抗詮釋與測試
    發(fā)表于 12-30 09:21 ?3次下載

    焊線拉力測試機(jī)如何精準(zhǔn)測試與準(zhǔn)確判斷焊接質(zhì)量

    焊線拉力測試機(jī)如何精準(zhǔn)測試與準(zhǔn)確判斷焊接質(zhì)量
    的頭像 發(fā)表于 11-09 09:09 ?997次閱讀
    焊線拉力<b class='flag-5'>測試</b>機(jī)如何<b class='flag-5'>精準(zhǔn)</b><b class='flag-5'>測試</b>與準(zhǔn)確判斷焊接質(zhì)量

    五軸按鍵測試機(jī):精準(zhǔn)評估按鍵性能的利器

    五軸按鍵測試機(jī):精準(zhǔn)評估按鍵性能的利器
    的頭像 發(fā)表于 12-26 09:15 ?1060次閱讀
    五軸按鍵<b class='flag-5'>測試</b>機(jī):<b class='flag-5'>精準(zhǔn)</b>評估按鍵性能的利器

    精準(zhǔn)可靠的工具:螺絲扭力測試

    精準(zhǔn)可靠的工具:螺絲扭力測試
    的頭像 發(fā)表于 01-17 09:14 ?957次閱讀
    <b class='flag-5'>精準(zhǔn)</b>可靠的工具:螺絲扭力<b class='flag-5'>測試</b>儀

    探索EMC(電磁兼容):原理、測試與應(yīng)用?

    探索EMC(電磁兼容):原理、測試與應(yīng)用?|深圳比創(chuàng)達(dá)電子
    的頭像 發(fā)表于 03-25 11:19 ?1278次閱讀
    <b class='flag-5'>探索</b>EMC(電磁兼容):原理、<b class='flag-5'>測試</b>與應(yīng)用?

    探索 MEMS 可編程 LVCMOS 振蕩器 SiT8009 系列:精準(zhǔn)與靈活的時(shí)脈先鋒

    探索 MEMS 可編程 LVCMOS 振蕩器 SiT8009 系列:精準(zhǔn)與靈活的時(shí)脈先鋒
    的頭像 發(fā)表于 08-09 14:51 ?641次閱讀
    <b class='flag-5'>探索</b> MEMS 可編程 LVCMOS 振蕩器 SiT8009 系列:<b class='flag-5'>精準(zhǔn)</b>與靈活的時(shí)脈先鋒