一種面向do-178c軟件測試過程的目標驗證及證據(jù)模型提取方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及計算機技術(shù)領(lǐng)域,尤其設(shè)及一種面向D0-178C軟件測試過程的目標驗 證及證據(jù)模型提取方法。
【背景技術(shù)】
[0002] 目前,機載適航軟件存在很多標準,但是應(yīng)用最廣泛的就是美國航空無線電技術(shù) 委員會提出的航空工業(yè)軟件標準D0-178B。在2011年,在此基礎(chǔ)上,又重新提出了D0-178C。
[0003] D0-178C針對適航軟件開發(fā)過程,為滿足安全性作出規(guī)定,針對不同的開發(fā)階段制 定了不同的目標,提供了實現(xiàn)相應(yīng)目標可W執(zhí)行的活動,W及產(chǎn)生的相應(yīng)輸出。
[0004] D0-178C將適航軟件分為四個等級,分別是A,B,C,D級,其中A級軟件對安全性的 要求最為嚴格,需要滿足的目標最多,D級軟件需要滿足的要求相對其他級別來說較少。 [000引在D0-178C中,對軟件測試流程的描述如說明書附圖圖1所示,在附圖圖1中,描 述了軟件測試過程中設(shè)及的活動;可W看出,軟件測試活動是迭代進行的,首先,基于不同 層級的軟件需求生成測試用例,進行測試用例選擇;接下來基于生成的不同層級的測試用 例進行低層測試、軟件集成測試W及硬件軟件集成測試;執(zhí)行完測試后,對于不同層級的需 求進行測試覆蓋率分析,如果發(fā)現(xiàn)未測試的需求或測試用例中出現(xiàn)問題,則返回第一步重 新生成測試用例,并依據(jù)測試用例執(zhí)行測試,再次進行需求覆蓋率分析;在達到需求測試 覆蓋率后,進行軟件結(jié)構(gòu)化覆蓋率測試,不同等級的軟件對軟件結(jié)構(gòu)化覆蓋率的要求是不 一致的,如果結(jié)構(gòu)化覆蓋率測試未達到標準,則依據(jù)分析中找出的問題,則返回第一步重新 進行測試用例生成,執(zhí)行,需求覆蓋率的分析等活動,當最終達到指定的軟件結(jié)構(gòu)化覆蓋率 時,測試活動結(jié)束。
[0006] GSN是一種圖形化論證符號,該表達方法規(guī)定了一些論證符號來說明目標論證的 方法。該方法將最上層的總目標進行分解,最終分解到可W使用相應(yīng)證據(jù)直接證明的子目 標,并連接相應(yīng)證據(jù),用該一論證結(jié)構(gòu)來說明證據(jù)是如何論證目標的。GSN的具體表示符號 如說明書附圖圖2所示。
[0007] 目前,針對D0-178C標準的研究,國外的研究現(xiàn)狀是;C.Michael化lloway對 D0-178C中列舉的目標對最終D0-178C標準的總目標的實現(xiàn)做出的貢獻進行了分析,最終 的得出了不同等級的軟件的GSN論證結(jié)構(gòu)圖,用GSN表示的D0-178C中目標的主要論證結(jié) 構(gòu)如附圖圖3所示。從附圖圖3可知,不同等級的軟件的總目標都可W使用目標1. 1來表 示,1. 1是D0-178C的總目標,總目標的分解依據(jù)是2. 1,依據(jù)該分解依據(jù),最終總目標可W 分解為兩個子目標3. 1,3. 2。圖3表示的是一般的論證結(jié)構(gòu),對于不同級別的軟件會有不 同程度的細化,并且兩個子目標3. 1,3. 2最終會繼續(xù)分解,直到得出直接的證據(jù)來論證相 關(guān)目標。該方法描述出了D0-178C中過程目標之間的關(guān)系,W及在總目標的論證結(jié)構(gòu)中, 過程目標所處的地位,然而從子目標到證據(jù)的論證沒有進行描述,也沒有提出具體的基于 D0-178C的證據(jù)模型,對證據(jù)模型的組成結(jié)構(gòu)不夠明確,不能直接應(yīng)用工業(yè)化領(lǐng)域。
[000引針對D0-178C目標的研究,國內(nèi)的研究現(xiàn)狀是,對D0-178C標準的實施缺乏成熟的 研究和工程實踐。
[0009] 在工程實踐中常常會面臨的問題是,在進行適航審定的軟件測試時,需要提供什 么樣的證據(jù)模型,實施什么樣的測試活動,才能滿足D0-178C標準中相應(yīng)目標。該一問題尚 未得到明確的解決方案,目前還沒有針對D0-178C標準中軟件測試過程目標的具體分解, 提取證據(jù)需求的相關(guān)研究所發(fā)表的文章。
[0010] 可見,D0-178C作為適航軟件的安全性標準,在適航認證方面有很大的適用性,但 是在軟件測試過程中D0-178C標準僅僅指出了目標,W及針對目標實施的活動,對應(yīng)的輸 出,并沒有給出具體的輸出組成結(jié)構(gòu),也沒有明確說明執(zhí)行活動的程度,W及執(zhí)行的活動如 何實現(xiàn)對應(yīng)的目標,對于軟件開發(fā)人員來說,在執(zhí)行該標準時存在一定的模糊性。此外,在 國內(nèi)的民用航空軟件測試領(lǐng)域,缺乏明確的基于D0-178C標準適航認證方面的指導。在進 行適航認證的時候,存在不能提供有效證據(jù)通過適航審定的問題。作為證據(jù)的項目數(shù)據(jù)量 十分龐大,如果通過人工來進行數(shù)據(jù)到目標的推理驗證,會耗費大量的人力物力,并且也會 由于不同人員對標準中目標的理解程度不同,使得論證的效果產(chǎn)生誤差,不能形成系統(tǒng)的, 有說服力的論證結(jié)構(gòu)。
【發(fā)明內(nèi)容】
[0011] 鑒于上述的分析,本發(fā)明旨在提供一種面向D0-178C軟件測試過程的目標驗證及 證據(jù)模型提取方法,用W解決現(xiàn)有技術(shù)中缺乏相應(yīng)解決方案的問題。
[0012] 本發(fā)明的目的主要是通過W下技術(shù)方案實現(xiàn)的:
[0013] 一種面向D0-178C軟件測試過程的目標驗證及證據(jù)模型提取方法,具體包括W下 步驟:
[0014] 步驟一、依據(jù)D0-178C標準,建立軟件測試內(nèi)容的目標分解論證模型結(jié)構(gòu),即GSN 模型;
[0015] 步驟二、依據(jù)GSN模型,分析提取論證GSN模型目標的證據(jù)需求,并依據(jù)證據(jù)需求 建立類圖形式的證據(jù)模型;
[0016] 步驟S、將GSN模型依據(jù)論證結(jié)構(gòu)轉(zhuǎn)換為一階謂詞表達式;
[0017] 步驟四、依據(jù)GSN模型轉(zhuǎn)換的一階謂詞表達式對類圖形式的證據(jù)模型賦值,對目 標的滿足性進行推理論證,顯示目標是否滿足,并分析未能滿足目標的原因。
[0018] 其中,所述步驟一進一步包括:
[0019]GSN模型將最上層的總目標進行分解,最終分解到可W使用相應(yīng)證據(jù)直接證明的 最底層的子目標,并連接相應(yīng)證據(jù),用該一論證結(jié)構(gòu)來說明證據(jù)是如何論證目標的。
[0020] 其中,所述步驟二進一步包括:
[002。 2. 1參考GSN表示結(jié)構(gòu)中最底層的子目標,確定需要的證據(jù)需求;
[002引 2. 2參考GSN表示結(jié)構(gòu)中的證據(jù),化及D0-178C中規(guī)定的輸出化及輸出中包括的數(shù) 據(jù)項,將GSN表示結(jié)構(gòu)中的證據(jù)作為類名,將輸出中的數(shù)據(jù)項作為類中的屬性或者方法表 示出來;
[0023] 2. 3參考步驟2. 1中建立的證據(jù)需求,將步驟2. 2中建立的類中的屬性和方法進行 修改,添加需要的屬性或者方法,刪除用不到的屬性或者方法;
[0024] 2.4將依據(jù)證據(jù)自身存在的關(guān)聯(lián),W及步驟2. 1中證據(jù)需求表示的證據(jù)間的關(guān)系, 將步驟2. 3中各個證據(jù)類關(guān)聯(lián)起來,建立完整的證據(jù)模型,W類圖的形式表達出來。
[00巧]其中,所述步驟S進一步包括:
[0026] 3. 1將GSN模型中最底層的子目標使用規(guī)定的關(guān)鍵句式表達出來,依據(jù)定義好的 轉(zhuǎn)換規(guī)則,將該子目標轉(zhuǎn)換成為一階謂詞表達形式;
[0027] 3. 2將轉(zhuǎn)換成為一階謂詞表達形式的子目標用邏輯關(guān)系連接起來,直到完整表達 出總目標為止;
[0028] 3. 3在總結(jié)出最終的一階謂詞表達式后,將其化簡得到最終的一階謂詞表達式。
[0029] 其中,所述步驟四中依據(jù)GSN模型轉(zhuǎn)換的一階謂詞表達式對類圖形式的證據(jù)模型 賦值進一步包括:
[0030] 將實際項目數(shù)據(jù)存入證據(jù)模型中作為證據(jù)元素,利用變量對應(yīng)關(guān)系表,對一階謂 詞邏輯表達式中的各個變量與證據(jù)元素中的值進行一一對應(yīng)。
[0031] 其中,所述步驟四中對目標的滿足性進行推理論證進一步包括:
[0032] 建立一階謂詞表達式的自動推理機工具,將一階謂詞表達式放入自動推理機工具 中,產(chǎn)生論證結(jié)果,說明項目數(shù)據(jù)是否符合D0-178C中規(guī)定的目標。
[0033] 本發(fā)明有益效果如下;
[0034] 本發(fā)明公開了面向D0-178C軟件測試過程的目標驗證及證據(jù)模型提取方法,建立 軟件測試過程相關(guān)目標的論證結(jié)構(gòu),分析出對應(yīng)的證據(jù)需求,并依據(jù)證據(jù)需求建立證據(jù)模 型,依據(jù)證據(jù)模型,在項目數(shù)據(jù)對應(yīng)證據(jù)模型時,實現(xiàn)目標論證的自動化,為實現(xiàn)D0-178C 軟件測試過程的目標提出一套自動推理的解決方案。
[0035] 本發(fā)明的其他特征和優(yōu)點將在隨后的說明書中闡述,并且,部分的從說明書中變 得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明 書、權(quán)利要求書、W及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
【附圖說明】
[0036] 附圖僅用于示出具體實施例的目的,而并不認為是對本發(fā)明的限制,在整個附圖 中,相同的參考符號表示相同的部件。
[0037] 圖1為D0-178C中對軟件測試流程的描述示意圖;