時小芳 王曉麗
摘要:隨著核電產(chǎn)業(yè)的迅猛發(fā)展,核電設計軟件需求量日益增加。針對核電計算程序在測試中遇到的Oracle問題,應用蛻變測試(MR)技術能夠得到有效解決。但是目前基于蛻變測試技術開發(fā)的軟件大多數(shù)運用手動的方式,不但效率低,而且精確度不高,因此研究出一種核電蛻變測試工具至關重要。本文主要研究了核電蛻變測試工具(半自動化)的設計思路,其中包括此工具的目的、算法和功能,旨在提高核電計算程序的測試效率。
關鍵詞:核電計算程序;Oracle問題;蛻變測試工具
中圖分類號:TP31 文獻標識碼:A
文章編號:1009-3044(2019)31-0254-02
1背景
隨著核電產(chǎn)業(yè)的迅猛發(fā)展,核電設計軟件需求量日益增加。傳統(tǒng)的軟件測試方法通常是采用比較程序的實際輸出結(jié)果與預期輸出結(jié)果是否相同來推測程序是否存在錯誤。但是,鑒于核電計算程序計算量大、較為復雜,傳統(tǒng)測試方法已無法滿足需求,基于此,提出了蛻變測試,而基準題在蛻變測試過程中扮演著十分重要的角色。而獲取充足的基準題不僅困難,而且花費代價相當大,若依據(jù)數(shù)學模型或物理模型推導出的蛻變關系在原有基準題的基礎上生成大量的衍生基準題,將大大降低獲取基準題的成本,對于提高測試的充分性和效率意義重大。然而,如何驗證其蛻變關系的可靠性是急需解決的一大難題。為了解決這一難題,本文設計了一款蛻變測試工具—核電蛻變測試工具。
2設計目標
針對目前核電軟件測試中遇到的Oracle問題,提出了蛻變測試,在蛻變測試過程中,基準題集是否充分與蛻變關系是否可靠是影響其測試效率的兩大因素。針對后者,開發(fā)了核電蛻變測試工具,其設計目標如下圖所示:
上圖描述了核電蛻變測試工具的主要設計目標,其主要目標是實現(xiàn)通過調(diào)用蛻變關系使得原始基準題(測試用例)衍生出其他的基準題,然后再通過執(zhí)行待測程序(.exe程序)來執(zhí)行衍生基準題和原始基準題并獲取與其相對應的輸出結(jié)果,其次再差異提取兩個輸出文件并驗證它們是否符合蛻變關系,最后再將產(chǎn)生的結(jié)果生成報告單。
3算法思想
根據(jù)以上設計目標和設計思路,結(jié)合文獻【3,4】,現(xiàn)給出本工具的算法思路如下:
4功能設計
根據(jù)以上設計思路,本工具的設計種包括五大功能模塊,分別為選擇原始基準題、選擇蛻變關系、生成衍生基準題、執(zhí)行測試用例、測試結(jié)果分析。其中,衍生基準題、選擇蛻變關系和原始基準題之間的聯(lián)系是衍生基準題是由原始基準題調(diào)用蛻變關系計算得到的,執(zhí)行測試用例的執(zhí)行對象是衍生基準題和原始基準題,運算對象是待測程序,測試結(jié)果分析的對象是執(zhí)行測試用例之后輸出的結(jié)果。
根據(jù)以上所述,現(xiàn)提出本工具的功能設計如下圖所示:
其中,在選擇原始基準題、選擇蛻變關系、生成衍生基準題三個功能中包括備份數(shù)據(jù)、修改數(shù)據(jù)、刪除數(shù)據(jù)和保存數(shù)據(jù);生成衍生基準題功能不但包括備份數(shù)據(jù)、修改數(shù)據(jù)、刪除數(shù)據(jù)和保存數(shù)據(jù),還包括選中原始基準題和選中蛻變關系兩個功能;執(zhí)行測試用例功能中包括選中衍生測試用例、原始測試用例和調(diào)用待測程序三個功能;由于運行結(jié)果需要被分析,所以測試結(jié)果分析功能中應該包括選擇輸出文件和差異提取兩功能,除此之外,還需要將分析后的結(jié)果生成測試報告。
5總結(jié)
本文針對核電計算程序測試中遇到的效率低下、精確度不高的問題,設計了一種半自動化核電蛻變測試工具,相對于傳統(tǒng)的核電測試工具而言,其效率和精確度更高,增加了蛻變測試自動化的可能。