那曲檬骨新材料有限公司

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

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

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

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

上海控安 ? 來源:上海控安 ? 作者:上海控安 ? 2024-07-30 15:37 ? 次閱讀

作者 | 李偉 上海控安安全測評部總監(jiān)

來源 |鑒源實驗室

社群 | 添加微信號TICPShanghai”加入“上海控安51fusa安全社區(qū)”

在ISO 26262-6-2018 標(biāo)準(zhǔn)規(guī)范中給出了單元、集成、系統(tǒng)測試各階段的建議測試使用方法,設(shè)計生成測試用例的建議方法包括需求分析、等價類的生成和分析、邊界值分析、基于已有經(jīng)驗和知識的錯誤推測等等,從本篇開始我們對測試用例設(shè)計生成的方法進行介紹。

01

開始于需求分析

無論使用哪種方法設(shè)計測試用例,首先都需要對需求進行分析,根據(jù)需求規(guī)格說明書逐條對需求進行分解,需求的分解必須要確保能夠完整地覆蓋整條需求被全面的測試,同時需求分解的粗細程度需要有恰當(dāng)?shù)念w粒度。

需求分解的步驟通常分為兩步,首先對一條需求設(shè)計中的功能抽象,用功能抽象法把單條需求分解為多個功能單元,即把單條復(fù)雜的需求分解為多個子單元需求;其次針對已分解的子功能單元或子單元需求使用數(shù)據(jù)抽象方法,設(shè)計測試每個功能單元的數(shù)據(jù)。

功能抽象中程序需求被看成一種抽象的功能層次,每個層次可標(biāo)識被測試的功能,層次結(jié)構(gòu)中的某一功能有由其下一層功能定義。按照功能層次進行分解,可以得到眾多的最低層次的子功能,以這些子功能為對象,進行測試用例設(shè)計。

數(shù)據(jù)抽象中,數(shù)據(jù)結(jié)構(gòu)可以由抽象數(shù)據(jù)類型的層次圖來描述,每個抽象數(shù)據(jù)類型有其取值集合。程序的每一個輸入和輸出量的取值集合用數(shù)據(jù)抽象來描述。

02

等價類的分析和劃分

等價類的分析和劃分方法在很多文檔中均可以查詢到,我們引用全國計算機技術(shù)與軟件專業(yè)技術(shù)資格軟件評測師教程中的定義。等價類劃分的辦法是把程序的輸入域劃分成若干部分,然后從每個部分中選取少數(shù)代表性數(shù)據(jù)作為測試用例。每一類代表性數(shù)據(jù)在測試中的作用等價于這一類中的其他值。

使用等價類劃分方法時,應(yīng)同時包括有效等價類和無效等價類,有效等價類是設(shè)計中合理,正確或有效用的輸入集,無效等價類是設(shè)計中不合理,不正確或失效的輸入集。

根據(jù)遇到的使用場景不同,在不同的場景情況下通常等價類劃分按照下面的情況進行:

(1)在輸入條件規(guī)定了取值范圍或值的個數(shù)的情況下,可以確立一個有效等價類和兩個無效等價類。

(2)在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下,可以確立一個有效等價類和一個無效等價類。

(3)在輸入條件是一個布爾量的情況下,可確定一個有效等價類和一個無效等價類。

(4)在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個),并且程序要對每一個輸入值分別處理的情況下,可確立n個有效等價類和一個無效等價類。

(5)在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)。

(6)在確知已劃分的等價類中,各元素在程序處理中的方式不同的情況下,則應(yīng)再將該等價類進一步地劃分為更小的等價類。

03

單元測試中的使用

等價類劃分在功能和接口測試中的使用相對比較簡單,上一章節(jié)以及很多其他文檔中都多有說明。我們會從代碼測試的角度對等價類的劃分進行介紹。等價類劃分通常會跟邊界值結(jié)合起來使用,邊界值我們會在下一篇文章進行介紹。

在執(zhí)行代碼單元的結(jié)構(gòu)化覆蓋度測試時,會要求設(shè)計測試用例對代碼進行動態(tài)測試,測試用例的設(shè)計在標(biāo)準(zhǔn)規(guī)范中同樣推薦使用等價類、邊界值等方法。我們將通過一段代碼來分析等價類的在代碼測試中的劃分。

示例代碼如下:

代碼定義了vehicle_temperature_inside 為車內(nèi)的溫度,實際中該值通常是調(diào)用溫度傳感器讀值,本示例中簡單將溫度傳感器接口讀值寫成了全局變量Sensor_temperature ;AC_switch 空調(diào)壓縮機開關(guān),0為關(guān),1為開;Fan_swtch 風(fēng)扇開關(guān),0為關(guān),1為開;Fan_speed 1為微風(fēng)檔,2為中風(fēng)檔,3為高風(fēng)檔;Fan_temp 風(fēng)扇冷熱0為冷風(fēng),1為熱風(fēng)。

代碼要實現(xiàn)的邏輯是根據(jù)獲得的傳感器溫度,在車內(nèi)溫度超過25攝氏度時打開空調(diào),此時風(fēng)扇啟動吹冷風(fēng),空調(diào)壓縮機啟動,風(fēng)扇中檔風(fēng),返回“空調(diào)制冷啟動”;在車內(nèi)溫度低于15攝氏度時打開空調(diào),此時風(fēng)扇啟動吹熱風(fēng),空調(diào)壓縮機不啟動,風(fēng)扇中檔風(fēng),返回“空調(diào)加熱啟動”。

wKgZomaol_OAF5EYAAENo2DgX3g565.png

從功能需求描述和代碼我們可以得知,空調(diào)控制的邏輯結(jié)果均是基于車內(nèi)溫度這個輸入指標(biāo)來得出的,參數(shù)vehicle_temperature_inside > 25時啟動冷空調(diào),vehicle_temperature_inside < 15時啟動熱空調(diào)。這里有兩個有效的取值范圍,根據(jù)上一章節(jié)我們可以得出適用于第4種情況,有2個有效等價類,和1個無效等價類。有效等價類集合是(25,+∞)、(-∞,15),無效等價類為[15,25]。

有效等價類中取vehicle_temperature_inside 參數(shù)輸入值26時,測試用例如下:

wKgZomaol_qAWxtoAAFAl6FImzg372.png

有效等價類中取vehicle_temperature_inside 參數(shù)輸入值0時,測試用例如下:

wKgaomaomACAHMLMAAFA2uCBEJA299.png

無效等價類取值25測試用例如下:

wKgZomaomAeAJVoHAAFE4-fmzSM206.png

測試完成后檢查控制流圖如下,所有路徑均已設(shè)計測試用例覆蓋。

wKgaomaomA6AaV0KAAB7IbiloTk605.png

04

測試小結(jié)

在執(zhí)行代碼的測試設(shè)計中使用等價類方法有如下建議:

1. 等價類生成與分析不僅僅在黑盒測試設(shè)計中使用,在白盒代碼測試中也是常見的測試方法。

2. 代碼測試用例設(shè)計時無效等價類取值的設(shè)計,取值通常跟有效等價類值是數(shù)據(jù)類型相同,但范圍限定在無效范圍內(nèi),即測試的形參是整數(shù)型,不管有效等價類或是無效等價類均是整數(shù)型,不存在有效等價類是整數(shù)型,無效等價類是浮點數(shù)型。

3. 代碼設(shè)計的等價類和邊界值可以結(jié)合使用,也推薦結(jié)合使用。

4. 功能安全等級的不同和測試設(shè)計時對等價類邊界值取值數(shù)量的要求需要根據(jù)實際項目情況來,通常安全等級越高,要求取值測試數(shù)量就多。

參考文獻:

1. 全國計算機技術(shù)與軟件專業(yè)技術(shù)資格考試指定用書 – 軟件評測師教程.

審核編輯 黃宇

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

    關(guān)注

    8

    文章

    5375

    瀏覽量

    127053
  • ISO
    ISO
    +關(guān)注

    關(guān)注

    0

    文章

    265

    瀏覽量

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

    關(guān)注

    30

    文章

    4825

    瀏覽量

    69035
收藏 人收藏

    評論

    相關(guān)推薦

    實驗室·基于MQTT協(xié)議的模糊測試研究

    作者 |? 張淵策?上海控安可信軟件創(chuàng)新研究院工控網(wǎng)絡(luò)安全組 來源 | ?實驗室 社群 | ?添加微信號“ TICPShanghai ”加入“上海控安51fusa安全社區(qū)” 隨著物聯(lián)網(wǎng)技術(shù)的快速
    的頭像 發(fā)表于 07-30 15:21 ?676次閱讀
    <b class='flag-5'>鑒</b><b class='flag-5'>源</b><b class='flag-5'>實驗室</b>·基于MQTT協(xié)議的模糊<b class='flag-5'>測試</b>研究

    軟件測評的等價設(shè)計方法

    劃分的步驟: 1、先考慮輸入數(shù)據(jù)的數(shù)據(jù)類型(合法和非法的) 2、再考慮數(shù)據(jù)范圍(合法類型的合法區(qū)間和非法區(qū)間) 3、畫出示意圖,區(qū)分等價 4、為每一個等價
    發(fā)表于 12-29 10:22

    UML狀態(tài)圖和Petri網(wǎng)絡(luò)在測試用生成的應(yīng)用

    【作者】:陳志德;曾凡平;【來源】:《小型微型計算機系統(tǒng)》2010年03期【摘要】:分析和研究UML狀態(tài)圖、擴展?fàn)顟B(tài)機和Petri網(wǎng)在測試用生成
    發(fā)表于 04-24 09:52

    實驗室管理系列】實驗室管理體系ISO/IEC17025內(nèi)容拆解

    ISO/IEC 17025《檢測和校準(zhǔn)實驗室能力的通用要求》是由國際標(biāo)準(zhǔn)化組織ISO/CASCO(國際標(biāo)準(zhǔn)化組織/合格評定委員會)制定的實驗室管理標(biāo)準(zhǔn),是
    發(fā)表于 08-12 10:28

    實驗室lims系統(tǒng)解決方案

    測試分析物并將測試分配給特定的LIMS用戶。報告報告是實驗室lims系統(tǒng)的重要組成部分,它使實驗室能夠全面了解收集的數(shù)據(jù)和潛在趨勢,從而減少
    發(fā)表于 11-04 11:18

    基于UML的生成場景測試用研究

    使用UML生成場景測試用,有利于測試者設(shè)計測試用。使用UML的
    發(fā)表于 03-31 09:49 ?15次下載

    基于DSEA的弱變異測試用生成方法

    為解決基于集合進化算法(SEA)的弱變異測試用生成過程個體規(guī)模固定和執(zhí)行開銷大的問題,提出一種基于動態(tài)集合進化算法( DSEA)的弱變異測試用
    發(fā)表于 11-28 16:11 ?0次下載

    基于UML圖依權(quán)限有序的Web鏈接測試用生成方法

    方法生成含信息元素的擴展?fàn)顟B(tài)圖,通過對擴展?fàn)顟B(tài)圖的轉(zhuǎn)換及相應(yīng)路徑的時序重排得到最終具有權(quán)限與時序性質(zhì)的Web鏈接測試用。通過實驗
    發(fā)表于 01-07 12:25 ?0次下載
    基于UML圖依權(quán)限有序的Web鏈接<b class='flag-5'>測試用</b><b class='flag-5'>例</b><b class='flag-5'>生成方法</b>

    基于碰撞域檢測優(yōu)化的測試用自動生成方法

    隨著軟件行業(yè)的快速發(fā)展,軟件測試的作用也越來越大,自動化測試用生成方法也越來越多。如何找到一種高效的測試用
    發(fā)表于 01-15 10:38 ?2次下載
    基于碰撞域檢測優(yōu)化的<b class='flag-5'>測試用</b><b class='flag-5'>例</b>自動<b class='flag-5'>生成方法</b>

    粒子群優(yōu)化測試用生成方法

    適應(yīng)度函數(shù)的設(shè)計在基于搜索的測試用生成技術(shù)占據(jù)重要的位置,然而在某些特殊的程序,如存在嵌套、非結(jié)構(gòu)性跳轉(zhuǎn)或因return,break等
    發(fā)表于 01-15 15:23 ?0次下載

    數(shù)據(jù)測試:輸入數(shù)據(jù)的設(shè)計方法測試用設(shè)計方法

    測試用的設(shè)計是測試設(shè)計的重要內(nèi)容,關(guān)于測試用的設(shè)計方法,當(dāng)前不少出版的
    的頭像 發(fā)表于 06-29 10:22 ?2977次閱讀

    基于遺傳算法的測試用生成方法

    測程序的控制流圖進行數(shù)據(jù)流分析,計算出程序中所有的定義-使用對,得到測試目標(biāo),利用面向多測試目標(biāo)的遺傳算法生成滿足 all-uses準(zhǔn)則的最優(yōu)解。遺傳算法
    發(fā)表于 05-07 10:28 ?2次下載

    廣東金實驗室科技有限公司介紹

    認(rèn)定的“LED失效分析公共服務(wù)示范平臺”,廣州市中級人民法院司法鑒定專業(yè)委托機構(gòu)。 ? 金實驗室建設(shè)了一條從芯片到封裝燈具的LED測試分析
    發(fā)表于 11-25 17:19 ?1855次閱讀
    廣東金<b class='flag-5'>鑒</b><b class='flag-5'>實驗室</b>科技有限公司介紹

    技術(shù)分享 | ISO 26262的安全分析之FMEA

    本期內(nèi)容以系統(tǒng)架構(gòu)設(shè)計為,講解如何在ISO26262產(chǎn)品開發(fā)過程實施安全分析,半導(dǎo)體層面的芯片設(shè)計也可以參考本文相關(guān)內(nèi)容執(zhí)行安全分析。安
    的頭像 發(fā)表于 04-15 11:32 ?1790次閱讀
    技術(shù)分享 | <b class='flag-5'>ISO</b> <b class='flag-5'>26262</b><b class='flag-5'>中</b>的安全<b class='flag-5'>分析</b>之FMEA

    實驗室·測試設(shè)計方法-因果圖

    上篇文章(ISO 26262測試用得出方法-邊
    的頭像 發(fā)表于 11-05 15:17 ?257次閱讀
    <b class='flag-5'>鑒</b><b class='flag-5'>源</b><b class='flag-5'>實驗室</b>·<b class='flag-5'>測試</b>設(shè)計<b class='flag-5'>方法</b>-因果圖
    百家乐官网二十一点游戏| 百家乐分析软件下| 大发888 迅雷快传| 百家乐官网技巧公司| 优博百家乐的玩法技巧和规则 | 皇冠娱乐| 现金百家乐官网代理| 博E百百家乐的玩法技巧和规则| 网络百家乐官网破解平台| 百家乐看图赢| 紫金县| 西游记百家乐官网娱乐城| 澳门顶级赌场娱乐场| 摩纳哥百家乐官网的玩法技巧和规则| 大发888手机注册送钱| 百家乐官网免| 玩百家乐678娱乐城| 体球网足球比分| 百家乐赌法博彩正网| 百家乐官网视频金币| 新世纪百家乐娱乐城| 阿荣旗| 金城百家乐买卖路| 百家乐官网翻天youtube| 水果机遥控器价格| 圣保罗百家乐官网的玩法技巧和规则| 澳门百家乐规| 三星百家乐官网的玩法技巧和规则 | 百家乐咋样赢钱| 名人百家乐官网的玩法技巧和规则| 澳门赌球网| 百家乐赌场牌路分析| 百家乐官网赌博大全| 东京太阳城王子酒店| 送58百家乐官网的玩法技巧和规则| 能赚钱的棋牌游戏| 百家乐太阳城线上| 大家旺百家乐官网娱乐城| 大发888-娱乐场| 澳门百家乐官网赌场| 百家乐官网如何看牌|