衡阳派盒市场营销有限公司

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娱乐场官方下载| 久盛| 百家乐官网赌博策略大全| 百家乐庄家必赢诀窍| 晓游棋牌游戏大厅下载| 网络百家乐官网游赌博| 宝马会百家乐现金网| 大发888舍出同线牌| 百家乐官网桌手机套| 山西百家乐用品| 沅陵县| 百家乐官网详解| 百家乐游戏群号| 娱乐城送现金| 万宝路百家乐官网的玩法技巧和规则| 威尼斯人娱乐城投注| 百家乐官网分析仪博彩正网| 温州市百家乐鞋业| 澳门百家乐官网如何算牌| 百家乐赌博规| 广州百家乐赌场娱乐网规则| 百家乐官网电脑上怎么赌| 网上百家乐软件大全酷| 百家乐官网好不好玩| 伯爵百家乐官网赌场娱乐网规则 | 澳门百家乐官网规律星期娱乐城博彩 | 金都百家乐官网的玩法技巧和规则 | 大发888娱乐城shouye| 678百家乐官网博彩娱乐场开户注册 | 太阳城百家乐官网外挂| 永利博百家乐的玩法技巧和规则| 任我赢百家乐官网自动投注系统| 宝马会百家乐的玩法技巧和规则| 最好的百家乐官网投注| 威尼斯人娱乐城送彩金| BB百家乐官网大转轮| 威尼斯人娱乐城网| 天地人百家乐官网现金网| 钱柜百家乐的玩法技巧和规则 | 名仕国际棋牌下载|