汽車控制器中自動(dòng)測試用例的生成方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉智能設(shè)備領(lǐng)域,具體涉及一種汽車控制器中自動(dòng)測試用例的生成方法和 系統(tǒng)。
【背景技術(shù)】
[0002] 隨著汽車的不斷普及,汽車的功能越來越多,汽車中的各種軟件也越來越復(fù)雜,因 此為了保證汽車的可靠性,對(duì)汽車中的控制系統(tǒng)進(jìn)行測試是必不可少的汽車控制器中的測 試用例,能夠測試汽車控制器中應(yīng)用程序的特定功能設(shè)計(jì)。一般情況下,應(yīng)用程序的某一特 定功能設(shè)計(jì)需要編寫相應(yīng)的測試用例進(jìn)行測試。也就是說,在進(jìn)行全新平臺(tái)的網(wǎng)絡(luò)開發(fā)以 及硬件開發(fā)時(shí),針對(duì)汽車控制器應(yīng)用程序的特定功能設(shè)計(jì)的已有測試用例,很難直接使用, 因此導(dǎo)致測試用例的可重復(fù)使用性較差。
[0003] 另外,即使當(dāng)全新平臺(tái)的功能設(shè)計(jì)與之前的相似時(shí),雖然無需更改自動(dòng)測試用例 的主體部分,但由于測試用例的信號(hào)名稱、信號(hào)數(shù)量、賦值等會(huì)發(fā)生變化,從而導(dǎo)致必須重 寫相應(yīng)部分的表達(dá)。并且在編寫的自動(dòng)測試用例時(shí),一般需要填寫網(wǎng)絡(luò)接口或者硬線接口 上的名稱,而且測試用例中的信號(hào)名大都是英文名稱,每個(gè)人的命名習(xí)慣又不相同,使得所 編寫的測試用例可讀性非常差。從而導(dǎo)致了開發(fā)人員在解讀測試用例表達(dá)的測試思路時(shí), 很難與具體的某個(gè)功能設(shè)計(jì)對(duì)應(yīng)起來,使得開發(fā)人員無法檢驗(yàn)測試人員的測試設(shè)計(jì)。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。為此,本發(fā)明的 一個(gè)目的在于提出一種汽車控制器中自動(dòng)測試用例的生成方法,該方法能夠提高測試用例 的易讀性,且能夠使測試用例重復(fù)使用。
[0005] 本發(fā)明的第二個(gè)目的在于提出一種汽車控制器中自動(dòng)測試用例的生成系統(tǒng)。
[0006] 本發(fā)明第一方面的實(shí)施例提出了一種汽車控制器中自動(dòng)測試用例的生成方法,包 括以下步驟:生成初始測試用例,其中,所述初始測試用例包括信號(hào)名及所述信號(hào)名對(duì)應(yīng)的 賦值名;獲取發(fā)送信號(hào)和測量信號(hào)之間的替換規(guī)則,其中,所述替換規(guī)則包括由所述信號(hào) 名、所述賦值名、映射名、映射名之間的相互關(guān)系和賦值映射名所組成的邏輯關(guān)系;根據(jù)所 述替換規(guī)則對(duì)所述初始測試用例進(jìn)行替換操作以生成最終的測試用例。
[0007] 本發(fā)明實(shí)施例的汽車控制器中自動(dòng)測試用例的生成方法,根據(jù)發(fā)送信號(hào)和測量信 號(hào)之間的替換規(guī)則對(duì)初始測試用例進(jìn)行替換操作,生成最終的測試用例,提高了測試用例 的可讀性,且能夠使測試用例的重復(fù)使用。
[0008] 另外,根據(jù)本發(fā)明上述實(shí)施例的汽車控制器中自動(dòng)測試用例的生成方法還可以具 有如下附加的技術(shù)特征:
[0009] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述根據(jù)所述替換規(guī)則對(duì)所述初始測試用例進(jìn)行替換 操作以生成最終的測試用例,具體包括:確定待替換信號(hào)名,并在所述初始測試用例中索引 所述待替換信號(hào)名;判斷所述待替換信號(hào)名對(duì)應(yīng)的映射名的個(gè)數(shù)是否等于1 ;若是,則將所 述初始測試用例中所述待替換信號(hào)名替換為所述映射名,并將所述賦值名替換為對(duì)應(yīng)的所 述賦值映射名,以生成所述最終的測試用例;若否,則判斷所述待替換信號(hào)名對(duì)應(yīng)的多個(gè)所 述映射名之間的相互關(guān)系;若所述多個(gè)映射名為與的關(guān)系,則將所述初始測試用例中每個(gè) 待替換信號(hào)名替換為所有映射名的集合,并將所述賦值名替換為對(duì)應(yīng)的所述賦值映射名, 以生成所述最終的測試用例;若所述多個(gè)映射名為或的關(guān)系,則生成與所述映射名數(shù)量相 同的所述初始測試用例的衍生文件,并將所述衍生文件中的待替換信號(hào)名替換為所述映射 名,并將賦值名替換為對(duì)應(yīng)的所述賦值映射名,以得到所述最終的測試用例。
[0010] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述信號(hào)名為所述初始測試用例中使用過的用于表達(dá) 信號(hào)的語言文字,所述賦值名為某一個(gè)特定所述信號(hào)名在所有所述初始測試用例中所涉及 的賦值名。
[0011] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述初始測試用例中多個(gè)所述待替換信號(hào)名所對(duì)應(yīng)的 映射名之間的相互關(guān)系均為或時(shí),對(duì)多個(gè)所述待替換信號(hào)名進(jìn)行排列組合窮舉衍生。排列 組合窮舉衍生思路簡單,程序編寫和調(diào)試方便。
[0012] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述初始測試用例與所述最終的測試用例的名稱和/ 或序號(hào)相對(duì)應(yīng)。
[0013] 本發(fā)明第二方面的實(shí)施例提出了一種汽車控制器中自動(dòng)測試用例的生成系統(tǒng),包 括:生成模塊,用于生成初始測試用例,其中,所述初始測試用例包括信號(hào)名及所述信號(hào)名 對(duì)應(yīng)的賦值名;獲取模塊,用于獲取發(fā)送信號(hào)和測量信號(hào)之間的替換規(guī)則,其中,所述替換 規(guī)則包括由所述信號(hào)名、所述賦值名、映射名、映射名之間相互關(guān)系和賦值映射名所組成的 邏輯關(guān)系;替換模塊,用于根據(jù)所述替換規(guī)則對(duì)所述初始測試用例進(jìn)行替換操作以生成最 終的測試用例。
[0014] 本發(fā)明實(shí)施例的汽車控制器中自動(dòng)測試用例的生成系統(tǒng),通過替換模塊對(duì)初始測 試用例進(jìn)行替換操作,生成最終的測試用例,提高了測試用例的可讀性,且能夠使測試用例 重復(fù)使用。
[0015] 另外,根據(jù)本發(fā)明上述實(shí)施例的汽車控制器中自動(dòng)測試用例的生成系統(tǒng)還可以具 有如下附加的技術(shù)特征:
[0016] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述替換模塊包括:索引模塊,用于確定待替換信號(hào) 名,并在所述初始測試用例中索引所述待替換信號(hào)名;判斷模塊,用于判斷所述待替換信號(hào) 名對(duì)應(yīng)的映射名中的個(gè)數(shù)是否等于1,以及判斷所述待替換信號(hào)名對(duì)應(yīng)的多個(gè)所述映射名 之間的相互關(guān)系;處理模塊,用于當(dāng)所述待替換信號(hào)名對(duì)應(yīng)的映射名中的個(gè)數(shù)等于1時(shí),將 所述初始測試用例中所述待替換信號(hào)名替換為所述映射名,并將所述賦值名替換為對(duì)應(yīng)的 所述賦值映射名,以生成所述最終的測試用例。
[0017] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述處理模塊還用于:所述待替換信號(hào)名對(duì)應(yīng)的映射 名中的個(gè)數(shù)大于1,且所述多個(gè)映射名為與的關(guān)系時(shí),將所述初始測試用例中每個(gè)待替換信 號(hào)名替換為所有映射名的集合,并將所述賦值名替換為對(duì)應(yīng)的所述賦值映射名,以生成所 述最終的測試用例;以及所述待替換信號(hào)名對(duì)應(yīng)的映射名中的個(gè)數(shù)大于1,且所述多個(gè)映 射名為或的關(guān)系時(shí),生成與所述映射名數(shù)量相同的所述初始測試用例的衍生文件,并將所 述衍生文件中的待替換信號(hào)名替換為所述映射名,并將賦值名替換為對(duì)應(yīng)的所述賦值映射 名,以得到所述最終的測試用例。
[0018] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述信號(hào)名為所述測試用例中使用過的用于表達(dá)信號(hào) 的語言文字,所述賦值名指某一個(gè)特定所述信號(hào)名在所有所述測試用例中所涉及的賦值 名。
[0019] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述初始測試用例中多個(gè)所述待替換信號(hào)名所對(duì)應(yīng)的 映射名之間的相互關(guān)系均為或時(shí),對(duì)多個(gè)所述待替換信號(hào)名進(jìn)行排列組合窮舉衍生。排列 組合窮舉衍生思路簡單,程序編寫和調(diào)試方便。
[0020] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述初始測試用例與所述最終的測試用例的名稱和/ 或序號(hào)相對(duì)應(yīng)。
【附圖說明】
[0021] 本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對(duì)實(shí)施例的描述中將變 得明顯和容易理解,其中:
[0022] 圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的汽車控制器中自動(dòng)測試用例的生成方法的流程 圖;
[0023] 圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的根據(jù)替換規(guī)則對(duì)初始測試用例進(jìn)行替換操作以 生成最終的測試用例的方法的流程圖;
[0024]圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的汽車控制器中自動(dòng)測試用例的生成系統(tǒng)的結(jié)構(gòu) 框圖;
[0025]圖4是根據(jù)本發(fā)明一個(gè)具體實(shí)施例的汽車控制器中自動(dòng)測試用例的生成系統(tǒng)的 結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0026] 下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終 相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附 圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。
[0027] 下面參考附圖描述本發(fā)明實(shí)施例的汽車控制器中自動(dòng)測試用例的生成方法和系 統(tǒng)。
[0028]圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的汽車控制器中自動(dòng)測試用例的生成方法的流程 圖。
[0029] 如圖1所示,該汽車控制器中自動(dòng)測試用例的生成方法包括以下步驟:
[0030] S101,生成初始測試用例。
[0031