裝備測試性設(shè)計(jì)階段軟件故障注入技術(shù)研究_第1頁
裝備測試性設(shè)計(jì)階段軟件故障注入技術(shù)研究_第2頁
裝備測試性設(shè)計(jì)階段軟件故障注入技術(shù)研究_第3頁
裝備測試性設(shè)計(jì)階段軟件故障注入技術(shù)研究_第4頁
裝備測試性設(shè)計(jì)階段軟件故障注入技術(shù)研究_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

裝備測試性設(shè)計(jì)階段軟件故障注入技術(shù)研究

0自動(dòng)測試生成算法由于軟件缺陷注釋是一種驗(yàn)證系統(tǒng)容錯(cuò)能力的測試方法。它在惡意軟件領(lǐng)域得到了廣泛應(yīng)用,其應(yīng)用范圍擴(kuò)展到網(wǎng)絡(luò)和分布系統(tǒng)領(lǐng)域。該方法通過人為產(chǎn)生故障并引入系統(tǒng)中,故障注入加速了系統(tǒng)發(fā)生故障和失效的過程。利用對系統(tǒng)在注入故障后反應(yīng)信息的監(jiān)測和分析,可實(shí)現(xiàn)測試和評估容錯(cuò)機(jī)制的目標(biāo),獲得期望結(jié)果。然而自動(dòng)化的故障注入發(fā)展仍然不夠理想,因此快速自動(dòng)化的故障注入正在逐漸成為研究的熱點(diǎn)。在這個(gè)領(lǐng)域內(nèi),自動(dòng)測試生成算法逐漸成為重要的手段?;谟?jì)算機(jī)自動(dòng)測試生成方法是從Eldred于1959年提議采用推導(dǎo)測試的技術(shù)開始,目前國際上已經(jīng)在數(shù)字電路測試生成方面提出了許多算法。其中,有代表的主要有:一維敏化法、布爾差分法、D算法等,以上算法測試生成遠(yuǎn)比組合電路的測試生成復(fù)雜。目前對時(shí)序電路而言,比較有效的測試生成方法主要有擴(kuò)展的向后驅(qū)趕(ExtendedBack-Trace,EBT)算法、FASTEST算法、CONTEST算法等。本文通過對D算法的改進(jìn),研究了測試生成方法,該方法實(shí)現(xiàn)流程如圖1所示。1dd的敏化到輸出Roth提出了第一個(gè)健壯性的算法——D算法,這是基于多敏化通路的測試生成算法。在該算法中,引進(jìn)了D和DˉˉˉDˉ符號(hào),其中D表示正常值為1,故障值為0;DˉˉˉDˉ則表示正常值為0,故障值為1,算法的主要思想就是把引進(jìn)的D(DˉˉˉD(Dˉ)敏化到輸出,實(shí)現(xiàn)這個(gè)過程需要以下幾個(gè)步驟:(1)注入故障。對于需要檢測s-a-0和s-a-1故障的引入D。(2)進(jìn)行D驅(qū)趕。逐級將D敏化至原始輸出端的過程叫做D驅(qū)趕。在此過程中可以進(jìn)行向前和向后的蘊(yùn)涵操作,使不一致性提前暴露,使D算法的速度大大加快。(3)執(zhí)行一致性操作。向前的D驅(qū)趕結(jié)束之后,就要進(jìn)行向后的一致性檢查,看看所獲得的測試能否與其他各功能塊取得一致。如果一致,則最后確定的值即為所求的測試;如果一致性操作失敗,應(yīng)該退回到上一個(gè)選擇點(diǎn),改變方向重作。(4)在選擇傳播路徑、一致性操作都存在選擇的隨意性,而且它把每一個(gè)分支都進(jìn)行記錄,作為退回的依據(jù),這樣常常會(huì)出現(xiàn)比較多的矛盾從而引起回退,并且判定樹比較大,增加了算法的運(yùn)行時(shí)間和復(fù)雜度,因此D算法的效率是比較低的。2組合電路d算法思想本系統(tǒng)的測試對象是多時(shí)鐘、含有復(fù)雜功能的數(shù)字芯片的時(shí)序電路。傳統(tǒng)D算法是組合電路的測試向量生成算法,因此,使用傳統(tǒng)的D算法思想已不適用于該系統(tǒng)。該系統(tǒng)算法思想在傳統(tǒng)D算法的基礎(chǔ)上進(jìn)行很大的改進(jìn)。主要表現(xiàn)在以下幾個(gè)方面:(1)測試向量的錯(cuò)誤采用該策略的原因是本系統(tǒng)測試對象屬于當(dāng)今各種測試?yán)碚摵头椒ǘ己茈y測試的多時(shí)鐘時(shí)序電路,通過輸出端得到的測試向量的故障覆蓋率較低,生成的測試向量往往達(dá)不到測試的要求。但是本系統(tǒng)的測試對象是非封裝的數(shù)字電路,可以通過探針定點(diǎn)測試中間結(jié)點(diǎn)。采用回溯策略,中間測試點(diǎn)的選擇是從輸出點(diǎn)的前一級開始的,因此,生成的敏化通路較長,測試向量覆蓋的測試路徑多,可以在滿足同樣故障覆蓋率的要求下,盡量減少測試中間節(jié)點(diǎn)的個(gè)數(shù)。(2)測試向量生成由于該系統(tǒng)數(shù)字芯片功能復(fù)雜,所以原始D立方個(gè)數(shù)遠(yuǎn)遠(yuǎn)大于傳統(tǒng)的D算法基于與門、或門、非門和異或門的原始D立方的個(gè)數(shù)。如果按照傳統(tǒng)D算法思想,先敏化路徑然后再統(tǒng)一進(jìn)行一致性檢查的話,敏化路徑的計(jì)算量將達(dá)到天文數(shù)字,測試向量生成將變成一個(gè)“不可能完成”的任務(wù)。必須在每一步回溯時(shí),進(jìn)行一致性檢查,及時(shí)刪除不符合要求的D立方,減少計(jì)算機(jī)的計(jì)算量加快測試向量生成的速度。即使采用這種策略,在某些情況下,敏化路徑的計(jì)算量還是大得驚人,測試向量生成速度慢的仍然慢得使人無法忍受。只要在每一步敏化后,進(jìn)行一致性檢查過程中添加選擇策略,控制每次生成的D立方的個(gè)數(shù),降低敏化路徑的計(jì)算量,就可以達(dá)到令人滿意的測試向量生成速度。(3)致性檢查策略D算法是組合電路的自動(dòng)測試向量生成方法,而該系統(tǒng)的測試對象為時(shí)序電路,必須將傳統(tǒng)的D算法進(jìn)行改造。對于時(shí)序電路,輸出信號(hào)不但有輸出值的變化,還有輸出延時(shí)的變化。采用讓D立方攜帶延時(shí)信息的方法,在每次路徑敏化時(shí),只要將D方程中的延時(shí)信息與本次敏化所需的D立方中的延時(shí)信息疊加即可。但是,一致性檢查策略也要進(jìn)行相應(yīng)的修改。組合電路中一路徑上的取值在敏化過程中,D方程和D立方中的取值要必須相容,例如:路徑i在D方程中取值為1,這對應(yīng)的在D立方中取值可以為1和D,不可以為0和X。但是在時(shí)序電路中,如果路徑i在D立方中沒有延時(shí)的話,一致性檢查策略與組合電路的完全一致。如果路徑i在D立方中有延時(shí)的話,理論上路徑i在D立方可以取任何值,可以綜合其他因素設(shè)置一致性檢查策略。(4)統(tǒng)一計(jì)算機(jī)與d方程中時(shí)鐘棧的疊加當(dāng)電路中出現(xiàn)多個(gè)同步時(shí)鐘時(shí),為每一個(gè)時(shí)鐘建立一個(gè)時(shí)鐘棧。D通路敏化過程中,首先分析D立方攜帶的延時(shí)信息對應(yīng)D方程中的哪一個(gè)時(shí)鐘棧,然后將D方程中的相應(yīng)延時(shí)棧中的信息與本次敏化所需的D立方中的延時(shí)信息疊加即可。同樣的,相應(yīng)的一致性檢查策略也要進(jìn)行相應(yīng)的改變。某型號(hào)裝備戰(zhàn)車數(shù)字電路板快速故障診斷系統(tǒng)硬件部分設(shè)計(jì)分為:系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、網(wǎng)表數(shù)據(jù)處理、芯片結(jié)點(diǎn)D立方生成、網(wǎng)絡(luò)結(jié)點(diǎn)D路徑初始敏化、測試向量生成五個(gè)部分。3門的連接線型要對設(shè)計(jì)的電路進(jìn)行測試,首先必須考慮故障模型。一般的測試都不是直接針對物理缺陷,而是把物理缺陷等效于邏輯故障,這是因?yàn)槲锢砣毕蓦S工藝而改變,而邏輯故障具有相對的穩(wěn)定性。因?yàn)樵撓到y(tǒng)電路是基于布爾門的互連(稱為網(wǎng)表)模型進(jìn)行測試向量生成,對于邏輯故障模型在此只討論門級故障模型。假設(shè)一個(gè)固定故障僅僅影響了門的互連,門級故障模型故障出現(xiàn)在邏輯門的輸入或者輸出引線上,每一個(gè)連線可以有兩種類型的故障模型。一是固定型故障模型。固定型模型假設(shè)邏輯門的輸入或者輸出值永遠(yuǎn)固定不變,即與電路的原始輸入無關(guān),當(dāng)固定為0時(shí)記為s-a-0,當(dāng)固定為1時(shí)記為s-a-1。如果假設(shè)電路中最多只有一條線存在固定型故障,則稱之為單故障模型,反之則成為多故障模型。單故障模型便于處理,能反映絕大部分物理缺陷的影響,對于其它的故障也能起到很好的檢測,因此該模型是合理的,并且得到了普遍的應(yīng)用。在ATPG算法中,只考慮單固定型故障模型,分別針對每一個(gè)信號(hào)的單故障型模型產(chǎn)生測試向量。二是橋接型故障模型。該模型允許邏輯電路中任何連線之間的短接,并假設(shè)短接處的故障值取其“線與”值或者“線或”值。如果考慮所有橋接的可能組合,則橋接故障數(shù)將會(huì)是一個(gè)大的驚人的數(shù),所以在實(shí)際中往往加以若干限制,例如只考慮任何兩條連線之間的短接,或只考慮兩條鄰近線之間的短接等。如果采用了單固定型故障模型,需要按橋接故障處理的故障數(shù)大大減少,可以簡化橋接故障模型。4自動(dòng)測試向量的生成下面就結(jié)合圖2說明這種數(shù)字電路板生成向量的具體實(shí)施方式:本方法是在安裝有配套測試程序和自動(dòng)測試生成系統(tǒng)的上位機(jī)中實(shí)現(xiàn)的,這種測試方法首先對被測電路進(jìn)行自動(dòng)測試生成并得到相應(yīng)測試向量表,其次根據(jù)所生成的向量表編寫測試程序、并按此程序的時(shí)序關(guān)系執(zhí)行測試過程,最后讀取被測電路的響應(yīng)信息并與標(biāo)準(zhǔn)向量信息比較,判斷被測電路的故障,其中所說的對被測電路進(jìn)行自動(dòng)測試生成并得到相應(yīng)測試向量表的具體過程是:(1)將被測電路的數(shù)據(jù)信息文件以編碼形式存入指定的系統(tǒng)數(shù)據(jù)庫中;(2)根據(jù)編碼文件進(jìn)行D通路敏化處理,找到一個(gè)D故障傳播路徑,并將故障響應(yīng)信息以測試向量表的形式通過D故障傳播路徑存儲(chǔ)到電路端口地址;(3)對找出的D通路進(jìn)行一致性檢查,刪除錯(cuò)誤向量和冗余向量的真值表,將符合要求的測試向量真值表存入系統(tǒng)數(shù)據(jù)庫中;(4)重復(fù)步驟(2)和步驟(3),控制每次生成的符合要求的測試向量真值表的個(gè)數(shù);(5)得到所有符合被測電路的測試向量,按照時(shí)序、順序關(guān)系存入系統(tǒng)數(shù)據(jù)庫,下位機(jī)可以執(zhí)行的測試程序據(jù)此編寫。上述的步驟(2)中將故障響應(yīng)信息以測試向量表的形式存儲(chǔ)到電路端口地址的過程是從輸出端向輸入端進(jìn)行信息傳輸?shù)?。上述的步驟(1)中的數(shù)據(jù)信息文件可以來自計(jì)算機(jī)輔助設(shè)計(jì)軟件生成的文件,也可以根據(jù)定義好的數(shù)據(jù)格式進(jìn)行手動(dòng)輸入。上述的步驟(4)中重復(fù)步驟(2)和步驟(3)的次數(shù)是根據(jù)被測電路D通路故障的數(shù)目和實(shí)際電路中邏輯門的數(shù)量共同決定的。本系統(tǒng)的測試方法的完整過程是:首先對被測電路進(jìn)行測試生成,根據(jù)得到的測試向量自動(dòng)編寫測試程序。根據(jù)測試程序,上位機(jī)首先對測試端口進(jìn)行方向配置,然后按照時(shí)序關(guān)系執(zhí)行測試,并讀取來自被測電路的響應(yīng)信息,通過與標(biāo)準(zhǔn)向量信息進(jìn)行對比,判斷被測電路的故障。其中數(shù)字電路板自動(dòng)測試向量生成方法主要表現(xiàn)在:首先對被測電路進(jìn)行D路通路敏化,找到電路的D通路,然后對D通路進(jìn)行一致性檢查,刪除錯(cuò)誤向量和冗余向量,最后得到被測電路的測試向量,并存入系統(tǒng)模型數(shù)據(jù)庫,經(jīng)過格式轉(zhuǎn)換后送到自動(dòng)測試系統(tǒng)用以執(zhí)行測試任務(wù)。如果按照傳統(tǒng)D算法思想,先敏化路徑然后再統(tǒng)一進(jìn)行一致性檢查的話,產(chǎn)生的敏化路徑的數(shù)量將達(dá)到天文數(shù)字,測試向量生成將變成一個(gè)“不可能完成”的任務(wù)。因此必須在每一步回溯時(shí),進(jìn)行一致性檢查,及時(shí)刪除不符合要求的D立方(D立方是一個(gè)壓縮的真值表,可以作為電路的測試向量),減少計(jì)算機(jī)的計(jì)算量,加快測試向量生成的速度。本系統(tǒng)的測試方法的可測對象包含多時(shí)鐘、含有復(fù)雜功能的時(shí)序電路。本測試方法的算法思想在傳統(tǒng)D算法的基礎(chǔ)上進(jìn)行很大的改進(jìn)。主要表現(xiàn)在以下四個(gè)方面:(1)D通路不再是從輸入端開始向輸出端敏化,而是從輸出端向輸入端進(jìn)行回溯敏化。生成的敏化通路較長,測試向量覆蓋的測試路徑多,可以在滿足同樣故障覆蓋率的要求下,盡量減少測試中間節(jié)點(diǎn)的個(gè)數(shù)。(2)采用每完成一步敏化,立即進(jìn)行一致性檢查的策略。另外,在每一步敏化后,進(jìn)行一致性檢查過程中添加選擇策略,控制每次生成的D立方的個(gè)數(shù),降低敏化路徑的計(jì)算量,提高測試向量生成速度。(3)為了實(shí)現(xiàn)時(shí)序電路測試生成,讓D立方攜帶時(shí)序信息。在每次路徑敏化時(shí),只要將D方程中的延時(shí)信息與本次敏化所需的D立方中的延時(shí)信息疊加即可。(4)采用多個(gè)時(shí)鐘棧,解決電路的多時(shí)鐘問題。5測試向量的刪除本系統(tǒng)的測試向量生成過程是從輸出端向輸入端進(jìn)行敏化,并且每進(jìn)行一次敏化后就要進(jìn)行一次一致性檢查,及時(shí)刪除錯(cuò)誤的測試向量和冗余的向量,提高測試向量的生成速度。5.1全局信號(hào)輸入端電路中存在一些諸如時(shí)鐘、片選、復(fù)位等控制整個(gè)芯片工作的信號(hào)輸入端,稱之為全局信號(hào)輸入端。在進(jìn)行每一步D路徑敏化過程中,每一個(gè)敏化路徑都要涉及這些全局信號(hào)輸入端。換句話說,在每一步D路徑敏化過程中,都要對這些全局信號(hào)輸入端做重復(fù)的D路徑敏化,降低了測試向量生成的效率。本系統(tǒng),首先對這些全局變量進(jìn)行D路徑敏化至輸入端,生成基于輸入端的D方程。然后再對其他路徑進(jìn)行D路徑敏化,當(dāng)在敏化過程中需要對全局信號(hào)輸入端進(jìn)行D路徑敏化時(shí),只要直接將該全局信號(hào)輸入端的D方程插入到相應(yīng)位置上即可。如果全局信號(hào)是時(shí)鐘信號(hào),則需要在該路徑得到基于輸入端的D方程后再把時(shí)鐘信號(hào)輸入端的D方程拼裝到相應(yīng)的位置上。5.1.1成結(jié)論d方程進(jìn)行加調(diào)整敏化過程中的D方程的生成是實(shí)際上就是首先將當(dāng)前網(wǎng)絡(luò)結(jié)點(diǎn)的D方程和當(dāng)前網(wǎng)絡(luò)結(jié)點(diǎn)的一個(gè)前趨結(jié)點(diǎn)的D方程進(jìn)行笛卡爾乘積,生成的D方程仍然由當(dāng)前網(wǎng)絡(luò)結(jié)點(diǎn)保存。如果當(dāng)前結(jié)點(diǎn)D方程中的前趨結(jié)點(diǎn)取0值時(shí),與前趨結(jié)點(diǎn)D方程中取0值時(shí)的得D方程直接進(jìn)行笛卡爾乘積;與前趨結(jié)點(diǎn)D方程中取1值時(shí)的得D方程進(jìn)行笛卡爾乘積結(jié)果無效,因此,不進(jìn)行笛卡爾乘積;與前趨結(jié)點(diǎn)D方程中取D值時(shí)的得D方程進(jìn)行笛卡爾乘積,然后將D方程中的取值di的改為取值0;與前趨結(jié)點(diǎn)D方程中取DˉˉˉDˉ值時(shí)的得D方程進(jìn)行笛卡爾乘積,然后將D方程中的取值dfi的改為取值1。如果當(dāng)前結(jié)點(diǎn)D方程中的前趨結(jié)點(diǎn)取1值時(shí),與前趨結(jié)點(diǎn)D方程中取1值時(shí)的得D方程直接進(jìn)行笛卡爾乘積;與前趨結(jié)點(diǎn)D方程中取0值時(shí)的得D方程進(jìn)行笛卡爾乘積結(jié)果無效,因此,不進(jìn)行笛卡爾乘積;與前趨結(jié)點(diǎn)D方程中取D值時(shí)的得D方程進(jìn)行笛卡爾乘積,然后將D方程中的取值di的改為取值1;與前趨結(jié)點(diǎn)D方程中取DˉˉˉDˉ值時(shí)的得D方程進(jìn)行笛卡爾乘積,然后將D方程中的取值dfi的改為取值0。如果當(dāng)前結(jié)點(diǎn)D方程中的前趨結(jié)點(diǎn)取D值時(shí),與前趨結(jié)點(diǎn)D方程中取0值時(shí)的得D方程進(jìn)行笛卡爾乘積,然后將D方程中的取值di的改為取值0,并將D方程移入當(dāng)前網(wǎng)絡(luò)結(jié)點(diǎn)取0的D方程隊(duì)列中;與前趨結(jié)點(diǎn)D方程中取1值時(shí)的得D方程進(jìn)行笛卡爾乘積,然后將D方程中的取值di的改為取值1,并將D方程移入當(dāng)前網(wǎng)絡(luò)結(jié)點(diǎn)取1的D方程隊(duì)列中;與前趨結(jié)點(diǎn)D方程中取D值時(shí)的得D方程直接進(jìn)行笛卡爾乘積;與前趨結(jié)點(diǎn)D方程中取DˉˉˉDˉ值時(shí)的得D方程進(jìn)行笛卡爾乘積結(jié)果無效,因此,不進(jìn)行笛卡爾乘積。如果當(dāng)前結(jié)點(diǎn)D方程中的前趨結(jié)點(diǎn)取DˉˉˉDˉ值時(shí),與前趨結(jié)點(diǎn)D方程中取0值時(shí)的得D方程進(jìn)行笛卡爾乘積,然后將D方程中的取值di的改為取值1,并將D方程移入當(dāng)前網(wǎng)絡(luò)結(jié)點(diǎn)取1的D方程隊(duì)列中;與前趨結(jié)點(diǎn)D方程中取1值時(shí)的得D方程進(jìn)行笛卡爾乘積,然后將D方程中的取值di的改為取值0,并將D方程移入當(dāng)前網(wǎng)絡(luò)結(jié)點(diǎn)取0的D方程隊(duì)列中;與前趨結(jié)點(diǎn)D方程中取DˉˉˉDˉ值時(shí)的得D方程直接進(jìn)行笛卡爾乘積;與前趨結(jié)點(diǎn)D方程中取D值時(shí)的得D方程進(jìn)行笛卡爾乘積結(jié)果無效,因此,不進(jìn)行笛卡爾乘積。5.1.2添加前趨結(jié)論后的路徑敏化從敏化隊(duì)列中選出一個(gè)前網(wǎng)絡(luò)結(jié)點(diǎn),當(dāng)該前網(wǎng)絡(luò)結(jié)點(diǎn)的D方程和當(dāng)前網(wǎng)絡(luò)結(jié)點(diǎn)的一個(gè)前趨結(jié)點(diǎn)完成一次路徑敏化后,從當(dāng)前結(jié)點(diǎn)的前趨隊(duì)列中刪除該前趨結(jié)點(diǎn)。如果該前趨結(jié)點(diǎn)的的前趨隊(duì)列不為空并且前趨隊(duì)列中的前趨結(jié)點(diǎn)不為原始輸入,將這個(gè)前趨隊(duì)列的前趨結(jié)點(diǎn)添加到當(dāng)前結(jié)點(diǎn)的前趨隊(duì)列中。如果當(dāng)前結(jié)點(diǎn)的前趨隊(duì)列不為空并且前趨隊(duì)列中的前趨結(jié)點(diǎn)不為原始輸入,將當(dāng)前結(jié)點(diǎn)放入下一次需要敏化的隊(duì)列中。當(dāng)敏化隊(duì)列中所有的結(jié)點(diǎn)完成路徑敏化,將下次需要敏化的隊(duì)列中的結(jié)點(diǎn)放入敏化隊(duì)列中。進(jìn)行下一輪的路徑敏化。如此反復(fù),直到敏化隊(duì)列為空為止。5.1.3路徑過敏的例子下面分別是網(wǎng)絡(luò)結(jié)點(diǎn)0、79、82、153的原始D立方。3、35和80結(jié)點(diǎn)是原始輸入結(jié)點(diǎn),0是原始輸出結(jié)點(diǎn)5.2錯(cuò)誤向量的檢查一致性檢

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論