第1-2講 基于模型的測(cè)試_第1頁(yè)
第1-2講 基于模型的測(cè)試_第2頁(yè)
第1-2講 基于模型的測(cè)試_第3頁(yè)
第1-2講 基于模型的測(cè)試_第4頁(yè)
第1-2講 基于模型的測(cè)試_第5頁(yè)
已閱讀5頁(yè),還剩89頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件測(cè)試概述WhyWhatHow基于模型的測(cè)試基于覆蓋的測(cè)試一致性測(cè)試Why測(cè)試是保證軟件質(zhì)量和可信性的主要手段之一是否符合用戶功能、性能需求軟件產(chǎn)品交付前盡可能發(fā)現(xiàn)錯(cuò)誤測(cè)試的代價(jià)非常高占開發(fā)成本的30%-50%或更高不測(cè)試代價(jià)更高WhyThetop10ITdisasters1983年,前蘇聯(lián)導(dǎo)彈預(yù)警軟件故障差點(diǎn)導(dǎo)致WW-III1990年,AT&T網(wǎng)絡(luò)癱瘓導(dǎo)致美國(guó)7500萬(wàn)用戶受影響1996年,阿麗亞娜5號(hào)火箭爆炸。64-bit16-bit2006年,空客A380因軟件不兼容問題導(dǎo)致拖延交貨。英制

公制

1998年,美國(guó)火星氣候探測(cè)器因?qū)Ш较到y(tǒng)單位不同被毀2004年,EDSCS2計(jì)算機(jī)給納稅人帶來(lái)10億英鎊損失。

1999/2000年,千年蟲問題

2006年,索尼電池引發(fā)的一系列筆記本爆炸事1999年,西門子計(jì)算機(jī)故障引發(fā)50萬(wàn)英居民新護(hù)照延遲

2007年,軟件故障導(dǎo)致1.7萬(wàn)旅客滯留LA國(guó)際機(jī)場(chǎng)8小時(shí)。Why1996年6月4日阿麗亞娜5號(hào)火箭在發(fā)射40秒后爆炸原因:慣性參考系統(tǒng)軟件的數(shù)據(jù)轉(zhuǎn)換異常2004年12月20日,美空軍的一架F-22猛禽戰(zhàn)斗機(jī)因軟件問題在起飛過程中失控墜毀170萬(wàn)行代碼Why2005年11月1日,東京證券交易所因?yàn)檐浖?jí)出現(xiàn)系統(tǒng)故障,導(dǎo)致早間股市“停擺”2007年北京機(jī)場(chǎng)信息系統(tǒng)癱瘓。短短50分鐘內(nèi),至少84個(gè)離港航班發(fā)生延誤海灣戰(zhàn)爭(zhēng)美國(guó)F-18戰(zhàn)斗機(jī)飛行控制軟件共發(fā)生500多次故障愛國(guó)者導(dǎo)彈因?yàn)檐浖栴}誤傷了28名美軍士兵WhyWhat測(cè)試的發(fā)展什么是軟件測(cè)試軟件缺陷測(cè)試的發(fā)展參考:GelperinD,HetzelB.Thegrowthofsoftwaretesting.CommunicationsoftheAssociationofComputingMachinery,1988,31(6):687–695測(cè)試的發(fā)展面向調(diào)試階段

調(diào)試(debugging)、檢查(checkout)、測(cè)試(testing)無(wú)明顯差別面向求真(Demonstration)階段

測(cè)試從調(diào)試中分離,成為生命周期中極為關(guān)鍵的環(huán)節(jié)

調(diào)試:Makesuretheprogramruns

測(cè)試:Makesuretheprogramsolvestheproblem測(cè)試的發(fā)展面向證偽(Destruction)階段

Myers定義測(cè)試是為發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程測(cè)試的發(fā)展60%以上的軟件錯(cuò)誤并非程序錯(cuò)誤,而是需求和設(shè)計(jì)錯(cuò)誤錯(cuò)誤理解用戶需求會(huì)導(dǎo)致開發(fā)完美優(yōu)良的,但卻是不正確的產(chǎn)品需求和設(shè)計(jì)階段的質(zhì)量保證非常重要測(cè)試的發(fā)展

軟件缺陷分布其他10%軟件產(chǎn)品說明書(需求)56%編寫代碼7%設(shè)計(jì)27%測(cè)試的發(fā)展面向評(píng)估(Evaluation)階段

集成分析(Analysis)、評(píng)審(review)和測(cè)試活動(dòng),軟件生命周期的每個(gè)階段對(duì)應(yīng)相應(yīng)的活動(dòng)和產(chǎn)品集面向預(yù)防(Prevention)階段

測(cè)試與開發(fā)并行,包括:測(cè)試計(jì)劃測(cè)試分析(建立測(cè)試需求或目標(biāo))測(cè)試設(shè)計(jì)(指明測(cè)試集的結(jié)構(gòu)、單個(gè)測(cè)試用例和過程)測(cè)試實(shí)現(xiàn)(開發(fā)測(cè)試數(shù)據(jù)、測(cè)試支持軟件)測(cè)試執(zhí)行(運(yùn)行測(cè)試、分析測(cè)試結(jié)果)測(cè)試維護(hù)(保存測(cè)試,在軟件變化時(shí)更新測(cè)試)什么是軟件測(cè)試Myers(1979)

執(zhí)行程序的過程,其目的是發(fā)現(xiàn)錯(cuò)誤IEEE標(biāo)準(zhǔn)610.12(IEEE,1990)在特定的條件下運(yùn)行系統(tǒng)或構(gòu)件,觀察或記錄結(jié)果,對(duì)系統(tǒng)的某個(gè)方面做出評(píng)價(jià)分析某個(gè)軟件項(xiàng)以發(fā)現(xiàn)現(xiàn)存的和要求的條件之差別(即錯(cuò)誤)并評(píng)價(jià)此軟件項(xiàng)的特性軟件缺陷未達(dá)到產(chǎn)品說明書中標(biāo)明的功能未達(dá)到產(chǎn)品說明書未指出但應(yīng)當(dāng)達(dá)到的目標(biāo)

出現(xiàn)了產(chǎn)品說明書中指明不應(yīng)出現(xiàn)的功能難以理解、不易使用軟件缺陷軟件缺陷的特征看不到—軟件的特殊性決定了缺陷不易看到看到但抓不到—發(fā)現(xiàn)了缺陷,但不易找到問題發(fā)生的原因軟件缺陷相關(guān)術(shù)語(yǔ)軟件故障(Fault)

軟件中的一個(gè)靜態(tài)缺陷軟件錯(cuò)誤(Error)

不正確的內(nèi)部狀態(tài),某個(gè)故障的體現(xiàn)軟件失效(Failure)

外部的、不正確的行為How測(cè)試原理測(cè)試過程測(cè)試技術(shù)幾個(gè)關(guān)鍵問題誰(shuí)來(lái)測(cè)試何時(shí)測(cè)試何時(shí)停止測(cè)試怎樣進(jìn)行測(cè)試測(cè)試原理測(cè)試原理測(cè)試應(yīng)可追溯到需求盡早、及時(shí)測(cè)試(何時(shí)開始?)測(cè)試計(jì)劃先于測(cè)試執(zhí)行80%的錯(cuò)誤很可能由20%的模塊造成小規(guī)模

大規(guī)模一般來(lái)講,完全測(cè)試不可能充分覆蓋程序邏輯/圖結(jié)構(gòu)是可行的(何時(shí)停止?)由獨(dú)立第三方測(cè)試(誰(shuí)?)保存測(cè)試相關(guān)文檔,以便維護(hù)和回歸測(cè)試測(cè)試原理軟件缺陷在不同階段發(fā)現(xiàn)時(shí)修復(fù)的費(fèi)用020406080100編制說明書設(shè)計(jì)階段編寫代碼測(cè)試發(fā)布測(cè)試過程模型V模型把測(cè)試過程作為編碼之后的一個(gè)階段需求分析階段隱藏的問題一直到驗(yàn)收測(cè)試才被發(fā)現(xiàn)不能體現(xiàn)“盡早地和不斷地進(jìn)行軟件測(cè)試”的原則用戶需求需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼驗(yàn)收測(cè)試系統(tǒng)測(cè)試集成測(cè)試單元測(cè)試測(cè)試模型W模型軟件測(cè)試技術(shù)白盒測(cè)試和黑盒測(cè)試(另一種:灰盒測(cè)試)靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試(驗(yàn)證測(cè)試和確認(rèn)測(cè)試)傳統(tǒng)測(cè)試和面向?qū)ο鬁y(cè)試基于代碼的測(cè)試和基于模型的測(cè)試軟件測(cè)試技術(shù)白盒測(cè)試根據(jù)程序的結(jié)構(gòu)和內(nèi)部邏輯設(shè)計(jì)用例控制流覆蓋:語(yǔ)句、判定、條件、判定/條件、條件組合、基本路徑測(cè)試、條件測(cè)試等等數(shù)據(jù)流覆蓋:全定義、全使用、全定義使用等等黑盒測(cè)試根據(jù)系統(tǒng)的功能性規(guī)格說明設(shè)計(jì)測(cè)試用例等價(jià)劃分、邊界值分析、因果圖測(cè)試、錯(cuò)誤推測(cè)、組合測(cè)試等軟件測(cè)試技術(shù)靜態(tài)測(cè)試又稱靜態(tài)分析技術(shù)人工或利用工具對(duì)程序和文檔進(jìn)行分析與檢查走查、審查、符號(hào)執(zhí)行等動(dòng)態(tài)測(cè)試運(yùn)行程序,分析程序的執(zhí)行狀態(tài)和外部表現(xiàn)白盒測(cè)試、黑盒測(cè)試及灰盒測(cè)試等基于模型的測(cè)試依據(jù)(形式)模型/規(guī)約進(jìn)行測(cè)試

UML,(E)FSM,LTS,CSP,Promela,...更快、更便宜自動(dòng)生成算法形式的、非歧義測(cè)試的完全性2023年9月21日27測(cè)試用例測(cè)試選擇準(zhǔn)則被測(cè)系統(tǒng)環(huán)境測(cè)試腳本測(cè)試模型基于模型的測(cè)試28軟件制品模型測(cè)試需求測(cè)試規(guī)約測(cè)試用例測(cè)試腳本測(cè)試結(jié)果通過/失敗實(shí)現(xiàn)抽象級(jí)設(shè)計(jì)抽象級(jí)基于模型的測(cè)試29建模準(zhǔn)則精化測(cè)試生成腳本生成執(zhí)行評(píng)估軟件制品模型測(cè)試需求測(cè)試規(guī)約測(cè)試用例測(cè)試腳本測(cè)試結(jié)果通過/失敗實(shí)現(xiàn)抽象級(jí)設(shè)計(jì)抽象級(jí)基于模型的測(cè)試30測(cè)試設(shè)計(jì)測(cè)試執(zhí)行測(cè)試評(píng)估軟件制品模型測(cè)試需求測(cè)試規(guī)約測(cè)試用例測(cè)試腳本測(cè)試結(jié)果通過/失敗實(shí)現(xiàn)抽象級(jí)設(shè)計(jì)抽象級(jí)測(cè)試建模基于覆蓋的測(cè)試傳統(tǒng)的方法從實(shí)現(xiàn)代碼導(dǎo)出測(cè)試用例基于模型的方法從模型導(dǎo)出測(cè)試用例依賴于測(cè)試準(zhǔn)則32測(cè)試覆蓋準(zhǔn)則測(cè)試需求

說明測(cè)試期間必須滿足什么或必須覆蓋什么測(cè)試準(zhǔn)則

定義測(cè)試需求的規(guī)則或規(guī)則集測(cè)試準(zhǔn)則的滿足

給定特定測(cè)試準(zhǔn)則C對(duì)應(yīng)的測(cè)試需求集TR,測(cè)試包T滿足C當(dāng)且僅當(dāng)TR中的每個(gè)測(cè)試需求tr,T中存在一條測(cè)試路徑t覆蓋tr測(cè)試就是定義一個(gè)模型,然后設(shè)法覆蓋它334種模型圖(notXornotY)andAandBif(x>y)z=x-y;elsez=2*x;A:{0,1,>1}B:{600,700,800}C:{swe,cs,isa,infs}邏輯表達(dá)式輸入域特性語(yǔ)法結(jié)構(gòu)34圖覆蓋圖可以表示:語(yǔ)句和分支,組件和信號(hào),狀態(tài)和遷移…

G=(N,N0,Nf,E)6021345路徑:<n1,n2,…,nm>,<ni,ni+1>

E路徑長(zhǎng)度:路徑中的邊數(shù)子路徑:路徑中的節(jié)點(diǎn)子序列Reach(n)

:從節(jié)點(diǎn)n可到達(dá)的子圖測(cè)試路徑:從開始節(jié)點(diǎn)到終止節(jié)點(diǎn)的路徑35圖覆蓋圖結(jié)構(gòu)覆蓋覆蓋圖的節(jié)點(diǎn)、邊或子路徑數(shù)據(jù)流覆蓋

用變量的引用標(biāo)注圖,覆蓋變量的定義、使用或它們之間的關(guān)系36圖覆蓋—結(jié)構(gòu)覆蓋6021345節(jié)點(diǎn)覆蓋測(cè)試路徑 [0,1,2,3,6] [0,1,2,4,5,4,6]邊覆蓋測(cè)試路徑 [0,1,2,3,6] [0,2,4,5,4,6]37圖覆蓋—結(jié)構(gòu)覆蓋邊對(duì)覆蓋

:測(cè)試覆蓋每一個(gè)可達(dá)的長(zhǎng)度不超過2的路徑6021345邊對(duì)覆蓋

邊對(duì)集 {[0,1,2],[0,2,3],[0,2,4],[1,2,3],[1,2,4],[2,3,6],[2,4,5],[2,4,6],[4,5,4],[5,4,5],[5,4,6]}測(cè)試路徑

[0,1,2,3,6],[0,1,2,4,6],[0,2,3,6],[0,2,4,5,4,5,4,6]38圖覆蓋—結(jié)構(gòu)覆蓋全路徑覆蓋:

測(cè)試覆蓋所有可能的路徑指定路徑覆蓋:測(cè)試覆蓋用戶指定的路徑集

不幸的是,如果圖包含循環(huán),全路徑覆蓋可能不切實(shí)際39圖覆蓋—結(jié)構(gòu)覆蓋測(cè)試循環(huán)1970s:執(zhí)行1次循環(huán)1980s:執(zhí)行每個(gè)循環(huán)1次1990s:執(zhí)行循環(huán)0次、1次和多次2000s:覆蓋主路徑40圖覆蓋—結(jié)構(gòu)覆蓋簡(jiǎn)單路徑

除開始和結(jié)束節(jié)點(diǎn)可能相同外沒有重復(fù)節(jié)點(diǎn)無(wú)內(nèi)部循環(huán)簡(jiǎn)單路徑的所有的子路徑也是簡(jiǎn)單路徑一個(gè)循環(huán)是簡(jiǎn)單路徑主路徑

不是其它簡(jiǎn)單路徑的真子路徑,即:最大子路徑41圖覆蓋—結(jié)構(gòu)覆蓋簡(jiǎn)單路徑

[0],[1],[2],[3][0,1],[0,2],[1,3],[2,3],[3,0],[0,1,3],[0,2,3],[1,3,0],[2,3,0],[3,0,1],[3,0,2],[0,1,3,0],[0,2,3,0],[1,3,0,1],[2,3,0,2],[3,0,1,3],[3,0,2,3],[1,3,0,2],[2,3,0,1],主路徑

[0,1,3,0],[0,2,3,0],[1,3,0,1],[2,3,0,2],[3,0,1,3],[3,0,2,3],[1,3,0,2],[2,3,0,1]42圖覆蓋—結(jié)構(gòu)覆蓋主路徑覆蓋:測(cè)試覆蓋每個(gè)主路徑遍歷長(zhǎng)度為0,1,…,n的所有路徑(n為指定的主路徑最大長(zhǎng)度)主路徑覆蓋包含節(jié)點(diǎn)、邊和邊對(duì)覆蓋43圖覆蓋—結(jié)構(gòu)覆蓋Len0[0][1][2][3][4][5][6]!‘!’表示終止Len1[0,1][0,2][1,2][2,3][2,4][3,6]![4,6]![4,5][5,4]Len2[0,1,2][0,2,3][0,2,4][1,2,3][1,2,4][2,3,6]![2,4,6]![2,4,5]![4,5,4]*[5,4,6]![5,4,5]*‘*’表示循環(huán)Len3[0,1,2,3][0,1,2,4][0,2,3,6]![0,2,4,6]![0,2,4,5]![1,2,3,6]![1,2,4,5]![1,2,4,6]!Len4[0,1,2,3,6]![0,1,2,4,6]![0,1,2,4,5]!主路徑簡(jiǎn)單路徑602134544圖覆蓋—結(jié)構(gòu)覆蓋38條簡(jiǎn)單路徑9條主路徑主路徑[0,1,2,3,6][0,1,2,4,5][0,1,2,4,6][0,2,3,6][0,2,4,5][0,2,4,6][5,4,6][4,5,4][5,4,5]1次循環(huán)多次循環(huán)0次循環(huán)602134545圖覆蓋—結(jié)構(gòu)覆蓋問題測(cè)試用例的實(shí)例化(可執(zhí)行的測(cè)試用例)語(yǔ)法可達(dá):圖中存在一條滿足需求的子路徑語(yǔ)義可達(dá):測(cè)試能真正執(zhí)行到一條子路徑不可行的測(cè)試需求不可達(dá)的節(jié)點(diǎn)不能嚴(yán)格按子路徑執(zhí)行46圖覆蓋—結(jié)構(gòu)覆蓋測(cè)試用例的實(shí)例化

游歷(Touring)

如果q是p的子路徑,路徑p游歷路徑q

側(cè)訪(Sidetrips)

路徑p側(cè)訪路徑q當(dāng)且僅當(dāng)q的每條邊在p中,且邊次序相同

繞道游歷(Detours)

路徑p繞道路徑q,當(dāng)且僅當(dāng)q的每個(gè)節(jié)點(diǎn)在p中,且節(jié)點(diǎn)次序相同47圖覆蓋—結(jié)構(gòu)覆蓋021534021534側(cè)訪021534繞道游歷設(shè)q:12448圖覆蓋–數(shù)據(jù)流目標(biāo):檢測(cè)變量值計(jì)算和使用定義(def):變量被賦值使用(use):變量被用于計(jì)算或判定 def(n)={x|節(jié)點(diǎn)n包含x的定義} def(e)={x|邊e包含x的定義} use(n)={x|節(jié)點(diǎn)n包含x的使用} use(e)={x|邊e包含x的使用}49圖覆蓋–數(shù)據(jù)流DU-對(duì)

位置對(duì)(li,lj),一個(gè)變量在li被定義,在

lj被使用du-路徑

從變量的一個(gè)定義到它的一個(gè)使用的路徑,且中間沒有對(duì)該變量重新定義(定義清純,def-clear)du(ni,nj,v)

從ni

nj的變量v的du-路徑集合du(ni,v)

從ni

開始的變量v的du-路徑集合圖覆蓋–數(shù)據(jù)流對(duì)每個(gè)du-路徑集合S=du(n,v),至少測(cè)試S中的一條路徑對(duì)每個(gè)du-路徑集合S=du(ni,nj,v),至少測(cè)試S中的一條路徑對(duì)每個(gè)du-路徑集合S=du(ni,nj,v),測(cè)試S中的所有路徑2,全使用覆蓋(all-uses)3,全du-路徑覆蓋(all-du-paths)1,全定義覆蓋(all-defs)51圖覆蓋–數(shù)據(jù)流0216354x=42z

=

x-8z=x*2全定義(x)[0,1,3,4]全使用(x)[0,1,3,4][0,1,3,5]全定義-使用(x)[0,1,3,4][0,2,3,4][0,1,3,5][0,2,3,5]52邏輯表達(dá)式((a>b)

G)

(x<y)遷移軟件規(guī)約程序判定語(yǔ)句53邏輯表達(dá)式謂詞覆蓋:謂詞取true和false

((a>b)

G)

(x<y)=True,False從句覆蓋:每個(gè)從句(Clause)取true和false(a>b)=True,FalseG=True,False(x<y)=True,False組合覆蓋:從句取值的組合((a>b)

G)

(x<y)多條件覆蓋ID從句謂詞a>bGx<y((a>b)

G)

(x<y)1TTTT2TTFF3TFTT4TFFF5FTTT6FTFF7FFTF8FFFF短路操作對(duì)于C、C++和Java等,多條件覆蓋所要求的一些組合無(wú)法執(zhí)行相似復(fù)雜性的謂詞所需測(cè)試用例數(shù)可能很不同(1)a

b

(c

(d

e))(2)((a

b)

(c

d))

e短路操作多條件覆蓋需要6個(gè)測(cè)試用例(1)a

b

(c

(d

e))starta

=Ta

=F(短路)b

=Tb

=F(短路)c

=T(短路)c

=Fd

=Td

=F(短路)e

=Te

=F短路操作多條件覆蓋需要11個(gè)測(cè)試用例(2)((a

b)

(c

d))

estarta

=Ta

=Fc

=Tc

=Fe

=Te

=Fd

=Td

=F(短路)e

=Te

=Fb

=Tb

=F(短路)c

=Tc

=Fe

=Te

=Fd

=Td

=F(短路)e

=Te

=F58獨(dú)立地測(cè)試每個(gè)從句活動(dòng)從句覆蓋謂詞p中的一個(gè)從句ci

(主從句)

決定

p當(dāng)且僅當(dāng)p中其它從句(次從句)的取值滿足:ci值的變化引起p值得變化從句決定謂詞示例

p=A

B,

B=false,A

決定

p;A=false,B

決定

p

p=A

B,B=true,A

決定

p;A=true,B

決定

p活動(dòng)從句覆蓋目標(biāo)

產(chǎn)生測(cè)試使謂詞的每個(gè)從句能決定謂詞的值59符號(hào)P

:謂詞集合p

:P中的某個(gè)謂詞Cp

:謂詞p中的從句集合c

:C中的某個(gè)從句活動(dòng)從句覆蓋60活動(dòng)從句覆蓋(ActiveClauseCoverage,ACC)

p

P,

ci

Cp,選擇次從句cj(j

i)的值使ci

決定p。

對(duì)應(yīng)ci

的兩個(gè)測(cè)試需求為:ci取true和false61

(a>b)

G

(x<y)((a>b)

orG)

and

(x<y)1TFTT2FFTF重復(fù)3FTTT4FFTF5TTTT6TTFF活動(dòng)從句覆蓋求從句決定謂詞的方法假定pc=true

:p中的從句被置換為

truepc=false

:p中的從句被置換為

false求次從句的值使主從句c決定ppc=pc=true

pc=false62示例63p=a

(b

c)pa=pa=true

pa=false=(true

(b

c))

(false

(b

c))=true

(b

c)=?(b

c)=?b

?c重復(fù)變量(a

b)

(c

b)==(a

c)

b(a

b)

(b

c)

(a

c)只有8個(gè)可能的組合,而非64個(gè)64示例65p=(a

b)

(a

?

b)pa=pa=true

pa=false=((true

b)

(true

?

b))

((false

b)

(false

?

b))=(b

?

b)

false=truepb=pb=true

pb=false=((a

true)

(a

?true))

((a

false)

(a

?false))=(a

false)

(false

a)=a

a=false

a

總是決定pb從不決定

p不可行的測(cè)試需求(a>b

b>c)

c>a(a>b)=true,(b>c)=true,(c>a)=true不可行不可行的測(cè)試需求必須被識(shí)別(不可決定的),忽略66邏輯覆蓋小結(jié)實(shí)際中謂詞常常很簡(jiǎn)單,少于3個(gè)從句對(duì)從句謂詞,謂詞覆蓋2-3個(gè)從句的謂詞,

多條件覆蓋大于3個(gè)從句的謂詞,活動(dòng)從句覆蓋控制軟件有許多復(fù)雜謂詞,包含許多從句6768輸入域特性輸入域描述表示輸入、參數(shù)輸入域劃分選擇輸入值組合系統(tǒng)級(jí)學(xué)生數(shù){0,1,>1}主修{swe,cs,isa,infs}單元級(jí)參數(shù)

F(intX,intY)可能值X:{<0,0,1,2,>2},Y:{10,20,30}69輸入域特性域劃分:將域D劃分為一個(gè)塊集Bq

bi

bj=,

i

j,bi,bj

Bqb1b2b3

b=D參數(shù)取值參數(shù)值組合

三角形問題輸入三個(gè)不大于100的整數(shù)a、b、c,分別作為三角形的三條邊,現(xiàn)通過程序判斷由三條邊

溫馨提示

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

評(píng)論

0/150

提交評(píng)論