99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

測試用例質(zhì)量的重要性

經(jīng)緯恒潤 ? 2021-09-03 15:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

介紹

在進行測試時,通常會花很多精力選擇“正確”的測試工具。這其實只是為了實現(xiàn)次要目標。當然,一個適合開發(fā)環(huán)境、項目和流程的工具是重要的。然而,對于良好測試而言,最重要的是測試用例的質(zhì)量。只有“好”的測試用例才會發(fā)現(xiàn)軟件存在缺陷。

一個簡單的例子

如下是對一個簡單測試對象的說明:

“start”和“l(fā)ength”定義了“value”的取值范圍。被測函數(shù)用來確定給定值是否在定義的范圍內(nèi)。規(guī)定范圍的上界不在范圍內(nèi)。所有數(shù)據(jù)類型都是整數(shù)。

如下圖所示的三個測試用例都通過了測試,并且達到了100%的MC/DC覆蓋度。

圖1 這三個測試用例通過并達到了100%的覆蓋率

圖1測試用例都通過并已經(jīng)達到了100%的覆蓋度,但沒有對所有的需求進行測試,即沒有使用邊界值進行測試。

邊界值,最小/最大值,極端值,違規(guī)值

? 邊界值

需要多少測試用例(以及哪些測試數(shù)據(jù))才能充分對邊界值進行測試?下面使用一個“輸入值是否小于5”的函數(shù)來研究這個問題。

圖2 可能的實現(xiàn)以及哪些測試輸入能檢測缺陷

圖2表格第一列我“輸入值是否小于5”的可能缺陷(即錯誤實現(xiàn))。其中(i!= 5)和(i <> 5)均為“不相等”,歸屬不同編程語言(“!=”屬于C / C ++,Java;“<>” 屬于Pascal,PHP,SQL,Excel)。

表2中第二列為缺陷的可能性組合。缺陷的可能性被認為與關(guān)系式中錯誤字符的數(shù)量和“外觀”上的差異有關(guān)(從正確的(i <5)需要更多的改變才能將正確的(i <5)變換為不正確的(i> = 5),也更容易在視覺上發(fā)現(xiàn))。

表2中后三列為輸入值為4、5、6時的測試結(jié)果,粗體和紅色陰影表示測試失敗。輸入值4和5未檢測到(i!= 5)和(i <> 5),輸入值6(即第三測試用例)檢測到了。(i <> 5)的實現(xiàn)方式更有可能發(fā)生,但使用“<>”運算符的編程語言對于嵌入式系統(tǒng)并不常見。

(i == 4)無輸入值檢測到,需要額外輸入值檢測缺陷,需要四個測試用例(“內(nèi)部”兩個值和“外部”兩個值)。這是René Tuinhout提出的黑盒邊界值分析(B3VA)。“小于5”的值范圍有更低邊界且可作輸入值,則不需要額外測試,下邊界可以檢測(i == 4)。

結(jié)論:嵌入式系統(tǒng)(使用“!=”作為關(guān)系運算符),進行代碼審查且目標是測試用例的數(shù)量較少,僅使用兩個測試用例就可以。但為了檢測一些缺陷,有時需要四個測試用例。

? 最小/最大值

將給定數(shù)據(jù)類型的最大和最?。醋钬摚┛赡艿妮斎胫底鳛檫吔缰档奶厥馇闆r。

圖3 函數(shù)abs_short()存在一個在使用最大/最小值輸入時才會發(fā)現(xiàn)的問題

圖3函數(shù)abs_short()在輸入值為-5,0,5時,分別正確返回5,0,5,實現(xiàn)了100%的代碼覆蓋率。但輸入值是-32768時(帶符號的16位整數(shù)的最小(最負)值),預期結(jié)果為+32768。無法在給定的整數(shù)范圍內(nèi)表示,返回值為-32768,不是預期值。(背景:-32768 = 0x8000.0x8000-1 = 0x7FFF。反轉(zhuǎn)值為0x8000,與開始時的值相同。)

? 極端值

極端(或特殊)輸入值不是直接取邊界或最小/最大值,是另一種特殊值。

圖4minimum()函數(shù)存在編程缺陷

圖4是最小值函數(shù)。三個(無符號)整數(shù)(a,b和c)為輸入,返回輸入的最小值。

圖5:用于檢測最小值函數(shù)缺陷的測試用例

圖5,為該函數(shù)運行通過的測試用例。檢查每個位置是否能正確檢測到最小值(3),100%代碼覆蓋率,但沒有極端或特殊的輸入。對此函數(shù),特殊的輸入可以是三個相同正值,如輸入(3,3,3),結(jié)果為0(不是預期結(jié)果3),表示最小值功能的實現(xiàn)存在缺陷。

? 違規(guī)值

圖3函數(shù)“所有數(shù)據(jù)類型都是整數(shù)”。適用length的取值范圍,故長度可能是負的。輸入5,-2為長度,查看4是否被認為在范圍之內(nèi)。用(可能的)無效輸入構(gòu)建測試用例。

ISO26262中的建議

ISO 26262:2011在第6部分第9節(jié)中列出軟件單元測試的測試用例的設(shè)計方法。

圖6:ISO26262中設(shè)計測試用例的方法

圖6為建議取決于汽車安全完整性等級(ASIL)。ASIL的范圍從A到D,D最高級別?!皬娏彝扑]”雙加號(“++”); “推薦”單個加號(“+”)。1a,1b,1c,...是替代條目; 1,2,3,...是連續(xù)的條目。替代條目,應(yīng)根據(jù)ASIL應(yīng)用適當?shù)姆椒ńM合;連續(xù)條目,應(yīng)按照ASIL進行應(yīng)用。1a要求軟件單元測試的測試用例來自需求;1b要求使用等價類的生成和分析來導出測試用例;1c要求分析邊界值以導出測試用例。方法1a,1b和1c已在本文前面的部分中討論過。1d要求錯誤猜測來導出測試用例。

? 錯誤猜測

錯誤猜測需要經(jīng)驗豐富的測試人員,從過往的經(jīng)驗中找到敏感的測試用例。它是一種非系統(tǒng)的方法。例如,被測系統(tǒng)有兩個按鈕,假設(shè)一次只按下其中一個按鈕:如果同時按下兩個按鈕會發(fā)生什么?這是錯誤猜測的示例。

可選方案

本節(jié)討論設(shè)計測試用例的其他可選方法。

? 來自源代碼的測試用例

使用工具從源代碼自動生成測試用例。一些開源和商業(yè)工具都實現(xiàn)了一些技術(shù)方法(例如遺傳算法或回溯),可以利用生成測試用例。源代碼生成測試用例要注意:

? 遺漏:將無法發(fā)現(xiàn)代碼中的遺漏。如要求“第一個參數(shù)等于第二個參數(shù),則返回錯誤”若缺少這項檢查的實現(xiàn):由源代碼生成的測試用例不會檢測到此問題。

? 準確度:無法從代碼中判斷它是否正確。如無法判斷(i <5)或(i <= 5)是否實現(xiàn)了代碼的預期行為。

可以讓工具生成測試用例并將其和需求進行比對,如果不符合要求再對其進行相應(yīng)的拓展或改變。近期有研究人員對此進行了研究,其主要觀點如下:

? 自動生成的測試套件比人工創(chuàng)建的測試套件實現(xiàn)了更高的代碼覆蓋率。

? 使用自動生成的測試套件無法檢測到更多缺陷。

? 自動生成的測試用例會對捕獲預期的類行為產(chǎn)生負面影響。

這項研究表明,自動化測試用例生成沒有為測試帶來優(yōu)勢,但它也沒有缺點。雖有很多討論的研究條件(編程語言,編程技巧等),但結(jié)果依然是令人驚訝的。

變異測試(Mutation Testing)

評定測試用例質(zhì)量的一種可行方法是變異測試(在IEC 61508標準中也被稱為“錯誤播種”(error seeding))。有運行通過的測試用例時,可以“變異”代碼。如,將判斷(i<5)改成(i<=5),在計算結(jié)果上加1,把“&&”改為“||”,注釋掉部分代碼等。代碼進行變異之后,重新運行測試用例。若所有測試用例能夠通過,測試用例質(zhì)量就比較低。至少一項測試用例應(yīng)該會由于進行了變異而無法驗證通過。

小結(jié)

100%的代碼覆蓋率并不意味著“好”的測試用例。然而,在執(zhí)行測試的過程中為了能夠檢測出軟件的缺陷,需要高質(zhì)量的用例。這項任務(wù)需要仔細而富有經(jīng)驗的人力工作才能達成,對于自動化生成的測試用例,應(yīng)該持保留態(tài)度。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    PCBA加工必看!BOM表的重要性大揭秘

    橋梁。我們深知BOM表的準確和完整對產(chǎn)品質(zhì)量、生產(chǎn)效率以及成本控制的深遠影響。本文將詳細探討B(tài)OM表的重要性,并為客戶提供實用建議。 BOM表的
    的頭像 發(fā)表于 06-18 10:15 ?300次閱讀

    沖壓件清洗機的重要性及其對產(chǎn)品質(zhì)量的影響

    某個角落默默地工作,確保每一個零件干凈、無瑕和高質(zhì)量。不少人卻忽視了它對于最終產(chǎn)品質(zhì)量重要性。本篇文章將深入探討沖壓件清洗機的重要性,以及它在確保產(chǎn)品
    的頭像 發(fā)表于 04-30 16:42 ?267次閱讀
    沖壓件清洗機的<b class='flag-5'>重要性</b>及其對產(chǎn)品<b class='flag-5'>質(zhì)量</b>的影響

    PCB拼板設(shè)計全解析:重要性、優(yōu)勢與應(yīng)用實踐

    設(shè)計,不僅可以提升生產(chǎn)效率,減少人工干預,還能降低材料浪費和制造成本。因此,合理的拼板設(shè)計對于提高生產(chǎn)效率和產(chǎn)品質(zhì)量具有重要意義。 一、PCB拼板設(shè)計的基本概念及其重要性 PCB拼板設(shè)計是指將多個小型PCB設(shè)計在同一個大板上,以
    的頭像 發(fā)表于 03-13 09:35 ?569次閱讀
    PCB拼板設(shè)計全解析:<b class='flag-5'>重要性</b>、優(yōu)勢與應(yīng)用實踐

    是德科技攜手Alea成功驗證3GPP EUTRA任務(wù)關(guān)鍵型測試用

    是德科技與 Alea S.r.l 近日在全球認證論壇(GCF)一致協(xié)議組(CAG)會議上,成功率先完成對基于 3GPP 演進通用陸地無線接入(EUTRA)模型的關(guān)鍵任務(wù)一鍵通(MCPTT)測試用的驗證。該驗證采用是德科技 S
    的頭像 發(fā)表于 02-26 16:18 ?728次閱讀

    貼片加工質(zhì)量控制的重要性

    的性能和可靠,更是企業(yè)贏得市場競爭力的關(guān)鍵。 一、貼片加工質(zhì)量控制的重要性 在貼片加工過程中,任何微小的偏差都可能導致元件位置不準確,進而影響電路板的電氣性能和機械強度。嚴重的質(zhì)量
    的頭像 發(fā)表于 02-20 14:40 ?575次閱讀

    構(gòu)建綜合指揮調(diào)度系統(tǒng)的重要性

    構(gòu)建綜合指揮調(diào)度系統(tǒng)的重要性不言而喻,它對于提升應(yīng)急響應(yīng)速度、優(yōu)化資源配置、加強跨部門協(xié)作、提高決策效率和確保公共安全等方面都具有至關(guān)重要的作用。以下是古河云科技構(gòu)建綜合指揮調(diào)度系統(tǒng)重要性的幾個關(guān)鍵方面:
    的頭像 發(fā)表于 02-06 16:56 ?549次閱讀

    電橋在電子測試中的重要性

    電橋在電子測試中的重要性體現(xiàn)在多個方面,以下是詳細的分析: 一、精確測量電參數(shù) 電橋作為一種精密的測量工具,能夠精確測量電阻、電容、電感等電參數(shù)。在電子
    的頭像 發(fā)表于 01-09 10:03 ?910次閱讀

    PCB離子污染度測試重要性

    PCB離子污染度的重要性在電子制造業(yè)中,PCB(印刷電路板)的離子污染度測試是保障產(chǎn)品質(zhì)量的關(guān)鍵環(huán)節(jié)。離子污染度指的是PCB表面殘留的帶電離子污染物,這些污染物主要來源于焊接助劑、化學清洗劑、濕度
    的頭像 發(fā)表于 12-13 00:15 ?1038次閱讀
    PCB離子污染度<b class='flag-5'>測試</b>的<b class='flag-5'>重要性</b>

    汽車軟件單元測試重要性

    測試不充分密切相關(guān),這引發(fā)了社會各界對汽車軟件健壯重要性進行深入思考。本文將探討汽車軟件的測試,尤其是單元測試
    的頭像 發(fā)表于 11-29 10:57 ?522次閱讀

    是德科技助力三星電子驗證FiRa 2.0安全測距測試用

    是德科技(Keysight Technologies,Inc.)成功助力三星電子,在其Exynos Connect U100芯片組上驗證了FiRa 2.0安全測試用。此次驗證得益于是德科技提供的超寬帶 (UWB)測試解決方案,
    的頭像 發(fā)表于 11-18 10:08 ?608次閱讀

    高低溫測試重要性與應(yīng)用

    高低溫測試,亦稱為高低溫循環(huán)測試,是環(huán)境可靠測試中的關(guān)鍵組成部分,其主要目的是評估在高溫和低溫條件下,裝備在存儲和工作期間的性能表現(xiàn)。隨著科技的進步,電子產(chǎn)品越來越多地進入到復雜和多
    的頭像 發(fā)表于 11-07 15:09 ?899次閱讀
    高低溫<b class='flag-5'>測試</b>的<b class='flag-5'>重要性</b>與應(yīng)用

    端到端測試用怎么寫

    測試方法,旨在驗證整個應(yīng)用程序從前端到后端的流程是否能夠按照預期工作。它涉及多個系統(tǒng)組件和接口的交互,確保業(yè)務(wù)流程的完整和正確。 二、編寫端到端測試用
    的頭像 發(fā)表于 09-20 10:29 ?987次閱讀

    關(guān)于蓄電池氣密檢測儀重要性和使用方法

    在能源存儲領(lǐng)域,電池的性能和安全非常重要,氣密作為衡量其質(zhì)量的關(guān)鍵指標之一,直接影響電池的使用壽命、性能和安全。因此,蓄電池氣密
    的頭像 發(fā)表于 08-23 15:48 ?645次閱讀
    關(guān)于蓄電池氣密<b class='flag-5'>性</b>檢測儀<b class='flag-5'>重要性</b>和使用方法

    鑒源實驗室·ISO 26262中測試用的得出方法-等價類的生成和分析

    標準規(guī)范中給出了單元、集成、系統(tǒng)測試各階段的建議測試使用方法,設(shè)計生成測試用的建議方法包括需求分析、等價類的生成和分析、邊界值分析、基于已有經(jīng)驗和知識的錯誤推測等等,從本篇開始我們
    的頭像 發(fā)表于 07-30 15:37 ?968次閱讀
    鑒源實驗室·ISO 26262中<b class='flag-5'>測試用</b><b class='flag-5'>例</b>的得出方法-等價類的生成和分析

    是德科技獲得窄帶非地面網(wǎng)絡(luò)標準的新測試用驗證

    是德科技(Keysight Technologies,Inc.)日前宣布,該公司針對3GPP Rel-17標準中關(guān)于NB-IoT NTN技術(shù)的新一致測試用獲得驗證通過。這些測試用
    的頭像 發(fā)表于 07-26 14:13 ?1043次閱讀