在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

針對CIMS系統中測試集的篩選問題進行研究

集成電路應用雜志 ? 來源:未知 ? 作者:工程師郭婷 ? 2018-08-30 17:20 ? 次閱讀

1 引言

隨著信息化社會的飛速發展,圖形處理芯片 GPU芯片的功能越來越豐富,性能要求越來越高,應用領域也越來越多源化。相應地,在 GPU 架構設計環節,功能級仿真 C-model 的規模和復雜度也不斷增大。整個項目設計周期內,任何新版本的引入,無論是源于對已有錯誤的修正,還是為支持新功能而增加模塊,都可能對原有 C-model 帶來影響。如果無限制地任由研發團隊的每個人隨意檢出檢入,就會給項目帶來風險,因此就需要對代碼進行版本控制和有效管理。

與此同時,代碼的頻繁修改,理論上都需要更高頻率的測試來驗證,才能避免新錯誤的引入,確保芯片的正常功能。其過程十分重要,但是需要大量的人力、物力成本。因此,要確保項目高效正向推進,有必要在代碼提交前對其進行有效的預檢,為后續的回歸測試和錯誤跟蹤節省成本。

眾所周知,測試用例決定了測試的成本及效果,針對版本控制系統端的測試用例,時效性顯得尤為重要。因此,如何在時間有限的約束條件下,在代碼預檢端優選出能保障代碼質量的測試用例集合,成為本文研究的重點。

2 CIMS 原理框架和集合覆蓋問題

2.1 CIMS原理框架

作為我們自行研發的自動化測試框架的一部分,檢入管理系統 CIMS(Check In Management System)相當于軟件版本管理系統的前置過濾器。圖 1 為其工作流程圖。該系統利用 Perforce 提供的trigger 功能,將我們自定義的腳本嵌入。當研發人員修改代碼并檢入時,p4server 自動調用腳本對修改的代碼進行編譯和測試。只有通過所有編譯和測試項的修改,才可過關進而被成功提交至 Perforce 存儲庫,并獲得版本號。否則,修改將被退回,開發員可以通過 CIMS 系統提供的網頁界面查詢編譯和測試狀態,便于進一步自查和完善代碼。雖然通過 CIMS這套機制,對代碼質量設置了一定的門檻,但是也需要兼顧時間成本,為了讓 CIMS 發揮更大的作用,測試集的優選算法值得重點研究。

目前,測試人員普遍采用回歸測試來保證代碼修改的正確性,并避免代碼修改給被測程序其他模塊帶來的副作用。CIMS 系統中測試用例集的優選問題在以往的項目開發中,往往憑經驗從已有的回歸測試集合中,分模塊挑選,以提高整個 pipeline 的功能覆蓋,并無任何指標來評判其效用之優劣。本文從集合覆蓋角度,對如何從已有回歸測試集中篩選子集作為 CIMS 系統內的測試集展開研究。

2.2 集合覆蓋問題

在集合論中,集合覆蓋定義為:假設 A 是非空集合,如果 A 的若干非空子集的并集等于 A,則由這些子集構成的集合 C 稱為 A 的覆蓋。即非空集 A的一個覆蓋 C 是 A 的非空子集的集合。

經典的集合覆蓋問題 SCP(Set Covering Problem)描述如下:給定兩個集合 R 和 S,元素的集合 R 和 R 的子集的集合 S,目標是找到 S 的一個子集 C,使得 C 中所有集合的并等于 R,且使 |C| 最小。這是 NP-hard 類的最優化組合問題。

早期回歸測試工具大都基于黑盒測試。當時,還沒有任何回歸測試工具能在程序修改后自動在原始用例集中選擇出一個用例子集進行回歸測試,而是再測試全部已有用例進行回歸測試。在這種情況下,Fischer 等人研究了如何在原始用例集中選擇出一個最小的子集,用于回歸測試,且不會降低測試效果和程序的可靠性,最早提出了測試用例最小化的思想[1]。對測試用例集最小化的定義如下:給定測試需求集 R{R1,R2,R3.....Rm},測試用例集 T{T1,T2,T3....Tn},該測試用例集 T 能夠用來充分測試 R。問題:從 T 中找到一個最小子集 T',該子集 T' 能夠用來充分測試給定的測試需求集 R。

1993 年,Harrold 等人[2]首次提出了測試用例集約簡的概念,也就是要在原始的測試用例中尋找一個子集,實現測試需求的充分覆蓋。隨后研究人員圍繞測試用例集約減問題提出了貪心算法[3]、整數規劃算法、遺傳算法、HGS 等算法。這些方法各有優勢和局限性,更多趨向于去除冗余的測試用例,沒有考慮到要縮減用例的根本原因是資源有限,而且約減的目的并不單是測試用例的個數越少越好,也要考慮約減后測試用例集的錯誤檢測能力是否保持在一定的水平上。為了充分利用資源,又兼顧資源的約束條件。

本文提出了一種改進的測試集優選算法,尋求能使代碼覆蓋率達到最大的用例集。

3 基于SCP原理的優化方案

3.1 集合覆蓋貪心算法

最早提出用貪心算法來求解測試用例集合覆蓋問題的是 V.Chvatal[4]。集合覆蓋貪心算法是測試用例集約減問題的一個常用近似算法。貪心策略的思路是從問題的初始狀態出發,通過若干次的貪心選擇而得出最優解(或較優解)。其算法執行過程如下:逐次從 T 中選擇一個測試用例,使之能盡可能多地滿足 R 中的測試需求,然后從 R 中刪除這些已被滿足的測試需求,循環幾次上述操作,直到所有測試需求都能被滿足(即 R 為空集)。

該算法的時間復雜度是 O (m,n,min(m,n))。算法如下。

input A:包含 m 個元素的集合

C(A):A 的 n 個子集的集合

output C:從 C(A) 中選擇的元素的集合

declare U:A 中所有未覆蓋元素的集合

X:從 C(A) 中選中的元素

Begin

/初始化/

U=A;

C=Φ;

While(U≠Φ )

/選擇一個能滿足未覆蓋元素的最大數目的子集/

select{X} C(A) such that |{X}∩ U| is maximum;

U=U{X};

C=C ∪ {X};

End-while

End

貪心算法所做出的選擇雖然只是在某種意義上的局部最優解,但許多問題自身的特性決定了該問題運用貪心策略可以得到最優解或較優解。CIMS 系統中測試集的集合覆蓋問題可以用貪心算法求解。即通過一系列當前狀態下某種意義的最好選擇(貪心選擇)來得到一個問題的解。最小化問題的貪心選擇性質表現為:問題的整體最優解是通過一系列局部最優的選擇,即貪心選擇來達到的。

3.2 測試用例約減模型

針對 CIMS 系統中測試集的集合覆蓋問題[4,5],本文定義了資源約束條件下的測試用例約減模型為:假設給定一個回歸測試用例集 R={r1,r2.....rn},其中每個測試用例對應的運行時間為 T={t1,t2....tn},每個測試用例對應的函數覆蓋率為 C={c1,c2....cn},假定約束時間為 Tsum,我們要找出一個測試用例集的子集 P={ p1,p2.....pm },其中 m

(3)

3.3 算法實現

根據測試用例約減模型,假設已有回歸測試用例集為 R={r1,r2.....rn},其對應的函數覆蓋率為 Ctotal,其中,每個測試用例 rn 對應了不同的函數覆蓋率 cn 和不同的測試時間 tn,取函數覆蓋率和測試時間的比值 cn/tn 作為該測試用例 rn 的優先級系數,需要選出最佳測試子集 P,使得該集合所對應的函數覆蓋率盡可能接近 Ctotal、該集合中所有測試用例運行時間之和不大于約束值 Tsum。算法流程如圖 2 所示,具體實現步驟如下。

(1)設定時間約束條件為 Tsum。

(2)將測試用例按其函數覆蓋率 Cn 從大到小排序,將排位第一的測試用例選入 P。

(3)在余下的測試用例中,篩選與已選中的測試用例對應的被覆蓋函數交集最小的測試用例,若其值相同,則選取優先級系數最大的測試用例。

(4)以此類推,依次選取,累加被選中的測試用例的運行時間,直到運行時間之和 ∑mi=1 ti 超過約束時間 Tsum 為止。

4 實驗驗證

本文研究的重點是基于函數覆蓋率的測試用例篩選,所以覆蓋率信息收集的是函數覆蓋率相關信息,包括覆蓋到的函數塊數量,總共的函數塊數量,以及兩者之間的比值即函數覆蓋率。另外,計算出每個測試用例覆蓋到的函數塊數量與其運行時間的比值,作為優先級系數。在算法中我們會優先考慮選擇運行時間盡可能短、而覆蓋率盡可能高的測試用例,從而來保證時間約束條件下,覆蓋更多的函數塊,得到的覆蓋率百分比盡可能地接近完全測試的覆蓋率百分比。

根據 3.2 中提出的用例約減模型,本文選取已有回歸測試用例 13 067 個進行實驗,圖 3 是利用工具 Bullseye 獲取單個測試用例的覆蓋率信息。

并且,編寫程序自動化采集下列相關信息。

(1)測試用例名稱。

(2)測試用例的函數覆蓋率信息。

(3)測試用例運行的時間。

(4)測試用例優先級系數等,部分數據如表 1 所示。

本文選取的 C-model 代碼擁有 13 216 個函數功能塊,實驗時所取的完全測試所得到的函數覆蓋率為 84%。實驗結果顯示:相同運行時間下,改進前 CIMS 測試集對應的函數覆蓋率為 49%,而采用本文算法后獲得的測試集所對應的函數覆蓋率可達 76%(參見圖 4)。

實驗證明,采用本文的改進算法后,在原有測試運行時間不變的情況下,算法篩選出的測試集所對應的函數覆蓋率提高了 27%。說明在時間有限的約束下,采用本文的算法能合理挑選符合條件的測試用例集,使得到的測試用例子集的函數覆蓋率更接近完全測試所對應的覆蓋率。

5 結語

本文針對 CIMS 系統中測試集的篩選問題,結合集合覆蓋原理展開研究,定義了一個資源約束條件下的測試用例約減模型,并實現了一種改進的算法,使得 CIMS 測試集在規定時間內覆蓋更多函數塊,提升了代碼質量預檢的性能,對保證項目質量有著積極的實際意義。

隨著項目的推進,測試集的篩選也需要定期動態調整。如何進一步完善算法,使其能優選出可以覆蓋代碼修改部分的測試用例,更好地滿足測試需求,是下一步值得研究的方向。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    456

    文章

    51283

    瀏覽量

    427788
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10911

    瀏覽量

    213145
  • 自動化
    +關注

    關注

    29

    文章

    5641

    瀏覽量

    79714

原文標題:檢入管理 CIMS 系統中的集合覆蓋問題 SCP 研究

文章出處:【微信號:appic-cn,微信公眾號:集成電路應用雜志】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Aigtek高電壓放大器微流控細胞篩選測試

    、應用以及高壓放大器在其中的作用。 微流控細胞篩選的基本概念 微流控細胞篩選是指在微流控芯片上實現細胞篩選的過程。這種技術利用微通道、微反應器等微結構,將細胞在芯片上進行分離、培養、
    的頭像 發表于 01-20 16:33 ?148次閱讀
    Aigtek高電壓放大器微流控細胞<b class='flag-5'>篩選</b><b class='flag-5'>測試</b>

    航空發動機噴流噪聲近場測試研究

    摘要 為促進航空發動機噴流噪聲測試技術發展,利用小涵道比渦扇發動機戶外露天靜態地面試驗進行了噴流噪聲近場測試。運用弧形麥克風陣列測試技術,對噴流噪聲近場特性
    的頭像 發表于 01-08 11:50 ?172次閱讀
    航空發動機噴流噪聲近場<b class='flag-5'>測試</b><b class='flag-5'>研究</b>

    電力驅動測試系統的技術原理和應用

    。 新能源汽車測試針對新能源汽車的電驅動系統進行模擬測試和實際道路測試。 驗證新能源汽車
    發表于 12-19 14:54

    如何進行元器件篩選

    或制造過程的差異導致的早期失效,必須依據應用環境選擇適當的測試類型和條件進行篩選,以排除可能早期失效的元件。篩選的分類可靠性
    的頭像 發表于 12-19 12:37 ?324次閱讀
    如何<b class='flag-5'>進行</b>元器件<b class='flag-5'>篩選</b>?

    嵌入式系統開發測試方法 嵌入式系統開發與AI結合應用

    嵌入式系統開發測試方法 嵌入式系統開發是一個復雜的過程,涉及到硬件和軟件的緊密結合。測試是確保系統
    的頭像 發表于 12-09 10:22 ?571次閱讀

    Kaggle知識點:使用大模型進行特征篩選

    數據科學數據挖掘的核心是是對海量數據進行有效的篩選和分析。傳統上數據篩選依賴于數據驅動的方法,如包裹式、過濾式和嵌入式篩選。隨著大模型的發展,本文將探討如何利用大模型
    的頭像 發表于 12-03 01:06 ?1378次閱讀
    Kaggle知識點:使用大模型<b class='flag-5'>進行</b>特征<b class='flag-5'>篩選</b>

    關于歐盟法規測試場景的研究

    關于歐盟法規測試場景的研究 1.引言 ? 場景是智能網聯汽車測試技術的基礎,基于場景的功能測試方法對于彌補基于里程的
    的頭像 發表于 11-25 16:32 ?410次閱讀
    關于歐盟法規<b class='flag-5'>中</b><b class='flag-5'>測試</b>場景的<b class='flag-5'>研究</b>

    使用原代腫瘤細胞進行藥物篩選的數字微流控系統

    不佳甚至會產生不良反應。臨床數據表明,某種藥物對癌癥的治療過程有大量基因參與,基于基因的精準醫療難以滿足患者需求。從患者活檢或腫瘤樣本對原發性腫瘤細胞進行藥物篩選可提供關于特定腫瘤藥物敏感性的直接信息,但
    的頭像 發表于 11-18 10:05 ?799次閱讀
    使用原代腫瘤細胞<b class='flag-5'>進行</b>藥物<b class='flag-5'>篩選</b>的數字微流控<b class='flag-5'>系統</b>

    射頻功率放大器在超聲導波針對均勻腐蝕研究的應用

    實驗名稱:超聲導波針對均勻腐蝕的無基準評定方法研究方向:超聲導波加速腐蝕測試目的:超聲導波作為一種精準、高效的無損檢測技術已被諸多學者運用于土木工程構件的腐蝕監測。目前采用具有不同能
    的頭像 發表于 07-30 18:24 ?322次閱讀
    射頻功率放大器在超聲導波<b class='flag-5'>針對</b>均勻腐蝕<b class='flag-5'>研究</b><b class='flag-5'>中</b>的應用

    電壓放大器在鋼筋剝離損傷識別試驗的應用

    實驗名稱:鋼筋剝離損傷識別試驗研究方向:無損檢測測試目的:采用壓電導波檢測技術針對鋼筋混凝土結構中鋼筋的腐蝕問題進行研究,提出一種基于壓電超聲導波利用連續小波變換技術的鋼筋腐蝕檢測基本
    的頭像 發表于 07-24 17:39 ?438次閱讀
    電壓放大器在鋼筋剝離損傷識別試驗<b class='flag-5'>中</b>的應用

    高壓功率放大器在電流傳感器溫漂與地磁場校正方法研究的應用

    實驗名稱:電流傳感器輸出測試研究方向:電磁測試測試目的:為了克服測量過程溫度以及空間地磁場的影響,更好的提高TMR電流傳感器的測量精度,本
    的頭像 發表于 07-24 17:36 ?496次閱讀
    高壓功率放大器在電流傳感器溫漂與地磁場校正方法<b class='flag-5'>研究</b><b class='flag-5'>中</b>的應用

    高壓放大器在壓電智能傳感技術的鋼結構監測研究的應用

    實驗名稱:基于壓電智能傳感技術的鋼結構節點連接健康監測研究研究方向:無損檢測測試目的:鋼結構在安裝和使用過程,節點連接區較常見的兩類損傷:螺栓松動和裂紋擴展
    的頭像 發表于 07-23 10:26 ?383次閱讀
    高壓放大器在壓電智能傳感技術的鋼結構監測<b class='flag-5'>研究</b><b class='flag-5'>中</b>的應用

    如何理解機器學習的訓練、驗證測試

    理解機器學習的訓練、驗證測試,是掌握機器學習核心概念和流程的重要一步。這三者不僅構成了模型學習與評估的基礎框架,還直接關系到模型性
    的頭像 發表于 07-10 15:45 ?4712次閱讀

    電壓放大器在合成射流高效摻混機理研究的應用

    進行研究。   研究方向:合成射流高效摻混機理   測試設備:信號發生器,ATA-214高壓放大器,合成射流激勵器,高速相機,雙脈沖激光器等   實驗過程:信號發生器產生正弦電壓信號,經過
    發表于 03-08 17:47

    mapgis屬性篩選表達式

    MapGIS是一種廣泛應用于地理信息系統(GIS)領域的軟件平臺。它提供了多種功能和工具,用于處理和分析地理數據。屬性篩選是MapGIS中一項重要的功能,它允許用戶根據特定的屬性條件來篩選要素。在這
    的頭像 發表于 02-25 10:58 ?1786次閱讀
    主站蜘蛛池模板: 最近2018年中文字幕大全一 | 国产香蕉98碰碰久久人人 | 日本特黄视频 | 波多野结衣在线视频免费观看 | 国产精品激情综合久久 | 在线观看中文字幕一区 | 狠狠色丁香久久婷婷 | 亚洲天天在线 | 久久人人澡 | 你懂的网址在线观看 | 久久久免费精品视频 | 丁香月婷婷| 2021天天操| 美女视频黄又黄又免费高清 | vvvv98国产成人综合青青 | 黄在线观看在线播放720p | 美女视频黄a全部免费看小说 | 欧美成人精品 | 91精品国产免费久久久久久青草 | a一级| 欧美色图亚洲自拍 | 日日拍夜夜嗷嗷叫狠狠 | 永久免费看www色视频 | 成熟女人免费一级毛片 | 伊人精品视频在线 | 九色综合九色综合色鬼 | 18岁女人毛片 | 黄色在线网站 | 深夜视频在线观看免费 | 午夜影视免费完整高清在线观看网站 | 色777777女人色| 亚洲狠狠婷婷综合久久久久图片 | 天天色色网| 天天曰夜夜操 | mm131美女肉体艺术图片 | 伊人婷婷色香五月综合缴激情 | 2017天天天天做夜夜夜做 | 爱情社保片鲁丝片一区 | 伊人久久大香线蕉综合爱婷婷 | 国产精品一久久香蕉产线看 | 色香五月|