中南大學(xué)現(xiàn)代遠(yuǎn)程教育課程考試(???復(fù)習(xí)題及參考 答案《軟件工程》_第1頁
中南大學(xué)現(xiàn)代遠(yuǎn)程教育課程考試(專科)復(fù)習(xí)題及參考 答案《軟件工程》_第2頁
中南大學(xué)現(xiàn)代遠(yuǎn)程教育課程考試(專科)復(fù)習(xí)題及參考 答案《軟件工程》_第3頁
中南大學(xué)現(xiàn)代遠(yuǎn)程教育課程考試(專科)復(fù)習(xí)題及參考 答案《軟件工程》_第4頁
中南大學(xué)現(xiàn)代遠(yuǎn)程教育課程考試(專科)復(fù)習(xí)題及參考 答案《軟件工程》_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、中南大學(xué)現(xiàn)代遠(yuǎn)程教育課程考試(??疲?fù)習(xí)題及參考答案軟件工程一.填空題1.基于計算機(jī)系統(tǒng)總體可靠性與以下三個方面緊密關(guān)聯(lián):硬件可靠性、軟件可靠性和 。 2.面向?qū)ο蟮能浖^程是以 為基礎(chǔ),利用特定的軟件工具直接完成從對象客體的描述到軟件結(jié)構(gòu)之間的轉(zhuǎn)換。3.需求分析的任務(wù)主要有兩個:通過對問題及環(huán)境的理解、分析和綜合,建立分析模型;在完全弄清用戶對軟件系統(tǒng)的確切要求的基礎(chǔ)上,用 把用戶的需求表達(dá)出來。4.需求開發(fā)又分為可行性研究、需求導(dǎo)出和分析、 和需求驗(yàn)證。5對象包含兩個基本的因素, 和方法。6數(shù)據(jù)流圖包括以下兩種類型:變換型數(shù)據(jù)流圖和 。7系統(tǒng)設(shè)計階段的輸出結(jié)果是適應(yīng)應(yīng)用軟件要求的 、類間關(guān)

2、系以及子系統(tǒng)的規(guī)格說明。8軟件測試是為了發(fā)現(xiàn) 而執(zhí)行程序的過程。9軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計一批 ,并利用它們?nèi)ミ\(yùn)行程序,以發(fā)現(xiàn)程序錯誤的過程。10軟件變更可以是修改代碼錯誤的簡單變更、更正設(shè)計錯誤的較大范圍的變更、對描述錯誤進(jìn)行修正或者增加新需求的重大改進(jìn)。軟件變更可以考慮以下幾個策略: 、體系結(jié)構(gòu)轉(zhuǎn)換、軟件再工程等策略。11軟件維護(hù)性是軟件的內(nèi)在固有屬性,它是 的重要組成部分。 12質(zhì)量評審和自動化的軟件評估是質(zhì)量控制的兩種方式。評審活動主要包括 、進(jìn)展評審和質(zhì)量評審等幾種不同類型。二.選擇題1. 關(guān)于軟件的形式化定義,下列哪種說法不正確( )A.能夠

3、完成預(yù)定功能和性能的可執(zhí)行指令B.使得程序能夠適當(dāng)?shù)夭僮餍畔⒌臄?shù)據(jù)結(jié)構(gòu)C.軟件成本相當(dāng)昂貴D.描述程序的操作和使用的文檔2. 下列哪種說法不是軟件危機(jī)的表現(xiàn)( )A.對軟件開發(fā)成本和進(jìn)度的估算很不準(zhǔn)確B.需要有大量的文檔C.用戶對完成的軟件很不滿意D.軟件開發(fā)生產(chǎn)效率低下3. 下列哪項(xiàng)不屬于軟件系統(tǒng)需求( )A.功能需求B.非功能需求C.非領(lǐng)域需求D.領(lǐng)域需求4面向?qū)ο蠓椒ǖ闹饕獌?yōu)點(diǎn)不包括( )A.穩(wěn)定性好B.系統(tǒng)可長期使用C.可重用性好D.符合人類習(xí)慣的思維方法5軟件重用是提高軟件生產(chǎn)率的重要手段,重用性越高,則軟件生產(chǎn)率越高,重用性不包括下列哪種類型( )A.需求分析重用B.代碼重用C.設(shè)

4、計結(jié)果重用D.分析結(jié)果重用6面向?qū)ο笾?,模塊又稱構(gòu)件,下列哪個不是其基本屬性( )A.功能B.結(jié)構(gòu)C.狀態(tài)D.邏輯7對象的實(shí)現(xiàn)描述中不包括以下哪個信息( )A.由一組消息和注釋組成的協(xié)議描述B.對象名及所屬對象類C.私有數(shù)據(jù)結(jié)構(gòu)的每一數(shù)據(jù)項(xiàng)及其類型 D.每個操作的過程性描述或指向這樣一個過程性描述的指針8Grenford J.Myers就軟件測試目的提出的觀點(diǎn)不包括以下哪項(xiàng)( )A.測試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯誤B.證明軟件的功能和性能與需求說明相符合C.一個好的測試用例在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤D.一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試9黑盒測試又稱為( )A.結(jié)構(gòu)測試B.代碼

5、測試C.功能測試D.路徑測試10糾錯技術(shù)主要是指定位程序錯誤采用的工具和手段,常用的定位錯誤方法不包括( ) A.插入打印語句B.設(shè)置斷點(diǎn)C.根據(jù)結(jié)果推理D.掩蔽部分程序 11為了識別和糾正軟件錯誤、改正軟件性能上的缺陷、排除實(shí)施中的誤使用,應(yīng)當(dāng)進(jìn)行的診斷和改正錯誤的過程,就叫做( )A.完善性維護(hù)B.適應(yīng)性維護(hù)C.改正性維護(hù)D.預(yù)防性維護(hù)12( )和自動化的軟件評估是質(zhì)量控制的兩種方式,其中前者是由一組人員對軟件、文檔編制和軟件制作過程進(jìn)行評審。A.質(zhì)量評審B. 質(zhì)量保證C. 質(zhì)量標(biāo)準(zhǔn)D. 質(zhì)量規(guī)劃三.名詞解釋1軟件 2軟件工程 3數(shù)據(jù)流圖 4對象 5消息 6封裝性 7模塊的耦合性 8模塊的

6、扇入數(shù) 9程序流程圖 10程序編碼風(fēng)格 11功能性注釋12白盒測試 13系統(tǒng)測試 14完善性維護(hù) 15軟件重用 四.簡答題1與硬件相比,軟件具有哪些特點(diǎn)?2軟件系統(tǒng)需求分為哪三類?每類主要包含哪些內(nèi)容?3從系統(tǒng)設(shè)計的角度出發(fā),軟件設(shè)計方法分為哪三大類?4結(jié)構(gòu)圖中主要有哪四種類型的模塊?5按照Rumbaugh等人提出的對象建模技術(shù),面向?qū)ο笤O(shè)計過程主要由哪些步驟組成?6對象的實(shí)現(xiàn)描述中包括主要包括哪些信息?7結(jié)構(gòu)化程序設(shè)計的主要原則有哪些?8編程階段主要要完成的三大任務(wù)是什么?9軟件測試時應(yīng)注意和遵循哪些原則?10單元測試的主要內(nèi)容由哪些?11何謂軟件的維護(hù)性?12影響維護(hù)代價的技術(shù)因素主要有哪

7、些?五.應(yīng)用題1試舉例說明,黑盒測試時不可能把所有可能的輸入數(shù)據(jù)都拿來進(jìn)行窮舉測試。2比較下列兩段語句,從編碼風(fēng)格的角度分析哪一段好些,并說明好在哪些方面。程序段一:if a>bthenif x>ythen b=yelsea=xend ifelsea=bend if程序段二:/ position_x is the position x of object; position_y is the position y of object; /if a>b then a=belse if position_x>position_y then b=position_y else

8、a=position_x end ifend if3根據(jù)下列描述,畫出教材征訂系統(tǒng)的第一層數(shù)據(jù)流圖。學(xué)生入學(xué)后到教材科訂書,教材科根據(jù)教材庫存情況分析是否需要買書,如需購買,則向書店購買。各種資金往來通過學(xué)校的會計科辦理。4一本書的組成有一個封面,一個目錄,一個前言,若干章,每章有若干節(jié),每節(jié)有若干段,每段有若干句子,每節(jié)有0個或多個插圖,還有0個或多個表格,最后有一個附錄。試建立該書的對象模型。5分別舉例說明C+中對象操作的兩種調(diào)用方式。6寫出與下判定樹描述的加工規(guī)格說明對應(yīng)的C程序代碼。 7執(zhí)行下列語句后, int i,s; for(i=s=0; i<5; i+) s+=i; whi

9、le (-i>1) s+=i; 求S的值(寫出必要的中間值)。軟件工程復(fù)習(xí)題參考答案一.填空題1操作員可靠性2對象3軟件需求規(guī)格說明書4編寫規(guī)格說明書5屬性6事務(wù)型數(shù)據(jù)流圖7類8錯誤9測試用例10軟件維護(hù)11軟件質(zhì)量12設(shè)計或程序檢查二.選擇題15:CBCBA;610:BABCC;1112:CA三.名詞解釋1軟件:軟件是能夠完成預(yù)定功能和性能的可執(zhí)行指令,使得程序能夠適當(dāng)?shù)夭僮餍畔⒌臄?shù)據(jù)結(jié)構(gòu)同時也是描述程序的操作和使用的文檔。2軟件工程:采用工程的概念、原理和方法來開發(fā)和維護(hù)軟件,把經(jīng)過時間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,這就是軟件工程。3數(shù)據(jù)流圖:數(shù)據(jù)流

10、圖是結(jié)構(gòu)化系統(tǒng)分析的基本工具。一個數(shù)據(jù)流圖確定了系統(tǒng)的轉(zhuǎn)化過程、系統(tǒng)所操縱的數(shù)據(jù)或物質(zhì)的收集(存儲),還有過程、存儲、外部世界之間的數(shù)據(jù)流或物質(zhì)流。4對象:對象是由描述該對象屬性的數(shù)據(jù)以及可以對這些數(shù)據(jù)施加的所有操作封裝在一起構(gòu)成的統(tǒng)一體。對象是現(xiàn)實(shí)世界中的實(shí)體、實(shí)物、事物等。它可以是有形的、無形的,也可以是一種抽象思維。對象包含兩個基本的因素:屬性和方法。5消息:對象引用一個服務(wù)(方法)的過程稱之為向該對象發(fā)送一個消息,消息是對象之間交互的手段,是要求某個對象執(zhí)行類中定義的某個操作的規(guī)格說明。6封裝性:封裝性是面向?qū)ο蠹夹g(shù)的一個重要機(jī)制,封裝意味著把屬性和服務(wù)捆綁在一起形成一個相對獨(dú)立的基本

11、構(gòu)件(對象)。7模塊的耦合性:是模塊之間的相對獨(dú)立性(互相連接的緊密程度)的度量。它取決于各個模塊之間接口的復(fù)雜程度,取決于如何進(jìn)入或訪問一個模塊,以及哪些數(shù)據(jù)將通過該接口。8模塊的扇入數(shù):多個模塊可以有同一個下屬模塊,該下屬模塊的上級模塊的個數(shù)稱為扇入數(shù)。 9程序流程圖:把一個構(gòu)件的內(nèi)部執(zhí)行過程用流程圖描述,也就是用各種幾何圖形、流線及文字說明來描述模塊的執(zhí)行過程的框圖叫程序流程圖。 10程序編碼風(fēng)格:程序編碼風(fēng)格就是程序員在編碼時在源程序文件、語句結(jié)構(gòu)、程序注釋等方面表現(xiàn)出的一貫的特點(diǎn)的總和。11功能性注釋:功能性注釋說明下面的語句或程序段是做什么,或執(zhí)行下面的語句或程序段會發(fā)生什么事情。

12、12白盒測試:根據(jù)軟件產(chǎn)品的內(nèi)部工作過程,在計算機(jī)上進(jìn)行測試,以證實(shí)每種內(nèi)部操作是否符合設(shè)計規(guī)格要求,所有內(nèi)部成分是否已經(jīng)過檢查。這種測試方法就是白盒測試,白盒測試又稱為結(jié)構(gòu)測試。13系統(tǒng)測試:系統(tǒng)測試是將通過確認(rèn)測試的軟件,作為整個基于計算機(jī)系統(tǒng)的一個元素,與計算機(jī)硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其它系統(tǒng)元素結(jié)合在一起,在實(shí)際運(yùn)行(使用)環(huán)境下,對計算機(jī)系統(tǒng)進(jìn)行一系列的組裝測試和確認(rèn)測試。14完善性維護(hù):在軟件的使用過程中,用戶往往會對軟件提出新的功能與性能要求。為了滿足這些要求,需要修改或再開發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。這種情況下進(jìn)行的維護(hù)

13、活動叫做完善性維護(hù)。15軟件重用:軟件重用是指軟件的某一部分在不做修改或稍做修改的情況下重復(fù)使用。軟件重用可降低軟機(jī)成本、提高軟件生產(chǎn)率和軟件質(zhì)量,即重復(fù)使用軟件資源的過程。四.簡答題1與硬件相比,軟件具有哪些特點(diǎn)?解答:與硬件相比,軟件具有以下不同的特點(diǎn):(1) 軟件是邏輯的,而不是物理的產(chǎn)品。邏輯往往實(shí)際只存在于人的頭腦當(dāng)中,軟件的開發(fā)過程極難加以控制。(2) 軟件是由開發(fā)或工程化而形成的,沒有明顯的制造過程。軟件成本集中于"開"上,意味著軟件項(xiàng)目不能象硬件制造項(xiàng)目那樣來管理。(3) 軟件在運(yùn)行和使用期間,不存在硬件那樣的磨損和老化問題,但它存在退化問題,開發(fā)人員必須維

14、護(hù)軟件。(4) 大多數(shù)軟件是自定的,而不是通過已有構(gòu)件組裝而成的。迄今為止,軟件的開發(fā)尚未完全擺脫手工的方式。 (5) 軟件成本相當(dāng)昂貴。IBM360操作系統(tǒng)的研制人員最多時可達(dá)1000多人,從1963年到1966年共花了四年時間才完成,總計耗費(fèi)了5000多人年,以后又進(jìn)行不斷的修改和補(bǔ)充。該系統(tǒng)的整個研制費(fèi)用為5億美元,其中近一半花在軟件上。 (6) 軟件本身是復(fù)雜的。軟件比任何其他人類制造的結(jié)構(gòu)更復(fù)雜,甚至硬件的復(fù)雜性和軟件相比也是微不足道的。軟件本質(zhì)上的復(fù)雜性是軟件產(chǎn)品難以理解,影響軟件過程的管理,并使維護(hù)過程十分復(fù)雜。2軟件系統(tǒng)需求分為哪三類?每類主要包含哪些內(nèi)容?解答:軟件系統(tǒng)需求可

15、以分為功能需求、非功能需求和領(lǐng)域需求:(1)功能需求描述系統(tǒng)所預(yù)期提供的功能或服務(wù)。即定義系統(tǒng)應(yīng)該做什么,系統(tǒng)要求輸入什么信息,輸出什么信息,以及如何將輸入變換為輸出。它由開發(fā)的軟件類型、軟件未來的用戶以及開發(fā)的系統(tǒng)類型決定。(2)非功能需求是指那些不直接與系統(tǒng)具體工作相關(guān)的一類需求。主要涉及系統(tǒng)的總體特性,如可靠性、反映時間和儲存空間等。 (3)領(lǐng)域需求是來自系統(tǒng)的應(yīng)用領(lǐng)域的需求,反映了該領(lǐng)域的特點(diǎn),它可能是一個新的特有的功能需求,對已存在的功能需求的約束或者是需要實(shí)現(xiàn)的一個特別計算。 3從系統(tǒng)設(shè)計的角度出發(fā),軟件設(shè)計方法分為哪三大類?解答:從系統(tǒng)設(shè)計的角度出發(fā),軟件設(shè)計方法可以分為三大類。

16、1)第一類是根據(jù)系統(tǒng)的數(shù)據(jù)流進(jìn)行設(shè)計,稱為面向數(shù)據(jù)流的設(shè)計或者過程驅(qū)動的設(shè)計,以結(jié)構(gòu)化設(shè)計方法(Structured Design, SD)為代表。2)第二類是根據(jù)系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計,稱為面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計或者數(shù)據(jù)驅(qū)動的設(shè)計,以LCP(程序邏輯構(gòu)造)方法、Jackson系統(tǒng)開發(fā)方法和數(shù)據(jù)結(jié)構(gòu)化系統(tǒng)開發(fā)(DSSD)方法為代表。 3)第三類設(shè)計方法即面向?qū)ο蟮脑O(shè)計。 4結(jié)構(gòu)圖中主要有哪四種類型的模塊?解答:結(jié)構(gòu)圖中可能出現(xiàn)以下四種類型的模塊:(1)傳入模塊:從下屬模塊取得數(shù)據(jù),經(jīng)過某些處理,再將其傳送給上級模塊。 (2)傳出模塊:從上級模塊取得數(shù)據(jù),進(jìn)行某些處理,傳送給下屬模塊。 (3)變換模

17、塊:從上級模塊取來數(shù)據(jù),進(jìn)行特定處理后,送回原上級模塊。 (4)協(xié)調(diào)模塊:對其下屬模塊進(jìn)行控制和管理的模塊。5按照Rumbaugh等人提出的對象建模技術(shù),面向?qū)ο笤O(shè)計過程主要由哪些步驟組成?解答:按照Rumbaugh等人提出的對象建模技術(shù)(Object Modeling Technique,OMT),面向?qū)ο笤O(shè)計過程主要由以下步驟組成: 1)系統(tǒng)設(shè)計。主要完成系統(tǒng)整體結(jié)構(gòu)的設(shè)計,包括將子系統(tǒng)分配到處理器和任務(wù)中,選擇實(shí)現(xiàn)數(shù)據(jù)管理、界面支持和任務(wù)管理的設(shè)計策略,為系統(tǒng)設(shè)計合適的控制機(jī)制。 2)對象設(shè)計。對OOA模型中的類對象模型具體化、詳細(xì)化,包括用傳統(tǒng)設(shè)計方法中過程設(shè)計的方法設(shè)計對象的每個操作

18、,定義實(shí)現(xiàn)系統(tǒng)所需的內(nèi)部類,為類屬性設(shè)計內(nèi)部數(shù)據(jù)結(jié)構(gòu)等。3)消息設(shè)計。使用對象間的協(xié)作和對象-關(guān)系模型,設(shè)計消息模型。4)復(fù)審設(shè)計模型。設(shè)計過程是遞進(jìn)的,從需求和實(shí)現(xiàn)兩個角度對設(shè)計模型進(jìn)行復(fù)審,并伴隨著附加的OOA活動。 6對象的實(shí)現(xiàn)描述中包括主要包括哪些信息?解答:對象的實(shí)現(xiàn)描述中包括以下信息: (1) 對象名及所屬對象類; (2) 私有數(shù)據(jù)結(jié)構(gòu)的每一數(shù)據(jù)項(xiàng)及其類型; (3) 每個操作的過程性描述或指向這樣一個過程性描述的指針。7結(jié)構(gòu)化程序設(shè)計的主要原則有哪些?解答:結(jié)構(gòu)化程序設(shè)計的主要原則如下: (1)使用語言有限的基本控制表示邏輯; (2)選用的控制結(jié)構(gòu)只準(zhǔn)許有一個入口和一個; (3)程

19、序語句組成容易識別的塊,每塊只有一個入口和一個出口; (4)復(fù)雜結(jié)構(gòu)應(yīng)該用基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實(shí)現(xiàn); (5)語言中沒有的控制結(jié)構(gòu),可用一段等價的程序段來模擬,但要求該程序在整個系統(tǒng)中應(yīng)前后一致; (6)嚴(yán)格控制GOTO語句,僅在下列情形下才可使用:用一個非結(jié)構(gòu)化的程序設(shè)計語言去實(shí)現(xiàn)一個結(jié)構(gòu)化的構(gòu)造;某種可以改善而不是損害程序可讀性的情況下。 8編程階段主要要完成的三大任務(wù)是什么?解答:編程階段主要要完成的三個任務(wù)為:明確程序的控制結(jié)構(gòu)、確定程序所使用的算法、制定程序所需的數(shù)據(jù)結(jié)構(gòu)。(1)明確程序的控制結(jié)構(gòu) 編碼階段無論采用哪種控制結(jié)構(gòu)來實(shí)現(xiàn),都要嚴(yán)格遵從以下原則:代碼應(yīng)避免使用跳轉(zhuǎn)語句;

20、保持設(shè)計所制定的模塊性;模塊應(yīng)具有通用性,即不應(yīng)將只調(diào)用一次的代碼放在模塊中。(2)確定程序所使用的算法在算法的使用上,人們往往一味地追求運(yùn)行的速度而采用復(fù)雜的算法,這時取得的運(yùn)行速度特性是以下列付出為代價的:在實(shí)現(xiàn)這樣的代碼時需要付出比普通算法更多的時間;檢驗(yàn)代碼的正確性需要時間;代碼讀者可能是讀懂代碼需要很長時間;修改代碼需要的額外時間。因此,在為程序選擇算法時應(yīng)在開發(fā)時間與運(yùn)行時間上進(jìn)行充分的比較。 (3)制定程序所需的數(shù)據(jù)結(jié)構(gòu) 編寫程序時,需要考慮如何安排數(shù)據(jù)的組織和存儲形式,即數(shù)據(jù)結(jié)構(gòu)。9軟件測試時應(yīng)注意和遵循哪些原則?解答:軟件測試的原則:(1)把“盡早地和不斷地進(jìn)行軟件測試”作為

21、軟件開發(fā)者的座右銘。不應(yīng)把軟件測試僅僅看作是軟件開發(fā)的一個獨(dú)立階段,而應(yīng)當(dāng)把它貫穿到軟件開發(fā)的各個階段中。堅(jiān)持在軟件開發(fā)的各個階段的技術(shù)評審,這樣才能在開發(fā)過程中盡早發(fā)現(xiàn)和預(yù)防錯誤,把出現(xiàn)的錯誤克服在早期,杜絕某些發(fā)生錯誤的隱患。(2)測試用例應(yīng)由測試輸入數(shù)據(jù)和與之對應(yīng)的預(yù)期輸出結(jié)果這兩部分組成。測試以前應(yīng)當(dāng)根據(jù)測試的要求選擇測試用例(Test case),用來檢驗(yàn)程序員編制的程序,因此不但需要測試的輸入數(shù)據(jù),而且需要針對這些輸入數(shù)據(jù)的預(yù)期輸出結(jié)果。(3)程序員應(yīng)避免檢查自己的程序。程序員應(yīng)盡可能避免測試自己編寫的程序,程序開發(fā)小組也應(yīng)盡可能避免測試本小組開發(fā)的程序。如果條件允許,最好建立獨(dú)立

22、的軟件測試小組或測試機(jī)構(gòu)。這點(diǎn)不能與程序的調(diào)試(debuging)相混淆。調(diào)試由程序員自己來做可能更有效。(4)在設(shè)計測試用例時,應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件。合理的輸入條件是指能驗(yàn)證程序正確的輸入條件,不合理的輸入條件是指異常的,臨界的,可能引起問題異變的輸入條件。軟件系統(tǒng)處理非法命令的能力必須在測試時受到檢驗(yàn)。用不合理的輸入條件測試程序時,往往比用合理的輸入條件進(jìn)行測試能發(fā)現(xiàn)更多的錯誤。(5)充分注意測試中的群集現(xiàn)象。在被測程序段中,若發(fā)現(xiàn)錯誤數(shù)目多,則殘存錯誤數(shù)目也比較多。這種錯誤群集性現(xiàn)象,已為許多程序的測試實(shí)踐所證實(shí)。根據(jù)這個規(guī)律,應(yīng)當(dāng)對錯誤群集的程序段進(jìn)行重點(diǎn)測試,以提

23、高測試投資的效益。(6)嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性。測試之前應(yīng)仔細(xì)考慮測試的項(xiàng)目,對每一項(xiàng)測試做出周密的計劃,包括被測程序的功能、輸入和輸出、測試內(nèi)容、進(jìn)度安排、資源要求、測試用例的選擇、測試的控制方式和過程等,還要包括系統(tǒng)的組裝方式、跟蹤規(guī)程、調(diào)試規(guī)程,回歸測試的規(guī)定,以及評價標(biāo)準(zhǔn)等。對于測試計劃,要明確規(guī)定,不要隨意解釋。(7)應(yīng)當(dāng)對每一個測試結(jié)果做全面檢查。有些錯誤的征兆在輸出實(shí)測結(jié)果時已經(jīng)明顯地出現(xiàn)了,但是如果不仔細(xì)地全面地檢查測試結(jié)果,就會使這些錯誤被遺漏掉。所以必須對預(yù)期的輸出結(jié)果明確定義,對實(shí)測的結(jié)果仔細(xì)分析檢查,抓住征侯,暴露錯誤。(8)妥善保存測試計劃,測試用例,出錯

24、統(tǒng)計和最終分析報告,為維護(hù)提供方便。10單元測試的主要內(nèi)容由哪些?解答:單元測試的內(nèi)容有:(1)模塊接口測試 :對通過被測模塊的數(shù)據(jù)流進(jìn)行測試。為此,對模塊接口,包括參數(shù)表、調(diào)用子模塊的參數(shù)、全程數(shù)據(jù)、文件輸入輸出操作都必須檢查。(2)局部數(shù)據(jù)結(jié)構(gòu)測試 :設(shè)計測試用例檢查數(shù)據(jù)類型說明、初始化、缺省值等方面的問題,還要查清全程數(shù)據(jù)對模塊的影響。 (3)路徑測試 :選擇適當(dāng)?shù)臏y試用例,對模塊中重要的執(zhí)行路徑進(jìn)行測試。對基本執(zhí)行路徑和循環(huán)進(jìn)行測試可以發(fā)現(xiàn)大量的路徑錯誤。(4)錯誤處理測試 :檢查模塊的錯誤處理功能是否包含有錯誤或缺陷。例如,是否拒絕不合理的輸入;出錯的描述是否難以理解、是否對錯誤定位

25、有誤、是否出錯原因報告有誤、是否對錯誤條件的處理不正確;在對錯誤處理之前錯誤條件是否已經(jīng)引起系統(tǒng)的干預(yù)等。(5)邊界測試 :要特別注意數(shù)據(jù)流、控制流中剛好等于、大于或小于確定的比較值時出錯的可能性。對這些地方要仔細(xì)地選擇測試用例,認(rèn)真加以測試。11何謂軟件的維護(hù)性?解答:軟件的維護(hù)性是一種與軟件維護(hù)有關(guān)的屬性,國標(biāo)GB/T 11457-89對軟件的維護(hù)性作了以下定義:(1)軟件進(jìn)行維護(hù)的難易程度。(2)按照預(yù)定的需要對某一功能部件進(jìn)行維護(hù)的難易程度.(3)在規(guī)定的使用條件下,在給定時間間隔內(nèi)一個軟件保持在某一指定狀態(tài)或者恢復(fù)到某一指定狀態(tài)的能力。 軟件維護(hù)性是軟件的內(nèi)在固有屬性,它是軟件質(zhì)量的

26、重要組成部分。在軟件的質(zhì)量特性中,維護(hù)性與可靠性、可重用性的關(guān)系尤為密切。12影響維護(hù)代價的技術(shù)因素主要有哪些?解答:影響維護(hù)代價的技術(shù)因素主要有:(1)軟件對運(yùn)行環(huán)境的依賴性。(2)編程語言。(3)編程風(fēng)格。良好的編程風(fēng)格意味著良好的可理解性,可以降低維護(hù)的代價。(4)測試和改錯工作。如果測試和改錯工作做得好,后期的維護(hù)代價就能降低。(5)文檔的質(zhì)量。清晰、正確和完備的文檔能降低維護(hù)的代價。五.應(yīng)用題1解答:假設(shè)一個程序P有輸入X和Y及輸出Z,參看圖1。在字長為32位的計算機(jī)上運(yùn)行。如果X、Y只取整數(shù),考慮把所有的X、Y值都做為測試數(shù)據(jù),按黑盒測試方法進(jìn)行窮舉測試,力圖全面、無遺漏地“挖掘”出程序中的所有錯誤。這樣做可能采用的測試數(shù)據(jù)組(Xi, Yi)的最大可能數(shù)目為:232×232264。如果程序P測試一組X、Y數(shù)據(jù)需要1毫秒,且一天工作24小時,一年工作365天,要完成264組測試,需要5億年。圖1 黑盒子中的窮舉測試分析表明,實(shí)行窮舉測試,由于工作量過大,實(shí)施起來是不現(xiàn)實(shí)的。任何軟件開發(fā)項(xiàng)目都要受到期限、費(fèi)用、人力和機(jī)時等條件的限制,盡管為了充分揭露程序中所有隱藏錯誤,需要針對所有可能的數(shù)據(jù)進(jìn)行測試,但事實(shí)告訴我們,這樣做是不可能的。2解答:第二

溫馨提示

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

評論

0/150

提交評論