張 侹,廖 斌,李 奎,吳 娟,王德龍
(1.地理信息工程國家重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710054;2.西安測繪研究所,陜西 西安 710054)
全球衛(wèi)星導(dǎo)航定位系統(tǒng),通常由導(dǎo)航衛(wèi)星(星座)、地面運(yùn)控系統(tǒng)、用戶終端設(shè)備(也稱接收機(jī))組成,可為全球用戶提供性能優(yōu)異的導(dǎo)航、測速、授時(shí)服務(wù)[1]。接收機(jī)進(jìn)行定位過程的基本工作原理是:當(dāng)同時(shí)接收到至少4顆導(dǎo)航衛(wèi)星信號時(shí),就可以計(jì)算偽距,并通過衛(wèi)星坐標(biāo)、鐘差和不同頻點(diǎn)間相對于接收機(jī)的時(shí)延偏差即可最終計(jì)算用戶的三位位置信息。因此,偽距作為衛(wèi)星導(dǎo)航系統(tǒng)的基本觀測值,直接決定了接收機(jī)的定位精度[2]。
由于偽距定位程序是典型的數(shù)值計(jì)算程序,且涉及衛(wèi)星鐘差、用戶終端設(shè)備的鐘差以及無線電信號經(jīng)過電離層和對流層中的延遲等大量復(fù)雜因素,傳統(tǒng)情況下只能通過選用標(biāo)準(zhǔn)樣例進(jìn)行比對的方式開展測試,然而由于測試樣本數(shù)據(jù)通常不夠充分,所以很難甚至無法通過輸入給出預(yù)期的輸出結(jié)果,從而為軟件測試人員在測試過程中造成了極大的困難。
由此可見,偽距定位程序的測試屬于軟件測試中典型的測試判定問題(testing oracle)[3]。因此,如果繼續(xù)使用傳統(tǒng)的軟件測試方法對此類難以測試的程序進(jìn)行測試,其測試效果就難以保證,從而也無法確保此類軟件的質(zhì)量。
Chen等在文獻(xiàn)[3]中提出了蛻變測試(metamorphic testing,MT)技術(shù),該技術(shù)能夠有效解決軟件測試過程中遇到的測試判定問題,并進(jìn)一步驗(yàn)證了其有效性與可行性。
通常情況下,由于測試人員本身的原因,會導(dǎo)致測試用例的設(shè)計(jì)質(zhì)量產(chǎn)生不同的偏差,從而出現(xiàn)在測試用例執(zhí)行后未發(fā)現(xiàn)軟件問題的情況,對于此類測試用例而言,其本身也包含了大量被測試人員所忽視的信息,而這些信息同樣可用于對被測試軟件的進(jìn)一步測試工作。
然而,蛻變測試技術(shù)主要依據(jù)被測試軟件特點(diǎn)構(gòu)造蛻變關(guān)系(relation of metamorphic,具體定義見文獻(xiàn)[3]),通過最初設(shè)計(jì)的測試用例(即:原始測試用例,original test case),結(jié)合所構(gòu)造的蛻變關(guān)系生成衍生測試用例(derivatives test case,具體定義見文獻(xiàn)[3]),采用對比不同測試用例之間測試執(zhí)行結(jié)果關(guān)系的方式對被測試軟件開展測試工作。
因此,該技術(shù)在應(yīng)用過程中無需按照傳統(tǒng)的軟件測試方法,僅通過構(gòu)造被測試軟件輸入及其期望輸出的方法,即可對被測試程序的執(zhí)行結(jié)果進(jìn)行正確性判定,從而達(dá)到軟件測試的目的,同時(shí),該技術(shù)也是一種測試用例的生成方法。
通常情況下,蛻變測試的主要過程可以分為如下4個(gè)步驟[3]:①結(jié)合其它測試用例生成方法為被測程序生成原始測試用例;②如果這些原始測試用例沒有發(fā)現(xiàn)被測軟件的問題,則可基于被測程序自身特性構(gòu)造對應(yīng)的蛻變關(guān)系;③依據(jù)構(gòu)造的蛻變關(guān)系計(jì)算并生成衍生測試用例;④針對執(zhí)行原始測試用例和衍生測試用例后的被測試軟件結(jié)果進(jìn)行對比,通過檢查是否滿足所構(gòu)建的蛻變關(guān)系得到最終的測試結(jié)果。
蛻變測試方法的流程如圖1所示。
圖1 蛻變測試方法的流程
下面以余弦函數(shù)cos(α)為例,概要介紹蛻變測試方法的基本過程。假設(shè)被測試程序P為余弦函數(shù)的實(shí)現(xiàn),那么,當(dāng)α=36.7°時(shí),則P(α)=0.8018。 根據(jù)余弦定理cos(α)=-cos(180°-α), 可以構(gòu)造蛻變關(guān)系MR,則可得到原始測試用例α基于MR的衍生用例為α′=36.7°-180°=143.3°, 以α′為輸入,執(zhí)行被測試程序P,若所得結(jié)果P(α′)=0.8098, 則通過對比P(α)與P(α′)后發(fā)現(xiàn)P(α)≠P(α′), 即兩者不滿足蛻變關(guān)系MR,進(jìn)而可以進(jìn)一步證明被測試程序P中存在缺陷。
目前,蛻變測試技術(shù)已廣泛應(yīng)用于數(shù)值計(jì)算程序、地理信息系統(tǒng)、機(jī)器學(xué)習(xí)、圖形圖像處理、數(shù)據(jù)挖掘、網(wǎng)絡(luò)仿真、生物信息學(xué)等各個(gè)專業(yè)領(lǐng)域的軟件測試工作。Kari-shma和Srinvasan分別在文獻(xiàn)[5]和文獻(xiàn)[6]中采用蛻變測試技術(shù)就矩陣計(jì)算的測試判定問題進(jìn)行了研究;陽小華等采用蛻變測試技術(shù)針對科學(xué)計(jì)算程序的層次分類模型進(jìn)行了研究[7];黃松等針對地理信息系統(tǒng)中坡度、坡向量算程序中的測試判定問題研究了蛻變測試技術(shù)的有效性[8];張芷祎在其博士論文中采用蛻變測試技術(shù)就機(jī)器學(xué)習(xí)軟件的測試技術(shù)展開了研究[9];蔣超等提出了用蛻變測試框架來解決圖像區(qū)域增長程序中的測試判定問題[10];吳金波等利用蛻變測試方法針對數(shù)據(jù)分類應(yīng)用程序在正確性測試方面的問題開展了研究,緩解數(shù)據(jù)挖掘算法程序測試上的“Oracle”問題[11];韓育珍等利用蛻變測試方法驗(yàn)證了擁有龐大數(shù)據(jù)信息條件下篩選搜索時(shí)帶來的測試判定問題[12]。
通過蛻變測試的基本原理與概念可知,構(gòu)建蛻變關(guān)系是蛻變測試能否有效實(shí)施并取得良好應(yīng)用效果的關(guān)鍵和前提;此外,蛻變測試技術(shù)在不同專業(yè)領(lǐng)域,特別是數(shù)值計(jì)算程序領(lǐng)域中的成功應(yīng)用,也說明該技術(shù)是一種測試程序計(jì)算是否正確的有效方法,同時(shí)也是一種有效的測試用例生成技術(shù)。因此,偽距定位程序作為一種典型的數(shù)值計(jì)算程序,也可嘗試性地將蛻變測試技術(shù)應(yīng)用在此類軟件的測試過程中。
由于衛(wèi)星鐘差、用戶終端設(shè)備的鐘差以及無線電信號經(jīng)過電離層和對流層中的延遲,實(shí)際測出的距離與衛(wèi)星到用戶終端設(shè)備的幾何距離有一定的差值,因此,將這一量測值稱之為偽距[13]。
偽距定位程序是位置解算中的核心程序之一,也是衛(wèi)星導(dǎo)航接收機(jī)軟件系統(tǒng)的重要組成部分,該程序?qū)崿F(xiàn)的正確性對接收機(jī)充發(fā)揮其使用效能至關(guān)重要。衛(wèi)星導(dǎo)航系統(tǒng)中偽距定位程序的工作原理如圖2所示。
圖2 偽距定位程序基本工作原理
偽距作為衛(wèi)星導(dǎo)航系統(tǒng)中的重要概念之一,是接收機(jī)對衛(wèi)星導(dǎo)航信號的一個(gè)核心的觀測值,也是接收機(jī)定位的集成量值,其計(jì)算公式如式(1)所示
(1)
利用偽距進(jìn)行定位是衛(wèi)星導(dǎo)航系統(tǒng)中常用的定位方式之一,結(jié)合式(1)即可解算出接收機(jī)的具體位置。
(2)
由式(2)可知,求解偽距定位過程本質(zhì)上是一個(gè)求解四元非線性方程組的過程,而“牛頓迭代-最小二乘法”是>一種傳統(tǒng)偽距定位的解算方法。采用該方法可得到式(2)在 [xk-1,δtu,k-1]T處線性化處理后的求解矩陣,如式(3)所示
(3)
其中
(4)
(5)
(6)
偽距定位程序的蛻變測試基本流程主要包括測試準(zhǔn)備、蛻變關(guān)系正確性判斷和有效性判斷3個(gè)階段。偽距定位程序的蛻變測試流程基本框架如圖3所示。
圖3 偽距定位程序的蛻變測試流程框架
第一階段為測試準(zhǔn)備階段,主要包括測試用例生成、蛻變關(guān)系構(gòu)造和衍生測試用例生成3個(gè)內(nèi)容。首先,測試人員采用傳統(tǒng)的測試用例生成方法針對被測試程序P及軟件需求規(guī)格說明生成原始測試用例集T;其次,進(jìn)一步結(jié)合被測試程序P的特點(diǎn)等構(gòu)造蛻變關(guān)系MRi;最后,針對所構(gòu)造的蛻變關(guān)系MRi生成原始測試用例集T的衍生測試用例集T′。
第二階段為蛻變關(guān)系正確性判斷階段,主要包括測試執(zhí)行和正確性判斷兩個(gè)內(nèi)容。首先,針對被測試程序P分別執(zhí)行原始測試集T和衍生測試集T′,并記錄相應(yīng)的測試執(zhí)行結(jié)果;其次,依據(jù)構(gòu)造的蛻變關(guān)系MRi,比較原始測試集T和衍生測試集T′的測試執(zhí)行結(jié)果RP和R′P,并進(jìn)行正確性判斷,即判定其是否滿足蛻變關(guān)系,如果滿足蛻變關(guān)系,則轉(zhuǎn)入第三階段,開展蛻變關(guān)系有效性判斷工作;反之,則重新進(jìn)入第一階段,并結(jié)合偽距定位程序特點(diǎn)重新構(gòu)建蛻變關(guān)系MRi。
第三階段為蛻變關(guān)系有效性判斷階段。由于,變異分析技術(shù)是一種對測試用例質(zhì)量及其充分性進(jìn)行判斷的有效方法,同時(shí)也可對蛻變測試的有效性進(jìn)行評價(jià)[14]。因此,在這一階段中,本文采用變異分析技術(shù)對構(gòu)造的蛻變關(guān)系進(jìn)行有效性判斷。該階段主要包括程序變異、測試執(zhí)行和蛻變關(guān)系判定(即判斷測試用例是否殺死變異體)3個(gè)內(nèi)容。首先,結(jié)合程序P的特點(diǎn)選擇不同變異算子對被測試程序P進(jìn)行變異得到P′;其次,針對變異后的程序P′,分別執(zhí)行原始測試集T和衍生測試集T′,得到的測試執(zhí)行結(jié)果RP′和R′P′;最后,通過比對測試執(zhí)行結(jié)果RP′和R′P′一致性對變異體的有效性進(jìn)行判斷,若執(zhí)行結(jié)果一致,則說明構(gòu)造的蛻變關(guān)系MRi有效,反之,則說明所構(gòu)造的蛻變關(guān)系無效,需返回第一階段選擇下一個(gè)構(gòu)造關(guān)系MRi進(jìn)行判斷。
本文重點(diǎn)就第一階段中蛻變構(gòu)造進(jìn)行重點(diǎn)論述,并就第三階段中變異算子的選擇進(jìn)行說明。
蛻變關(guān)系構(gòu)造的有效性是決定蛻變測試方法是否成功的關(guān)鍵,同時(shí)也是該方法與傳統(tǒng)軟件測試方法的區(qū)別所在[14]。但是,由于蛻變測試技術(shù)和蛻變關(guān)系的構(gòu)造并不具備普適性,且沒有統(tǒng)一的標(biāo)準(zhǔn)與方法,因此,在構(gòu)造蛻變關(guān)系時(shí)就必須結(jié)合被測試程序的具體特點(diǎn)(如算法特點(diǎn)、程序求解過程等)及其需求規(guī)格說明等文件,有針對性的構(gòu)造被測試程序的蛻變關(guān)系[15]。
依據(jù)偽距定位程序的基本工作原理及自身算法和求解過程的特性,本文從空間立體幾何變換屬性以及算法的數(shù)值計(jì)算特性等方面構(gòu)造偽距定位程序相應(yīng)的蛻變關(guān)系。
3.2.1 構(gòu)造蛻變關(guān)系MR1
由圖2可知,衛(wèi)星導(dǎo)航系統(tǒng)中偽距定位程序及其計(jì)算方式的空間立體幾何變換屬性可以看作是由地心、接收機(jī)以及導(dǎo)航衛(wèi)星所構(gòu)建的空間距離關(guān)系決定的,其中地心可視為該空間距離關(guān)系的坐標(biāo)原點(diǎn)(即圓心),因此,可以基于空間關(guān)系特性中的對稱關(guān)系構(gòu)建偽距定位程序的蛻變關(guān)系MR1,具體構(gòu)造情況見表1。
表1 蛻變關(guān)系MR1的構(gòu)造
從表1中可以看出蛻變關(guān)系MR1總計(jì)包含三大類7個(gè)空間對稱關(guān)系。具體可以分為三大類空間對稱關(guān)系:蛻變關(guān)系MR1_1是滿足以地心o為中心對稱原點(diǎn)的中心對稱關(guān)系;MR1_2、MR1_3、MR1_4等3個(gè)蛻變關(guān)系是分別滿足以xoy、xoz和yoz這3個(gè)平面為對稱面的平面對稱關(guān)系;MR1_5、MR1_6、MR1_7等3個(gè)蛻變關(guān)系是分別滿足以x軸、y軸和z軸3個(gè)坐標(biāo)軸為對稱軸的軸對稱關(guān)系。
3.2.2 構(gòu)造蛻變關(guān)系MR2
在空間立體幾何變換屬性中,除了對稱關(guān)系外,縮放比例關(guān)系也是其中重要的特性之一。當(dāng)接收機(jī)和衛(wèi)星的空間坐標(biāo)位置同時(shí)延x、y和z這3個(gè)坐標(biāo)軸正向按照比例縮放k(k>0)時(shí),從而接收機(jī)的定位結(jié)果與衛(wèi)星在空間坐標(biāo)位置成對應(yīng)的縮放比例關(guān)系。
此外,在通過空間幾何縮放比例構(gòu)建蛻變關(guān)系時(shí),在不考慮衛(wèi)星鐘差、用戶終端設(shè)備的鐘差以及無線電信號經(jīng)過電離層和對流層中的延遲等因素影響的情況下,導(dǎo)航信號在空間傳播距離與傳輸時(shí)間之間的比例關(guān)系,滿足空間等比例縮放關(guān)系。從而,可以針對式(2)按照空間幾何縮放比例關(guān)系得到如式(7)所示的偽距定位程序。
得到如式(7)所示的基于空間幾何縮放比例變換后的偽距定位程序
(7)
其中,k>0。
綜上,可以基于空間距離關(guān)系特性中的空間幾何縮放比例關(guān)系構(gòu)造蛻變關(guān)系MR2,具體見表2。
通常而言,為確保空間縮放關(guān)系構(gòu)造的有效性,蛻變關(guān)系MR2_1中的縮放比例系數(shù)k一般為k>0。
3.2.3 構(gòu)造蛻變關(guān)系MR3
由于在接收機(jī)接收軟件中的偽距定位程序中涉及到電離層時(shí)延、對流層時(shí)延等諸多復(fù)雜因素,因此,為了明確蛻變測試技術(shù)在偽距定位程序中的典型應(yīng)用,本文僅對與空間位置計(jì)算相關(guān)程序的部分進(jìn)行分析。
在偽距定位的基本算法中,求解方程常用的關(guān)鍵方法是采用最小二乘法。結(jié)合最小二乘法的基本公式,可以得到式(5)的最小二乘法解為
(8)
由式(8)可以發(fā)現(xiàn),偽距定位程序中所用算法的核心思想是進(jìn)行矩陣變換工作并開展矩陣乘法計(jì)算,且該矩陣通常具備稀疏矩陣的特性。因此,在求解接收位置信息的過程中,可以構(gòu)造基于矩陣變換原理的蛻變關(guān)系MR3,具體見表3。
表3 蛻變關(guān)系MR3的構(gòu)造
從表3中可以看出蛻變關(guān)系MR3總計(jì)包含了3個(gè)不同的矩陣計(jì)算等價(jià)關(guān)系。蛻變關(guān)系MR3_1滿足矩陣相乘的轉(zhuǎn)置計(jì)算等價(jià)關(guān)系;蛻變關(guān)系MR3_2滿足逆矩陣相乘的轉(zhuǎn)置計(jì)算等價(jià)關(guān)系;蛻變關(guān)系MR3_3滿足稀疏矩陣逆矩陣的轉(zhuǎn)置等價(jià)關(guān)系。
采用變異分析技術(shù)進(jìn)行蛻變關(guān)系有效性判斷,通常是通過選取不同變異算子的方式開展的。通常而言,常系數(shù)替換、比較關(guān)系替換、邏輯比較替換、數(shù)值運(yùn)算符替換以及插入絕對值等5種算子是較為常見的變異算子,且其幾乎可以覆蓋所有計(jì)算機(jī)程序的語法類型:語句、謂詞表達(dá)、算數(shù)表達(dá)和關(guān)系運(yùn)算等。
變異算子的選擇是應(yīng)用變異分析技術(shù)開展蛻變關(guān)系有效性判斷的核心。通常而言,常數(shù)替換、比較關(guān)系替換、邏輯運(yùn)算符替換、數(shù)學(xué)運(yùn)算符替換和絕對值插入等5種變異算子,幾乎可覆蓋所有的編程語法類型,即:語句、謂詞、算術(shù)表達(dá)式、關(guān)系運(yùn)算符等。
因此,結(jié)合偽距定位程序的程序及算法特性,選擇常系數(shù)替換(變異算子1)和數(shù)值運(yùn)算符(變異算子2)兩種變異算子,并植入被測試程序中。
針對偽距定位程序中的式(2)植入上述兩種變異算子,即可得到變異后的偽距定位程序計(jì)算公式,具體如式(9)和式(10)所示,并為后續(xù)變異分析提供變異后的程序P′。
變異算子1
(9)
變異算子2
(10)
在各類數(shù)值計(jì)算算法實(shí)際實(shí)現(xiàn)過程中,上述兩種變異算子所體現(xiàn)在編程中的錯(cuò)誤是較為常見且會使得程序輸出結(jié)果難以判斷正確與否,因此,很難通過傳統(tǒng)測試方法和內(nèi)部測試進(jìn)行檢驗(yàn)。
為驗(yàn)證蛻變測試技術(shù)在偽距定位程序軟件測試中的可行性,本文以相關(guān)北斗衛(wèi)星導(dǎo)航系統(tǒng)接收機(jī)設(shè)備中的偽距定位算法程序P為被測試程序開展實(shí)驗(yàn),實(shí)驗(yàn)環(huán)境為被測試程序運(yùn)行所依賴的嵌入式操作系統(tǒng)環(huán)境。同時(shí),在實(shí)驗(yàn)過程中不考慮衛(wèi)星鐘差、用戶終端設(shè)備的鐘差以及無線電信號經(jīng)過電離層和對流層中的延遲等復(fù)雜因素。
實(shí)驗(yàn)步驟依據(jù)偽距定位程序的蛻變測試流程實(shí)施:
在測試準(zhǔn)備階段,首先,通過傳統(tǒng)方法從測試樣例庫中選取標(biāo)準(zhǔn)定位結(jié)果作為本次實(shí)驗(yàn)被測試程序P的原始測試用例集T0;其次,基于原始測試用例集T并結(jié)合3.1節(jié)中的3類11個(gè)蛻變關(guān)系,生成對應(yīng)衍生測試用例集T′={T′MR1_1,T′MR1_2,T′MR1_3,T′MR1_4,T′MR1_5,T′MR1_6,T′MR1_7,T′MR2_1,T′MR3_1,T′MR3_2,T′MR3_3}。
在蛻變關(guān)系正確性判斷階段,首先針對被測試程序P分別執(zhí)行原始測試用例集T和衍生測試用例集T′,分別得到測試執(zhí)行結(jié)果RP和R′P,通過判斷測試結(jié)果是否一致進(jìn)行蛻變關(guān)系正確性判斷。
在蛻變關(guān)系有效性判斷階段,針對被測試程序P依據(jù)變異算子得到的式(9)和式(10)生成變異程序P′1和P′2,并分別執(zhí)行原始測試集T和衍生測試集T′,得到的測試執(zhí)行結(jié)果RP′1、R′P′1和RP′2、R′P′2,通過判斷測試結(jié)果是否相同來確定是否殺死變異體,從而對構(gòu)造的蛻變關(guān)系有效性進(jìn)行判斷,最終完成本次實(shí)驗(yàn)。
本次實(shí)驗(yàn)執(zhí)行的具體測試執(zhí)行情況見表4。表格中(a,b)表示一組執(zhí)行結(jié)果,其中第一個(gè)數(shù)值a表示執(zhí)行測試用例的個(gè)數(shù),第二個(gè)數(shù)值b表示未通過的測試用例數(shù)的個(gè)數(shù)。
表4 偽距定位程序的測試執(zhí)行情況
從表4所給出的不同蛻變關(guān)系的測試執(zhí)行情況來看,基于空間立體幾何變換屬性中的對稱關(guān)系所構(gòu)建的蛻變關(guān)系MR1,對于變異體1和變異體2而言,其平均檢錯(cuò)率分別約為70.78%和77.39%,蛻變關(guān)系MR1整體檢測率約為74.09%;而基于空間立體幾何變換屬性中的空間幾何縮放比例關(guān)系所構(gòu)建的蛻變關(guān)系MR2,則無法檢測出兩個(gè)變異體中的缺陷與不足;基于矩陣變換原理所構(gòu)建的蛻變關(guān)系MR3,對于變異體1和變異體2而言,其平均檢錯(cuò)率分別約為96.01%和95.02%,蛻變關(guān)系MR3整體檢測率約為95.52%。
圖4給出了本文中構(gòu)造的3類11個(gè)蛻變關(guān)系對被測試程序P的檢錯(cuò)率統(tǒng)計(jì)示意圖。
圖4 蛻變關(guān)系的檢錯(cuò)率統(tǒng)計(jì)
第一,在程序檢錯(cuò)能力方面。由于該方法檢驗(yàn)出了無法滿足蛻變關(guān)系的原始測試用例和衍生測試用例,因此,實(shí)驗(yàn)結(jié)果表明:只要有針對性的構(gòu)建并選擇合理的蛻變關(guān)系,采用蛻變測試的方法,就可以發(fā)現(xiàn)偽距定位程序中所隱含的缺陷和問題。就本次具體實(shí)驗(yàn)對象而言,程序中偽距定位相關(guān)算法存在的主要缺陷體現(xiàn)在空間關(guān)系轉(zhuǎn)換及矩陣計(jì)算過程中算術(shù)表達(dá)式及關(guān)系運(yùn)算符的錯(cuò)誤等。
第二,在蛻變關(guān)系檢測能力方面。首先,蛻變關(guān)系MR3的檢測能力明顯強(qiáng)于蛻變關(guān)系MR1和MR2的檢測能力,這是因?yàn)橥懽冴P(guān)系MR1和MR2是基于空間立體幾何變換屬性(空間對稱關(guān)系和空間縮放比例關(guān)系)而構(gòu)造的,其蛻變關(guān)系強(qiáng)度相對簡單,因此檢錯(cuò)能力較弱;而蛻變關(guān)系MR3則是基于矩陣運(yùn)算關(guān)系進(jìn)行構(gòu)造的,這一類蛻變關(guān)系的構(gòu)造更接近于程序算法本身,且運(yùn)用了較為復(fù)雜的矩陣計(jì)算數(shù)學(xué)關(guān)系式,因此,也就滿足了在構(gòu)造蛻變關(guān)系時(shí)應(yīng)“優(yōu)先選擇較為復(fù)雜的表達(dá)式”這一首要原則。綜上,蛻變關(guān)系MR1和MR2較之蛻變關(guān)系MR3更弱。其次,對于同屬于空間立體幾何變換屬性構(gòu)造的蛻變關(guān)系MR1和MR2而言,MR1的檢錯(cuò)能力較MR2而言相對較強(qiáng)。這是因?yàn)镸R2作為比例關(guān)系而言,其在計(jì)算過程中僅進(jìn)行了等比縮放,其運(yùn)算復(fù)雜程度較蛻變關(guān)系MR1明顯更為簡單,因此,蛻變關(guān)系MR2的檢錯(cuò)能力較之蛻變關(guān)系MR1而言,也相對較弱。
本文提出將蛻變測試方法應(yīng)用于衛(wèi)星導(dǎo)航接收機(jī)軟件中偽距定位程序的測試中,通過分析被測試程序中幾何變換屬性、算法實(shí)現(xiàn)和數(shù)值計(jì)算等具體特點(diǎn),構(gòu)建了3類11個(gè)蛻變關(guān)系,并通過實(shí)驗(yàn)驗(yàn)證了該方法對解決此類程序中“測試判定”問題的有效性。該方法在擴(kuò)大蛻變測試應(yīng)用范圍的同時(shí),也有效解決了傳統(tǒng)測試方法在開展此類程序測試過程中所面臨的不足與缺陷。