一種汽車儀表測試用例集生成方法
【專利摘要】一種汽車儀表測試用例集生成方法,本發(fā)明涉及汽車儀表測試用例集生成方法。本發(fā)明是要解決現(xiàn)有的測試用例對知識和經(jīng)驗有著極高的要求、測試效率和成本開銷都很大,易受測試人員主觀影響以及半自動化生成測試用例效果不是十分理想的問題,而提出的一種汽車儀表測試用例集生成方法。該方法是通過一、生成汽車儀表測試用例集;二、確定測試用例表的行數(shù)r;三、確定m個參數(shù)的覆蓋率p;四、當(dāng)r≥max(ti1*ti2*…tik)且p≥(t1*t2*…tn)/(t1*t2*…tm)生成最終的測試用例集;五、如不符合步驟四的條件重復(fù)步驟一至步驟四直至符合步驟四為止等步驟實現(xiàn)的。本發(fā)明應(yīng)用于汽車儀表測試用例集生成方法領(lǐng)域。
【專利說明】
_種汽車儀表測試用例集生成方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及汽車儀表測試用例集自動生成方法。
【背景技術(shù)】
[0002]汽車儀表是汽車的重要組成部分,它是駕駛員和汽車狀態(tài)指示的依據(jù),所以儀表的研發(fā)質(zhì)量至關(guān)重要,為了保證儀表研發(fā)質(zhì)量,必須對儀表進(jìn)行一系列測試,其中功能測試是非常重要,它在研發(fā)階段確保了產(chǎn)品質(zhì)量。測試用例是儀表測試的依據(jù),測試用例設(shè)計的好壞將直接影響到測試工作的成功與否。目前大多數(shù)公司還處在人工編寫測試用例階段,它對測試人員所具備的知識和經(jīng)驗有著極高的要求,再有這種方式測試效率和成本開銷都很大,易受測試人員主觀影響,也有一些公司采用半自動化生成測試用例的方式,但效果不是十分理想,技術(shù)尚不完全成熟,所以汽車儀表測試用例的自動生成方法尤為重要。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的是為了解決現(xiàn)有的測試用例對知識和經(jīng)驗有著極高的要求、測試效率和成本開銷都很大,易受測試人員主觀影響以及半自動化生成測試用例效果不是十分理想的問題,而提出的一種汽車儀表測試用例集生成方法。
[0004]上述的發(fā)明目的是通過以下技術(shù)方案實現(xiàn)的:
[0005]步驟一、采用組合覆蓋算法根據(jù)汽車儀表的實際功能特性生成汽車儀表測試用例集;
[0006]步驟二、假設(shè)汽車儀表測試用例集的輸入?yún)?shù)共有k個,且k個參數(shù)中每個參數(shù)的取值為U,i = l,2,…n,每個參數(shù)取值總數(shù)η生成測試用例集η個因素,根據(jù)測試用例集η因素確定測試用例表的行數(shù)r;其中,ti > t2 >…tn;
[0007]步驟三、在為汽車儀表測試用例集所生成的η維組合覆蓋表A中,確定m個參數(shù)的覆蓋率P;系統(tǒng)設(shè)定m個參數(shù);
[0008]步驟四、當(dāng)測試用例集生成的η因素測試用例表的行數(shù)r滿足:
[0009]r > max(tii*ti2*-,,tik)l < ii 關(guān) i2...關(guān) ik<m
[0010]且p滿足:
[0011]P > (tl*t2*...tn)/(tl*t2*...tm)
[0012]生成最終的汽車儀表測試用例集;
[0013]其中,tik為第k個參數(shù)的第i個取值;n^ k;
[0014]步驟五、當(dāng)1'<11^(1^1*1^2*."1^)或?<(1:1襯2*."1:11)/(ti*t2*."tm)時,利用逐條比對法尋找步驟一生成的汽車儀表測試用例集的汽車儀表的實際功能遺漏項,將所需遺漏項補入到步驟一生成的汽車儀表測試用例集中重復(fù)步驟二至步驟五直至生成最終的汽車儀表測試用例集。
[0015]發(fā)明效果
[0016]本發(fā)明主要考慮汽車儀表產(chǎn)品質(zhì)量的重要性,及該產(chǎn)品系統(tǒng)的重雜性,對其進(jìn)行驗證需要規(guī)模龐大的測試用例,所以提高測試效率的一個重要途徑就是盡可能地實現(xiàn)自動化測試。測試用例自動生成技術(shù)不僅能提高測試效率,降低測試成本,而且對測試質(zhì)量也能起到很好的保證作用。
[0017]組合覆蓋方法作為一種非常重要的測試用例生成方法,充分考慮了系統(tǒng)中各個輸入?yún)?shù)及其組合之間的相互作用可能對系統(tǒng)產(chǎn)生的影響。它根據(jù)系統(tǒng)中各種因素的相互關(guān)系,能夠生成盡可能少的測試數(shù)據(jù)來實現(xiàn)盡可能完備的覆蓋。同時,這些不完全測試的結(jié)果能夠反映完全測試的內(nèi)在規(guī)律且具有代表性,這種方法對于系統(tǒng)因素相互作用而導(dǎo)致的系統(tǒng)故障具有較強的檢測能力。這樣就可以針對實際需要,選擇那些具有代表性的盡可能少的測試用例去盡可能多地覆蓋一些影響系統(tǒng)的因素,并使得這樣執(zhí)行后得到的測試結(jié)果能夠反映全面測試的內(nèi)在規(guī)律,且能夠很好地檢測那些由于某些輸入?yún)?shù)相互作用而導(dǎo)致的系統(tǒng)故障。
[0018]本發(fā)明實現(xiàn)了汽車儀表測試用例的自動生成,最重要的兩步是基本測試用例的生成和對測試用例覆蓋率的檢查,當(dāng)被測系統(tǒng)需要進(jìn)行輸入?yún)?shù)的增減時,都可以對其進(jìn)行靈活處理,所以具有很好的靈活性和可擴(kuò)展性。
【附圖說明】
[0019]圖1【具體實施方式】一提出的一種汽車儀表測試用例集生成方法流程圖;
[0020]圖2為【具體實施方式】一提出的組合覆蓋算法過程原理結(jié)構(gòu)圖。
【具體實施方式】
[0021]【具體實施方式】一:本實施方式的一種汽車儀表測試用例集生成方法,具體是按照以下步驟制備的:
[0022]步驟一、采用組合覆蓋算法根據(jù)汽車儀表的實際功能特性生成汽車儀表測試用例集;組合覆蓋算法過程原理結(jié)構(gòu)如圖2所示;
[0023]步驟二、假設(shè)汽車儀表測試用例集的輸入?yún)?shù)共有k個,且k個參數(shù)中每個參數(shù)的取值為U,i = l,2,…n,每個參數(shù)取值總數(shù)η生成測試用例集η個因素,根據(jù)測試用例集η因素確定測試用例表的行數(shù)r;其中,ti > t2 >…tn;
[0024]步驟三、覆蓋率是度量測試完整性的一個手段,對算法生成后測試用例完全程度的評測;理想情況覆蓋率100%為一次完整覆蓋,但是實際上需要根據(jù)具體情況而定;為了便于計算覆蓋率,現(xiàn)給出如下定義:在為汽車儀表測試用例集所生成的η維組合覆蓋表A中,確定m個參數(shù)的覆蓋率P ;系統(tǒng)設(shè)定m個參數(shù);
[0025]步驟四、當(dāng)測試用例集生成的η因素測試用例表的行數(shù)r滿足:
[0026]r > max(tii*ti2*-,,tik)l < ii 關(guān) i2...關(guān) ik<m
[0027]且p滿足:
[0028]p > (tl*t2*...tn)/(tl*t2*...tm)
[0029]生成最終的汽車儀表測試用例集;
[0030]其中,tik為第k個參數(shù)的第i個取值;n<m<k;
[0031 ]步驟五、當(dāng)1'<11^(1^1*1^2*."1^)或?<(1:1*七2*."1:11)/ (tl*t2* …tm)時,利用逐條比對法尋找步驟一生成的汽車儀表測試用例集的汽車儀表的實際功能遺漏項,將所需的遺漏項補入到步驟一生成的汽車儀表測試用例集中重復(fù)步驟二至步驟五直至生成最終的汽車儀表測試用例集如圖1;從遺漏項中刪除所需遺漏項作為備選遺漏項;
[0032]根據(jù)上一步的覆蓋率檢查評判結(jié)果進(jìn)行測試用例的補充與完善,主要就是依據(jù)已經(jīng)生成的基本測試用例是否滿足覆蓋率,將測試用例補充到前面己經(jīng)生成的測試用例集中,使之形成為完整的測試用例表。
[0033]本實施方式效果:
[0034]本實施方式主要考慮汽車儀表產(chǎn)品質(zhì)量的重要性,及該產(chǎn)品系統(tǒng)的重雜性,對其進(jìn)行驗證需要規(guī)模龐大的測試用例,所以提高測試效率的一個重要途徑就是盡可能地實現(xiàn)自動化測試。測試用例自動生成技術(shù)不僅能提高測試效率,降低測試成本,而且對測試質(zhì)量也能起到很好的保證作用。
[0035]組合覆蓋方法作為一種非常重要的測試用例生成方法,充分考慮了系統(tǒng)中各個輸入?yún)?shù)及其組合之間的相互作用可能對系統(tǒng)產(chǎn)生的影響。它根據(jù)系統(tǒng)中各種因素的相互關(guān)系,能夠生成盡可能少的測試數(shù)據(jù)來實現(xiàn)盡可能完備的覆蓋。同時,這些不完全測試的結(jié)果能夠反映完全測試的內(nèi)在規(guī)律且具有代表性,這種方法對于系統(tǒng)因素相互作用而導(dǎo)致的系統(tǒng)故障具有較強的檢測能力。這樣就可以針對實際需要,選擇那些具有代表性的盡可能少的測試用例去盡可能多地覆蓋一些影響系統(tǒng)的因素,并使得這樣執(zhí)行后得到的測試結(jié)果能夠反映全面測試的內(nèi)在規(guī)律,且能夠很好地檢測那些由于某些輸入?yún)?shù)相互作用而導(dǎo)致的系統(tǒng)故障。
[0036]本實施方式實現(xiàn)了汽車儀表測試用例的自動生成,最重要的兩步是基本測試用例的生成和對測試用例覆蓋率的檢查,當(dāng)被測系統(tǒng)需要進(jìn)行輸入?yún)?shù)的增減時,都可以對其進(jìn)行靈活處理,所以具有很好的靈活性和可擴(kuò)展性。
[0037]【具體實施方式】二:本實施方式與【具體實施方式】一不同的是:步驟一中采用組合覆蓋算法根據(jù)汽車儀表的實際功能特性生成汽車儀表測試用例集具體為:
[0038]步驟一一、將汽車儀表的實際功能特性分為三個層,第一層是基礎(chǔ)層、第二層是應(yīng)用層和第三層是信號層;
[0039]步驟一二、就圖2而言,網(wǎng)絡(luò)模型中的三個層分別為基礎(chǔ)層、應(yīng)用層和信號層,基礎(chǔ)層、應(yīng)用層和信號層分別含有N個節(jié)點;分別在基礎(chǔ)層、應(yīng)用層和信號層中各選擇一個節(jié)點,將選擇的三個節(jié)點一條路徑;
[0040]步驟一三、重復(fù)步驟一二將基礎(chǔ)層、應(yīng)用層和信號層中的所有節(jié)點選擇完畢得到N條路徑,N條路徑即為汽車儀表測試用例集;其中,M條路徑中的每一條路徑的三個點的組合均不相同,基礎(chǔ)層、應(yīng)用層和信號層中已選擇過的點不進(jìn)行再選擇;
[0041 ]例如節(jié)點I的號串1-1-1為一條路徑,1-2-1等,第一層取第I個節(jié)點值,第二層取第I個節(jié)點值,第三層取第I個節(jié)點值,然后第一層再取第I個節(jié)點值,第二層取第2個節(jié)點值,第三層取第I個節(jié)點值,依此類推,這樣就能非常方便地用一系列的節(jié)點號串形成的序列去表示一條對應(yīng)的測試用例。其它步驟及參數(shù)與【具體實施方式】一相同。
[0042]【具體實施方式】三:本實施方式與【具體實施方式】一或二不同的是:所述基礎(chǔ)層用于控制基本功能信息:基礎(chǔ)層包括顯示裝置,指示燈,液晶顯示,聲音報警裝置,功能按鍵,輸出儀表和電源管理裝置。其它步驟及參數(shù)與【具體實施方式】一或二相同。
[0043]【具體實施方式】四:本實施方式與【具體實施方式】一至三之一不同的是:所述應(yīng)用層硬件主要包括車速表、轉(zhuǎn)速表、燃油表、水溫表、左轉(zhuǎn)向指示燈和右轉(zhuǎn)向指示燈;應(yīng)用層系統(tǒng)主要包括開機(jī)啟動界面,菜單界面,超速報警系統(tǒng),安全帶未系報警系統(tǒng),供電電壓和靜態(tài)電流系統(tǒng)。其它步驟及參數(shù)與【具體實施方式】一至三之一相同。
[0044]【具體實施方式】五:本實施方式與【具體實施方式】一至四之一不同的是:所述信號層,主要包括 CAN信號(控制器局域網(wǎng)絡(luò)(Controler Area Network, CAN))和TTL (Trans is tor-Transistor logic晶體管_晶體管邏輯集成電路)信號。其它步驟及參數(shù)與【具體實施方式】一至四之一相同。
【主權(quán)項】
1.一種汽車儀表測試用例集生成方法,其特征在于:一種汽車儀表測試用例集生成方法具體是按照以下步驟進(jìn)行的: 步驟一、采用組合覆蓋算法根據(jù)汽車儀表的實際功能特性生成汽車儀表測試用例集;步驟二、假設(shè)汽車儀表測試用例集的輸入?yún)?shù)共有k個,且k個參數(shù)中每個參數(shù)的取值為1,? = 1,2,…n,每個參數(shù)取值總數(shù)η生成測試用例集η個因素,根據(jù)測試用例集η因素確定測試用例表的行數(shù)Γ;其中,tl > t2 > -"tn; 步驟三、在為汽車儀表測試用例集所生成的η維組合覆蓋表A中,確定m個參數(shù)的覆蓋率P;系統(tǒng)設(shè)定m個參數(shù); 步驟四、當(dāng)測試用例集生成的η因素測試用例表的行數(shù)r滿足: r > max(tii*ti2*."tik) I < ii 關(guān) i2...關(guān) ik<m 且P滿足:P > (tl*t2*."tn)/(tl*t2*H.tm) 生成最終的汽車儀表測試用例集; 其中,tik為第k個參數(shù)的第i個取值;n ^ m < k; 步驟五、當(dāng)r<max(tii*ti2*…tik)或p< (ti*t2*…tn)/(ti*t2*…tm)時,利用逐條比對法尋找步驟一生成的汽車儀表測試用例集的汽車儀表的實際功能遺漏項,將所需遺漏項補入到步驟一生成的汽車儀表測試用例集中重復(fù)步驟二至步驟五直至生成最終的汽車儀表測試用例集。2.根據(jù)權(quán)利要求1所述一種汽車儀表測試用例集生成方法,其特征在于:步驟一中采用組合覆蓋算法根據(jù)汽車儀表的實際功能特性生成汽車儀表測試用例集具體為: 步驟一一、將汽車儀表的實際功能特性分為三個層,第一層是基礎(chǔ)層、第二層是應(yīng)用層和第三層是信號層; 步驟一二、分別在基礎(chǔ)層、應(yīng)用層和信號層中各選擇一個節(jié)點,將選擇的三個節(jié)點一條路徑;其中,基礎(chǔ)層、應(yīng)用層和信號層分別含有N個節(jié)點; 步驟一三、重復(fù)步驟一二將基礎(chǔ)層、應(yīng)用層和信號層中的所有節(jié)點選擇完畢得到N條路徑,N條路徑即為汽車儀表測試用例集;其中,M條路徑中的每一條路徑的三個點的組合均不相同,基礎(chǔ)層、應(yīng)用層和信號層中已選擇過的點不進(jìn)行再選擇。3.根據(jù)權(quán)利要求2所述一種汽車儀表測試用例集生成方法,其特征在于:所述基礎(chǔ)層用于控制基本功能信息:基礎(chǔ)層包括顯示裝置,指示燈,液晶顯示,聲音報警裝置,功能按鍵,輸出儀表和電源管理裝置。4.根據(jù)權(quán)利要求2所述一種汽車儀表測試用例集生成方法,其特征在于:所述應(yīng)用層硬件主要包括車速表、轉(zhuǎn)速表、燃油表、水溫表、左轉(zhuǎn)向指示燈和右轉(zhuǎn)向指示燈;應(yīng)用層系統(tǒng)主要包括開機(jī)啟動界面,菜單界面,超速報警系統(tǒng),安全帶未系報警系統(tǒng),供電電壓和靜態(tài)電流系統(tǒng)。5.根據(jù)權(quán)利要求2所述一種汽車儀表測試用例集生成方法,其特征在于:所述信號層,主要包括CAN信號和TTL信號。
【文檔編號】G06F11/36GK105868107SQ201610177857
【公開日】2016年8月17日
【申請日】2016年3月24日
【發(fā)明人】侯影, 李宏梅, 蘆婷, 鄭偉
【申請人】航天科技控股集團(tuán)股份有限公司