最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

軟件測(cè)試 | 精準(zhǔn)化測(cè)試

2023-05-26 18:37 作者:愛(ài)測(cè)軟件測(cè)試  | 我要投稿

精準(zhǔn)化測(cè)試的發(fā)展歷史

精準(zhǔn)化測(cè)試在 2019 年開(kāi)始大熱,在此之前的 10 年里,已經(jīng)陸續(xù)有很多人投入研究,螞蟻金服的兩位 同學(xué)周為、翟帥兩位同學(xué)的實(shí)時(shí)代碼染色技術(shù),把精準(zhǔn)化測(cè)試提高了一個(gè)新的高度,并迅速在業(yè)界大 熱。

  • 百度利用覆蓋率增量從回歸數(shù)據(jù)中提取有效覆蓋

  • 精準(zhǔn)定位用例數(shù)據(jù)與覆蓋率關(guān)系

  • 代碼行為流建模

  • 星云測(cè)試

  • 有贊集成測(cè)試覆蓋率統(tǒng)計(jì)實(shí)踐

  • 螞蟻金服的代碼實(shí)時(shí)染色

代碼調(diào)用鏈分析

常見(jiàn)的調(diào)用鏈分析方法主要有

  • 基于 AST 的語(yǔ)法樹(shù)分析

  • 基于字節(jié)碼分析

調(diào)用鏈的動(dòng)態(tài)分析方法

  • 基于 gdb/jdb 的調(diào)試器分析

  • jvmti/jvmpi

  • jvm-sandbox、bytebuddy、btrace 共工具

代碼覆蓋率其實(shí)是一種丟失了時(shí)序結(jié)構(gòu)的調(diào)用鏈數(shù)據(jù)。調(diào)用鏈的本質(zhì)是一種具備調(diào)用節(jié)點(diǎn)順序的列表, 覆蓋率則是為了方便分析把列表降級(jí)成了集合。

調(diào)用鏈?zhǔn)且环N圖結(jié)構(gòu),可以適當(dāng)?shù)暮?jiǎn)化為樹(shù)結(jié)構(gòu)方便分析。根據(jù)代碼的調(diào)用鏈,根據(jù)一些真實(shí)的項(xiàng)目做 了一個(gè)調(diào)用鏈的示意圖,方便大家理解。

調(diào)用鏈就是一種帶有分支的流程圖。測(cè)試工程師提到的調(diào)用鏈,與架構(gòu)師提到的調(diào)用鏈并不完全相同。 比如類似 skywalking、zipkin 之類的全鏈路 trace 系統(tǒng)是可以追蹤代碼的執(zhí)行鏈路,多數(shù)可以到函數(shù)級(jí) 別,而測(cè)試工程師要分析代碼的與業(yè)務(wù)之間的關(guān)系,需要追蹤到代碼行與分支級(jí)別。

用例與代碼關(guān)聯(lián)

建立關(guān)聯(lián)關(guān)系的步驟

  • 執(zhí)行用例

  • 獲取用例對(duì)應(yīng)的代碼調(diào)用鏈

  • 建模分析

精準(zhǔn)化的關(guān)鍵,其實(shí)就是對(duì)業(yè)務(wù)、用例、代碼進(jìn)行關(guān)聯(lián)建模并追蹤他們的變化。

首先建立(業(yè)務(wù),用例,代碼調(diào)用鏈)三者的關(guān)聯(lián)數(shù)據(jù)表,可以簡(jiǎn)單理解為 python 的三元組,或者 java 的 hashmap。如果業(yè)務(wù)不清晰,可以暫時(shí)用用例代替業(yè)務(wù),如果調(diào)用鏈沒(méi)分析清楚,可以暫時(shí)用覆蓋率數(shù) 據(jù)作為替代。

應(yīng)用場(chǎng)景

精準(zhǔn)化測(cè)試的用途

  • 根據(jù)代碼變更定位用例范圍

  • 更準(zhǔn)確深入的覆蓋被測(cè)業(yè)務(wù)

  • 白盒探索式測(cè)試

  • 從線上數(shù)據(jù)反推有效測(cè)試用例

當(dāng)新版本發(fā)布的時(shí)候,代碼會(huì)發(fā)生變化(數(shù)據(jù)變化是另外一大話題,暫時(shí)忽略),首先分析代碼范圍, 然后分析變化點(diǎn)散落在哪些用例中,這樣就可以重點(diǎn)關(guān)注被影響波及的測(cè)試用例集合,這樣比全面回歸 測(cè)試能更高效精準(zhǔn)的發(fā)現(xiàn)問(wèn)題。

同時(shí)根據(jù)新增代碼的變更范圍,我們也可以了解到我們漏測(cè)的部分,并加強(qiáng)未覆蓋新增代碼的測(cè)試驗(yàn) 證。在白盒層面我們就可以建立起來(lái)具備快速探索與反饋的測(cè)試活動(dòng),有效避免漏測(cè)。

同樣利用線上的數(shù)據(jù),也可以幫助我們反推測(cè)試用例,比如百度曾經(jīng)就利用覆蓋率拆分技術(shù),把為期 2 天的全量回歸測(cè)試優(yōu)化為 2 個(gè)小時(shí)的回歸測(cè)試。把每個(gè)測(cè)試用例對(duì)應(yīng)的覆蓋率或者調(diào)用鏈拆分,根據(jù) 覆蓋率的不同可以自動(dòng)劃分為不同的等價(jià)類,從每個(gè)等價(jià)類集合中取少數(shù)代表性用例即可。通過(guò)這種方 式,可以有效彌補(bǔ)人工設(shè)計(jì)用例的不足。

打造自己的精準(zhǔn)化測(cè)試平臺(tái)

越來(lái)越多的公司開(kāi)始招聘測(cè)試開(kāi)發(fā)工程師,甚至是研發(fā)工程師設(shè)計(jì)自己的精準(zhǔn)化測(cè)試平臺(tái),精準(zhǔn)測(cè)試雖 然起源于測(cè)試團(tuán)隊(duì),但是他的應(yīng)用價(jià)值是超越測(cè)試,橫跨整個(gè)產(chǎn)品開(kāi)發(fā)團(tuán)隊(duì)的,所以精準(zhǔn)化測(cè)試的平臺(tái) 會(huì)是大勢(shì)所趨。

為了照顧很多中小公司的同學(xué),霍格沃茲測(cè)試學(xué)院為大家研究出了一套簡(jiǎn)化的適合中小公司使用的平民 版精準(zhǔn)化測(cè)試技術(shù)體系,可以用來(lái)簡(jiǎn)單的實(shí)現(xiàn)精準(zhǔn)化測(cè)試方案

  • 使用 sonarqube 作為覆蓋率與測(cè)試用例的分析平臺(tái)

  • 使用 jacoco 作為代碼覆蓋率的分析工具

  • 使用 jacoco-cli 實(shí)現(xiàn)對(duì)單個(gè)用例的覆蓋率收集

  • 使用 scanner 完成覆蓋率導(dǎo)入

  • 調(diào)整 sonarqube 平臺(tái)中覆蓋率展示的信息,加入關(guān)聯(lián)測(cè)試用例的展示,方便在未覆蓋的代碼附近可 以找到最接近的測(cè)試用例


軟件測(cè)試 | 精準(zhǔn)化測(cè)試的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
文安县| 安宁市| 句容市| 南投县| 滁州市| 阿荣旗| 静海县| 宁化县| 洪江市| 睢宁县| 崇左市| 依兰县| 扬州市| 高尔夫| 益阳市| 游戏| 镇原县| 太仆寺旗| 崇信县| 巨野县| 邵阳县| 万宁市| 南雄市| 惠安县| 昭苏县| 丰镇市| 延安市| 洛扎县| 瓦房店市| 邛崃市| 紫阳县| 邢台县| 巫溪县| 堆龙德庆县| 合阳县| 县级市| 阿图什市| 河源市| 平利县| 长子县| 平山县|