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

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

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

模型驅(qū)動(dòng)測(cè)試如何生成基于代碼的測(cè)試結(jié)果

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Martin Bakal ? 2022-06-28 14:12 ? 次閱讀

模型驅(qū)動(dòng)測(cè)試可以將需求與設(shè)計(jì)聯(lián)系起來(lái),幫助開(kāi)發(fā)人員以一種通用語(yǔ)言生成結(jié)果,將設(shè)計(jì)過(guò)程中的每個(gè)人聯(lián)系起來(lái)。這改善了工作流程并清楚地傳達(dá)了設(shè)計(jì)。

在系統(tǒng)和軟件測(cè)試社區(qū)中,生成基于代碼的結(jié)果被認(rèn)為是軟件測(cè)試的黃金標(biāo)準(zhǔn)。但是,軟件復(fù)雜性的增加和上市時(shí)間的縮短迫使許多組織重新考慮他們?nèi)绾翁幚頊y(cè)試過(guò)程。隨著基于模型的測(cè)試 (MBT) 的引入,開(kāi)發(fā)人員獲得了更快的自動(dòng)化流程,可以幫助他們獲得完整的模型和代碼覆蓋率。

即便如此,一些開(kāi)發(fā)人員認(rèn)為 MBT 未能達(dá)到預(yù)期,因?yàn)樗鼪](méi)有提供基于代碼的結(jié)果。然而,隨著 MBT 技術(shù)的最新進(jìn)展,這種看法不再準(zhǔn)確。新的 MBT 工具使測(cè)試人員能夠通過(guò)基于代碼的結(jié)果實(shí)現(xiàn)性能分析、內(nèi)存分析和代碼覆蓋。

模型驅(qū)動(dòng)測(cè)試 (MDT) 流程通過(guò)讓開(kāi)發(fā)人員在實(shí)際應(yīng)用程序上執(zhí)行場(chǎng)景并執(zhí)行這些測(cè)試來(lái)增強(qiáng)此工作流程。但關(guān)鍵問(wèn)題是開(kāi)發(fā)人員在運(yùn)行這些基于場(chǎng)景的測(cè)試時(shí)需要基于代碼的測(cè)試結(jié)果。

入門(mén)

MDT 方法可以幫助組織滿(mǎn)足緊縮的上市時(shí)間窗口,因?yàn)樗试S開(kāi)發(fā)人員使用他們?cè)O(shè)計(jì)時(shí)使用的相同語(yǔ)言進(jìn)行測(cè)試,即統(tǒng)一建模語(yǔ)言 (UML)。除了節(jié)省時(shí)間之外,MDT 還提供了另一個(gè)優(yōu)勢(shì),它以場(chǎng)景為需求,使測(cè)試與客戶(hù)的規(guī)范保持一致。

盡管 MDT 提供了許多好處,但批評(píng)者強(qiáng)調(diào)它有一個(gè)弱點(diǎn):缺乏基于代碼的測(cè)試結(jié)果,這對(duì)于調(diào)試故障、泄漏和性能差距至關(guān)重要。

在深入探討有關(guān)基于代碼的測(cè)試的問(wèn)題之前,讓我們解釋一下 MDT 過(guò)程?;?UML 的測(cè)試用例可以用許多不同的格式編寫(xiě),包括 UML 序列圖、流程圖,甚至代碼(使用斷言樣式語(yǔ)句)。簡(jiǎn)而言之,MDT 流程迫使開(kāi)發(fā)人員以上述格式之一閱讀他們的需求并基于它們?cè)O(shè)計(jì)場(chǎng)景。接下來(lái),將模型構(gòu)建到滿(mǎn)足這些場(chǎng)景的可執(zhí)行文件中。然后將原始場(chǎng)景轉(zhuǎn)變?yōu)闇y(cè)試。最后,在軟件經(jīng)過(guò) MDT 過(guò)程之后,這些相同的場(chǎng)景可以作為測(cè)試執(zhí)行。

使用傳統(tǒng)代碼和流程圖來(lái)捕獲測(cè)試用例行為

可以使用代碼或流程圖或序列圖來(lái)描述測(cè)試用例行為,提供比傳統(tǒng)編碼更高的生產(chǎn)力。使用代碼描述測(cè)試用例與目前描述測(cè)試用例的過(guò)程基本相同,不同之處在于,如圖1所示,測(cè)試用例需要關(guān)注刺激和預(yù)期結(jié)果。測(cè)試用例執(zhí)行的上下文是從模型中自動(dòng)生成的。

圖 1:開(kāi)發(fā)人員可以使用代碼來(lái)描述測(cè)試用例的純粹行為。

pYYBAGK6nMCAcjlDAAYLmgrQwQQ517.png

捕獲代碼中的測(cè)試用例行為并讓它執(zhí)行是利用 MDT 的最直接方法,而且風(fēng)險(xiǎn)最小且?guī)缀鯖](méi)有學(xué)習(xí)曲線(xiàn)。這種方法的另一個(gè)優(yōu)點(diǎn)是它允許輕松重用現(xiàn)有的基于代碼的測(cè)試用例。但是由于測(cè)試用例行為的邏輯通常很重要,開(kāi)發(fā)人員傾向于將測(cè)試用例描繪成非正式的流程圖。由于將流程圖映射到代碼相對(duì)簡(jiǎn)單,MDT 環(huán)境允許開(kāi)發(fā)人員將測(cè)試用例行為捕獲為流程圖,從該流程圖生成測(cè)試代碼,將其鏈接到測(cè)試架構(gòu),然后運(yùn)行測(cè)試。

將測(cè)試用例描述為流程圖,如圖 2 所示,具有與編碼相同的表達(dá)能力,但它更容易捕獲并與項(xiàng)目的所有利益相關(guān)者進(jìn)行溝通。

圖 2:在流程圖/活動(dòng)圖中比在代碼中更容易捕獲測(cè)試用例行為。

pYYBAGK6nMmAS9prAAgS_jQjHW4426.png

用序列圖描述測(cè)試用例行為

序列圖提供了在基于代碼的測(cè)試環(huán)境中很少使用的設(shè)計(jì)的獨(dú)特視圖。這些圖可以描述整個(gè)系統(tǒng)和與之交互的參與者之間的操作場(chǎng)景。在其他情況下,它們可能包括有關(guān)內(nèi)部設(shè)計(jì)組件之間消息的排序和交換的詳細(xì)信息

在系統(tǒng)級(jí)分析期間,設(shè)計(jì)人員確定了許多高級(jí)需求,并且大多數(shù)行為需求被描述為序列圖。這構(gòu)成了系統(tǒng)分析師創(chuàng)建基本要求的許多變體以及基本要求的“未雨綢繆”排列的過(guò)程的基礎(chǔ)。此過(guò)程將作為序列圖捕獲的高級(jí)需求轉(zhuǎn)換為具體的測(cè)試用例。

開(kāi)發(fā)人員可以查看描述需求的序列圖并將其作為測(cè)試用例以交互方式應(yīng)用,將輸入注入被測(cè)系統(tǒng)并檢查輸出以查看它們是否與序列圖中定義的匹配。這些測(cè)試的來(lái)源包括記錄應(yīng)用程序的執(zhí)行并手動(dòng)編寫(xiě)它們。每個(gè)來(lái)源都有自己的好處。記錄執(zhí)行不測(cè)試需求,但有助于回歸測(cè)試。手寫(xiě)序列在測(cè)試需求中很有用。無(wú)論如何創(chuàng)建測(cè)試,都需要基于代碼的結(jié)果。

實(shí)現(xiàn)基于代碼的結(jié)果

今天的開(kāi)發(fā)人員可以通過(guò)多種方式獲得基于代碼的結(jié)果,所有這些都需要在某些工具中重寫(xiě)測(cè)試然后執(zhí)行。完成后,團(tuán)隊(duì)將收到結(jié)果。

對(duì)某些人來(lái)說(shuō),這似乎是一種完全合乎邏輯的方法,但是在使用這種測(cè)試方法時(shí)會(huì)發(fā)現(xiàn)一些問(wèn)題。首先,開(kāi)發(fā)人員必須確定原始需求與軟件可交付成果相匹配。要正確執(zhí)行此操作,開(kāi)發(fā)人員必須重寫(xiě)相同的基于場(chǎng)景的測(cè)試,否則代碼結(jié)果可能無(wú)法映射到需求。開(kāi)發(fā)人員需要能夠編寫(xiě)符合其要求的測(cè)試并實(shí)現(xiàn)完整的基于場(chǎng)景和代碼的結(jié)果。當(dāng)前的測(cè)試工具使這成為可能,因?yàn)榛?MDT 的工具執(zhí)行實(shí)際代碼。

鑒于這些進(jìn)步,為什么軟件測(cè)試社區(qū)遲遲沒(méi)有采用 MDT?這有幾個(gè)原因,首先是早期基于模型的測(cè)試沒(méi)有提供基于代碼的測(cè)試結(jié)果。此外,許多開(kāi)發(fā)人員需要代碼覆蓋率、內(nèi)存分析和性能分析指標(biāo)。當(dāng)工具缺乏這些功能時(shí),有些人會(huì)認(rèn)為 MDT 是一種負(fù)擔(dān)而不是解決方案,這是有道理的。

彌合這些差距是成功實(shí)施 MDT 的挑戰(zhàn)。市場(chǎng)上有幾種有效的基于代碼的測(cè)試工具,重新創(chuàng)建此功能為開(kāi)發(fā)人員喜歡的基于代碼的結(jié)果樣式提供了更少的選擇。另一種選擇是執(zhí)行基于模型的測(cè)試并包含基于代碼的結(jié)果。這是可能的,因?yàn)樵谶\(yùn)行基于模型的測(cè)試時(shí),開(kāi)發(fā)人員可以執(zhí)行實(shí)際代碼,而不是模擬。如果開(kāi)發(fā)人員使用基于代碼的測(cè)試工具來(lái)檢測(cè)代碼,則 MDT 可以運(yùn)行,并且結(jié)果將在完成時(shí)出現(xiàn)。

分布式開(kāi)發(fā),更好的代碼

尋找方法幫助分布式團(tuán)隊(duì)更好地協(xié)同工作,同時(shí)推動(dòng)高質(zhì)量的可交付成果是許多組織的首要任務(wù)。當(dāng)開(kāi)發(fā)過(guò)程采用 MDT 方法時(shí),團(tuán)隊(duì)可以實(shí)現(xiàn)基于代碼的測(cè)試結(jié)果。關(guān)鍵的支持技術(shù)是執(zhí)行實(shí)際應(yīng)用程序的 MDT 測(cè)試。這意味著使用可以直接提供測(cè)試結(jié)果的基于代碼的測(cè)試工具運(yùn)行 MDT 測(cè)試?;诖a的測(cè)試工具跟蹤正在執(zhí)行的應(yīng)用程序,使其成為最佳方法。

MDT 在改進(jìn)測(cè)試過(guò)程方面有著良好的記錄,但它沒(méi)有被廣泛采用,因?yàn)樗粫?huì)產(chǎn)生基于代碼的測(cè)試結(jié)果?,F(xiàn)在這是可能的,提供了兩全其美的優(yōu)勢(shì)——在 MDT 流程中輕松創(chuàng)建和理解測(cè)試——以及開(kāi)發(fā)人員可以使用的完整和徹底的測(cè)試結(jié)果。通過(guò)利用 MDT 方法的收益,開(kāi)發(fā)人員也可以得到他們的蛋糕并吃掉它。

審核編輯:郭婷

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

    關(guān)注

    8

    文章

    5354

    瀏覽量

    126856
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4808

    瀏覽量

    68814
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    影響OTDR測(cè)試結(jié)果的因素

    光時(shí)域反射儀(OTDR)是光纖通信領(lǐng)域中不可或缺的測(cè)試工具。它通過(guò)發(fā)送光脈沖并測(cè)量反射回來(lái)的光信號(hào),來(lái)確定光纖鏈路的長(zhǎng)度、損耗和故障位置。然而,OTDR測(cè)試結(jié)果的準(zhǔn)確性受到多種因素的影響。 1.
    的頭像 發(fā)表于 12-31 09:22 ?191次閱讀

    ESD HBM測(cè)試差異較大的結(jié)果分析

    ESD HBM測(cè)試結(jié)果差異較大的原因,通常包括設(shè)備/儀器差異、?校準(zhǔn)和維護(hù)水平不同、?環(huán)境條件差異、?測(cè)試樣本差異、?測(cè)試操作員技能和經(jīng)驗(yàn)差異以及測(cè)
    的頭像 發(fā)表于 11-18 15:17 ?526次閱讀
    ESD HBM<b class='flag-5'>測(cè)試</b>差異較大的<b class='flag-5'>結(jié)果</b>分析

    阿里云開(kāi)源Qwen2.5-Coder代碼模型系列

    Qwen2.5-Coder-32B-Instruct,在代碼生成領(lǐng)域取得了顯著成就。據(jù)官方介紹,該模型在EvalPlus等十多個(gè)主流的代碼生成
    的頭像 發(fā)表于 11-14 11:28 ?382次閱讀

    Matlab/Simulink/Stateflow建模開(kāi)發(fā)及仿真測(cè)試

    matlab 模擬仿真 熟悉Matlab/Simulink/Stateflow建模開(kāi)發(fā)及仿真測(cè)試,熟悉V模型開(kāi)發(fā)流程。 熟悉自動(dòng)代碼生成,能夠編寫(xiě)或者配置自動(dòng)
    發(fā)表于 10-24 17:23

    IC測(cè)試基本原理與ATE測(cè)試向量生成

    ,研究和發(fā)展IC測(cè)試,有著重要的意義。而測(cè)試向量作為IC測(cè)試中的重要部分,研究其生成方法也日漸重要。1IC測(cè)試1.1IC
    的頭像 發(fā)表于 10-12 08:03 ?1146次閱讀
    IC<b class='flag-5'>測(cè)試</b>基本原理與ATE<b class='flag-5'>測(cè)試</b>向量<b class='flag-5'>生成</b>

    ic測(cè)試原理和設(shè)備教程的區(qū)別

    涉及如何通過(guò)測(cè)試信號(hào)的生成與傳輸,對(duì)IC的性能、功能和可靠性進(jìn)行全面評(píng)估。 測(cè)試原理包括測(cè)試信號(hào)的生成與傳輸、
    的頭像 發(fā)表于 09-24 09:51 ?255次閱讀

    摩爾線(xiàn)程與羽人科技完成大語(yǔ)言模型訓(xùn)練測(cè)試

    (YuRen-7b)大語(yǔ)言模型的訓(xùn)練測(cè)試。測(cè)試結(jié)果顯示,訓(xùn)練效率達(dá)到預(yù)期,夸娥千卡智算集群展現(xiàn)出了高度的兼容性和穩(wěn)定性,為羽人科技未來(lái)的零代碼
    的頭像 發(fā)表于 08-27 16:19 ?562次閱讀

    TSMaster 測(cè)試報(bào)告生成器操作指南

    用戶(hù)在基于TSMaster軟件開(kāi)發(fā)測(cè)試用例時(shí),或需要使用TSMaster生成HTML報(bào)告時(shí),需要使用TSMaster測(cè)試報(bào)告生成器。1Test_Report說(shuō)明Test_Report是
    的頭像 發(fā)表于 08-03 08:21 ?535次閱讀
    TSMaster <b class='flag-5'>測(cè)試</b>報(bào)告<b class='flag-5'>生成</b>器操作指南

    谷景揭秘哪些因素會(huì)影響電感測(cè)試結(jié)果

    電感作為電子電路中非常重要的一種電子元器件,它在電路中的主要作用就是儲(chǔ)存能量和過(guò)濾信號(hào)。我們?cè)谶x擇電感的時(shí)候有一個(gè)重要步驟——測(cè)試!測(cè)試結(jié)果的準(zhǔn)確性可能會(huì)收到多種因素影響,下面我們就來(lái)總結(jié)一下
    的頭像 發(fā)表于 06-20 10:03 ?388次閱讀

    影響氣密性測(cè)試結(jié)果的原因分析及解決方案分享

    影響氣密性測(cè)試結(jié)果的原因分析及解決方案分享現(xiàn)在的制造業(yè),對(duì)產(chǎn)品的氣密性能都是要求很高的,通過(guò)氣密性測(cè)試能檢測(cè)出產(chǎn)品在使用時(shí)是否會(huì)出現(xiàn)滲漏、漏氣等質(zhì)量問(wèn)題,確保產(chǎn)品的可靠性和安全性。不過(guò),氣密性
    的頭像 發(fā)表于 05-30 08:30 ?1947次閱讀
    影響氣密性<b class='flag-5'>測(cè)試</b><b class='flag-5'>結(jié)果</b>的原因分析及解決方案分享

    首批!數(shù)勢(shì)科技SwiftAgent完成中國(guó)信通院大模型驅(qū)動(dòng)的智能數(shù)據(jù)分析工具專(zhuān)項(xiàng)測(cè)試

    2024年5月15日,在中國(guó)信通院組織的首批大模型驅(qū)動(dòng)的智能數(shù)據(jù)分析工具專(zhuān)項(xiàng)測(cè)試中,數(shù)勢(shì)科技大模型智能分析助手SwiftAgent順利完成了專(zhuān)項(xiàng)測(cè)試
    的頭像 發(fā)表于 05-24 19:04 ?377次閱讀
    首批!數(shù)勢(shì)科技SwiftAgent完成中國(guó)信通院大<b class='flag-5'>模型</b><b class='flag-5'>驅(qū)動(dòng)</b>的智能數(shù)據(jù)分析工具專(zhuān)項(xiàng)<b class='flag-5'>測(cè)試</b>

    ISEDA首發(fā)!大語(yǔ)言模型生成代碼到底好不好使

    的問(wèn)題 — 這些自動(dòng)生成代碼真的有效嗎?大模型也會(huì)犯錯(cuò),我們肯定不希望把看似正確的錯(cuò)誤結(jié)果交給用戶(hù),所以需要一個(gè)能精確驗(yàn)證模型
    發(fā)表于 05-16 13:41 ?349次閱讀
    ISEDA首發(fā)!大語(yǔ)言<b class='flag-5'>模型</b><b class='flag-5'>生成</b>的<b class='flag-5'>代碼</b>到底好不好使

    電機(jī)驅(qū)動(dòng)模塊測(cè)試方法:測(cè)試設(shè)備、測(cè)試項(xiàng)目

    ATECLOUD測(cè)試系統(tǒng)實(shí)現(xiàn)電機(jī)驅(qū)動(dòng)模塊自動(dòng)化測(cè)試需要兩部分完成,軟件和硬件。硬件主要是測(cè)試中用到的儀器設(shè)備;軟件部分兼容了測(cè)試儀器指令,以
    的頭像 發(fā)表于 04-26 14:14 ?771次閱讀
    電機(jī)<b class='flag-5'>驅(qū)動(dòng)</b>模塊<b class='flag-5'>測(cè)試</b>方法:<b class='flag-5'>測(cè)試</b>設(shè)備、<b class='flag-5'>測(cè)試</b>項(xiàng)目

    世界數(shù)字技術(shù)院發(fā)布:生成式AI安全測(cè)試標(biāo)準(zhǔn)及大語(yǔ)言模型

    據(jù)悉,上述兩款標(biāo)準(zhǔn)主要針對(duì)大型模型生成式AI應(yīng)用領(lǐng)域的安全檢測(cè)設(shè)定了新基準(zhǔn)。參與制定工作的單位有OpenAI、螞蟻集團(tuán)、科大訊飛、谷歌、微軟、英偉達(dá)、百度、騰訊等多家知名企業(yè),其中,《大語(yǔ)言模型安全
    的頭像 發(fā)表于 04-17 16:51 ?1128次閱讀

    Meta推出最新版AI代碼生成模型Code Llama70B

    Meta近日宣布了其最新版本的AI代碼生成模型Code Llama70B,并稱(chēng)其為“目前最大、最優(yōu)秀的模型”。這一更新標(biāo)志著Meta在AI代碼
    的頭像 發(fā)表于 01-30 18:21 ?1480次閱讀