首頁(yè) 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級(jí) | 職稱英語(yǔ) | 商務(wù)英語(yǔ) | 公共英語(yǔ) | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語(yǔ) | 成人英語(yǔ)三級(jí) | 申碩英語(yǔ) | 攻碩英語(yǔ) | 職稱日語(yǔ) | 日語(yǔ)學(xué)習(xí) | 法語(yǔ) | 德語(yǔ) | 韓語(yǔ)
計(jì)算機(jī)等級(jí)考試 | 軟件水平考試 | 職稱計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問(wèn) | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷員 | 國(guó)際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱 | 注冊(cè)會(huì)計(jì)師 | 審計(jì)師 | 注冊(cè)稅務(wù)師
注冊(cè)資產(chǎn)評(píng)估師 | 高級(jí)會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國(guó)際內(nèi)審師
一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評(píng)價(jià)師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評(píng)價(jià)師 | 電氣工程師 | 注冊(cè)測(cè)繪師 | 注冊(cè)計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語(yǔ)學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

三級(jí)信息管理技術(shù)分章節(jié)考試要點(diǎn):第二章


(三)白盒測(cè)試的測(cè)試用例設(shè)計(jì)
白盒測(cè)試是根據(jù)程序的內(nèi)部邏輯來(lái)設(shè)計(jì)測(cè)試用例,常用的技術(shù)是邏輯覆蓋,即考察用測(cè)試數(shù)據(jù)運(yùn)行被測(cè)程序時(shí)對(duì)程序邏輯的覆蓋程度。主要的覆蓋標(biāo)準(zhǔn)有6種:語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、路徑覆蓋。
為了提高測(cè)試的效率,應(yīng)選擇最少的測(cè)試用例來(lái)滿足指定的覆蓋標(biāo)準(zhǔn)。
1.語(yǔ)句覆蓋
語(yǔ)句覆蓋是指選擇足夠的測(cè)試用例,使得運(yùn)行這些測(cè)試用例時(shí),被測(cè)程序的每個(gè)語(yǔ)句至少執(zhí)行一次。
2.判定覆蓋
判定覆蓋又稱為分支覆蓋。它是指選擇足夠的測(cè)試用例,使得運(yùn)行這些測(cè)試用例時(shí),每個(gè)判定的所有可能結(jié)果至少出現(xiàn)一次(即判定的每個(gè)分支至少經(jīng)過(guò)一次)。
3.條件覆蓋
在軟件設(shè)計(jì)過(guò)程中,一個(gè)判定往往由多個(gè)條件組成,判定覆蓋僅考慮了判定的結(jié)果而沒(méi)有考慮每個(gè)條件的可能結(jié)果。
條件覆蓋是指選擇足夠的測(cè)試用例,使得運(yùn)行這些測(cè)試用例時(shí),判定中的每個(gè)條件的所有可能結(jié)果至少出現(xiàn)一次。
4.判定/條件覆蓋
判定/條件覆蓋是指選擇足夠的測(cè)試用例。使得運(yùn)行這些測(cè)試用例時(shí),判定中每個(gè)條件的所有可能結(jié)果至少出現(xiàn)一次,并且每個(gè)判定本身的所有可能結(jié)果至少出現(xiàn)一次。
顯然,滿足判定/條件覆蓋標(biāo)準(zhǔn)的測(cè)試用例一定也滿足判定覆蓋、條件覆蓋和語(yǔ)句覆蓋標(biāo)準(zhǔn)。在某些程序的測(cè)試中,如果選擇得好,判定覆蓋、條件覆蓋和判定/條件覆蓋可以使用相同的最少的測(cè)試用例。
5.條件組合覆蓋
在條件覆蓋中考慮了判定中每個(gè)條件的所有可能結(jié)果,但并未考慮條件的組合情況。條件組合覆蓋是指選擇足夠的測(cè)試用例,使得運(yùn)行這些測(cè)試用例時(shí),每個(gè)判定中條件結(jié)果的所有可能組合至少出現(xiàn)一次。
由于條件組合覆蓋使每個(gè)判定中條件結(jié)果的所有可能組合都至少出現(xiàn)一次,因此判定本身的所有可能結(jié)果也一定至少出現(xiàn)一次,同時(shí)也使每個(gè)條件的所有可能結(jié)果至少出現(xiàn)一次。因此,條件組合覆蓋是上述5種覆蓋標(biāo)準(zhǔn)中最強(qiáng)的一種。然而,條件組合覆蓋還不能保證程序中所有可能的路徑都被覆蓋。
6.路徑覆蓋
路徑覆蓋是指選擇足夠的測(cè)試用例,使得運(yùn)行這些測(cè)試用例時(shí),程序的每條可能執(zhí)行到的路徑都至少經(jīng)過(guò)一次(如果程序中有環(huán)路,則要求每條環(huán)路至少經(jīng)過(guò)一次)。
路徑覆蓋實(shí)際上是考慮了程序中各種判定結(jié)果的所有可能組合,但它并未考慮判定中的條件結(jié)果的組合,因此它是一種比較強(qiáng)的覆蓋標(biāo)準(zhǔn),但并不能代替條件覆蓋和條件組合覆蓋。
(四)黑盒測(cè)試的測(cè)試用例設(shè)計(jì)簡(jiǎn)介
黑盒測(cè)試是根據(jù)規(guī)格說(shuō)明所規(guī)定的功能來(lái)設(shè)計(jì)測(cè)試用例,它不考慮程序中的內(nèi)部結(jié)構(gòu)和處理過(guò)程。常用的黑盒測(cè)試技術(shù)有等價(jià)類劃分、邊值分析、錯(cuò)誤猜測(cè)等。
1.等價(jià)類劃分
前面已經(jīng)講過(guò),不能窮舉所有可能的輸入數(shù)據(jù)來(lái)進(jìn)行測(cè)試,所以只能選取少量有代表性的輸入數(shù)據(jù),來(lái)揭露盡可能多的程序錯(cuò)誤。
這里首先要介紹一個(gè)有效的輸入數(shù)據(jù)和無(wú)效的輸入數(shù)據(jù)。有效的輸入數(shù)據(jù)是指符合規(guī)格說(shuō)明要求的合理的輸入數(shù)據(jù),它主要用來(lái)檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說(shuō)明中的功能。無(wú)效的輸入數(shù)據(jù)是指不符合規(guī)格說(shuō)明要求的不合理或非法的輸入數(shù)據(jù),它主要用來(lái)檢驗(yàn)程序是否做了規(guī)格說(shuō)明以外的事。
如果把所有可能的輸入數(shù)據(jù)(有效的和無(wú)效的)劃分成若干個(gè)等價(jià)類,那么可以合理地做出假定:如果等價(jià)類中的一個(gè)輸入數(shù)據(jù)能檢測(cè)出一個(gè)錯(cuò)誤,那么等價(jià)類中的其他輸入數(shù)據(jù)也能檢測(cè)出同一個(gè)錯(cuò)誤;反之,如果一個(gè)輸入數(shù)據(jù)不能檢測(cè)出某個(gè)錯(cuò)誤,那么等價(jià)類中其他輸入數(shù)據(jù)也不能發(fā)現(xiàn)這一錯(cuò)誤(除非這個(gè)等價(jià)類的某個(gè)子集還屬于另一等價(jià)類)。
等價(jià)類劃分方法首先把輸入數(shù)據(jù)劃分成若干個(gè)有效等價(jià)類和若干個(gè)無(wú)效等價(jià)類,然后設(shè)計(jì)測(cè)試用例覆蓋這些等價(jià)類。
2.邊值分析
大量的實(shí)踐說(shuō)明,程序中在處理邊界情況時(shí)出錯(cuò)的概率比較大,因此設(shè)計(jì)一些測(cè)試用例,使程序運(yùn)行在邊界情況附近,這樣揭露程序中錯(cuò)誤的可能性就更大。
所謂邊界條件是指相對(duì)于輸入與輸出等價(jià)類直接在其邊界上,或稍高于其邊界,或稍低于其邊界的這些狀態(tài)條件。
使用等價(jià)類劃分方法設(shè)計(jì)測(cè)試用例時(shí),原則上講,等價(jià)類中的任一輸入數(shù)據(jù)都可作為該等價(jià)類的代表用作測(cè)試用例。而邊值分析則是專門挑選那些位于邊界附近的值作為測(cè)試用例。由于邊值分析方法所設(shè)計(jì)的測(cè)試用例,更有可能發(fā)現(xiàn)程序中的錯(cuò)誤,因此經(jīng)常把邊值分析方法與其他設(shè)計(jì)測(cè)試用例方法結(jié)合起來(lái)使用。
3.錯(cuò)誤猜測(cè)
錯(cuò)誤猜測(cè)是一種憑直覺(jué)和經(jīng)驗(yàn)推測(cè)某些可能存在的錯(cuò)誤,從而針對(duì)這些可能存在的錯(cuò)誤設(shè)計(jì)測(cè)試用例的方法。這種方法沒(méi)有機(jī)械的執(zhí)行步驟,主要依靠直覺(jué)和經(jīng)驗(yàn)。
四、軟件維護(hù)
軟件維護(hù)階段覆蓋了從軟件交付使用到軟件被淘汰為止的整個(gè)時(shí)期,它是在軟件交付使用后,為了改正軟件中隱藏的錯(cuò)誤,或者為了使軟件適應(yīng)新的環(huán)境,或者為了擴(kuò)充和完善軟件的功能或性能而修改軟件的過(guò)程。一個(gè)軟件的開發(fā)時(shí)間可能需要一兩年,但它的使用時(shí)間可能要幾年或幾十年,而整個(gè)使用期都可能需要進(jìn)行軟件維護(hù),所以軟件維護(hù)的代價(jià)是很大的,而且維護(hù)的代價(jià)還在逐年上升,據(jù)1994年Software Engineering Encyclopedia記載,在整個(gè)軟件生存周期所花費(fèi)的代價(jià)中,20世紀(jì)80年代末用于軟件維護(hù)的代價(jià)約為75%到90年代初為90%。因此,如何提高軟件維護(hù)的效率、降低維護(hù)的代價(jià)成為十分重要的問(wèn)題。
(一)軟件維護(hù)的分類
根據(jù)引用軟件維護(hù)的原因,軟件維護(hù)通?煞殖筛恼跃S護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù)。
1.改正性維護(hù)
由于程序正確性證明尚未得到圓滿的解決,軟件測(cè)試又不可能找出程序中的所有錯(cuò)誤,因此,在交付使用的軟件中都可能隱藏著某些尚未被發(fā)現(xiàn)的錯(cuò)誤,而這些錯(cuò)誤在某種使用環(huán)境下會(huì)暴露出來(lái)。改正性維護(hù)就是在使用過(guò)程中發(fā)現(xiàn)了隱藏的錯(cuò)誤后,為了診斷和改正這些隱藏錯(cuò)誤而修改軟件的活動(dòng)。
2.適應(yīng)性維護(hù)
由于計(jì)算機(jī)的發(fā)展非常迅速,新的機(jī)型、新的操作系統(tǒng)、新的軟件系統(tǒng)不斷地涌現(xiàn),為了適應(yīng)計(jì)算機(jī)的飛速發(fā)展,可能要更正在運(yùn)行的軟件的運(yùn)行環(huán)境,如新的機(jī)型、數(shù)據(jù)庫(kù)管理系統(tǒng)等。適應(yīng)性維護(hù)就是為了適應(yīng)變化了的環(huán)境而修改軟件的活動(dòng)。
3.完善性維
護(hù)用戶在使用軟件的過(guò)程中,隨著業(yè)務(wù)的發(fā)展,常常希望擴(kuò)充原有軟件的功能,或者希望改進(jìn)原有的功能或性能,以滿足用戶的新要求,完善性維護(hù)就是為了擴(kuò)充或完善原有軟件的功能或性能而修改軟件的活動(dòng)。
4.預(yù)防性維護(hù)
軟件維護(hù)活動(dòng)主要是上述三類維護(hù),另有一類維護(hù)稱為預(yù)防性維護(hù),它是為了提高軟件的可維護(hù)性和可靠性,為未來(lái)的進(jìn)一步改進(jìn)打下基礎(chǔ)而修改軟件的活動(dòng)。
據(jù)有關(guān)資料統(tǒng)計(jì),在整個(gè)軟件維護(hù)活動(dòng)中,改正性維護(hù)約占20%,適應(yīng)性維護(hù)約占25%,完善性維護(hù)約占50%以上,其他維護(hù)約占4%。
(二)與軟件維護(hù)有關(guān)的問(wèn)題
軟件維護(hù)人員通常不是該軟件的開發(fā)人員,這給軟件維護(hù)帶來(lái)很大的困難,特別是有些軟件在開發(fā)時(shí)沒(méi)有遵循軟件開發(fā)的準(zhǔn)則,沒(méi)有開發(fā)方法的支持,維護(hù)這樣的軟件就更困難。下面列舉一些與軟件維護(hù)有關(guān)的問(wèn)題。
(1)要維護(hù)一個(gè)軟件,首先要理解它。而理解別人的程序通常是非常困難的,尤其是對(duì)軟件配置(指各種文檔)不齊的軟件,理解起來(lái)更為困難。
(2)需要維護(hù)的軟件往往缺少合格的文檔,或者文檔資料不齊,甚至沒(méi)有文檔。在軟件維護(hù)中,合格的文檔十分重要,它有助于理解被維護(hù)的軟件。合格的文檔不僅要完整正確地反映開發(fā)過(guò)程各階段的工作結(jié)果,而且應(yīng)該容易理解并應(yīng)程序源代碼一致。而錯(cuò)誤的文檔會(huì)把對(duì)程序的理解引入歧途。
(3)在軟件維護(hù)時(shí),不要指望得到原來(lái)開發(fā)該軟件的人員的幫助。開發(fā)人員開發(fā)完一個(gè)軟件后,往往去從事另一軟件的開發(fā),甚至已調(diào)離開發(fā)單位。即使原先的開發(fā)人員還在,也可能因?yàn)橄喔魰r(shí)間太久而遺忘了實(shí)現(xiàn)的細(xì)節(jié)。
(4)多數(shù)軟件在設(shè)計(jì)時(shí)沒(méi)有考慮今后的修改,給軟件的修改帶來(lái)困難,而且在修改軟件時(shí)容易帶來(lái)新的差錯(cuò)。對(duì)那些缺乏模塊獨(dú)立性和非結(jié)構(gòu)化的程序來(lái)說(shuō),更是如此。
(5)軟件維護(hù)通常不是一件吸引人的工作。從事維護(hù)工作常使維護(hù)人員感到缺乏成就感。這也嚴(yán)重影響維護(hù)工作,從而導(dǎo)致維護(hù)質(zhì)量的不高。
可以看出,上述的有些問(wèn)題都與被維護(hù)的質(zhì)量密切相關(guān),所以在開發(fā)軟件時(shí),要認(rèn)真寫好各類文檔,并且應(yīng)注意提高軟件的可維護(hù)性,這樣可在很大程序上緩解軟件維護(hù)的困難。
(三)可維護(hù)性
軟件可維護(hù)性是指理解、改正、改動(dòng)、改進(jìn)軟件的難易程度。通常影響軟件可維護(hù)性的因素有可理解性、可測(cè)試性和可修改性。
1.可理解性
2.可測(cè)試性
可測(cè)試性是指測(cè)試和診斷軟件(主要指程序)中錯(cuò)誤的難易程度。
測(cè)試主要是發(fā)現(xiàn)軟件中的錯(cuò)誤,而診斷錯(cuò)誤的性質(zhì)和出錯(cuò)的位置通常是調(diào)試的任務(wù)。
提高軟件可測(cè)試性的措施有:書寫詳細(xì)正確的文檔,采用良好的程序結(jié)構(gòu),使用測(cè)試工具和調(diào)試工具,保存以前的測(cè)試過(guò)程和測(cè)試用例等等。
3.可修改性
可修改性是指修改軟件(主要指程序)的難易程度。
在修改程序時(shí)經(jīng)常會(huì)發(fā)生這樣的情況:修改程序中某個(gè)錯(cuò)誤的同時(shí)又產(chǎn)生新的錯(cuò)誤(由程序的修改引起的),或者在程序中增加了某個(gè)功能的同時(shí),原先的某些功能不能正常執(zhí)行。這主要是因?yàn)槌绦蛑懈鞒煞种g存在著許多聯(lián)系,當(dāng)程序中某處修改時(shí),這個(gè)修改可能會(huì)影響到程序的其他部分。如果修改程序時(shí)稍有考慮不周,就會(huì)出現(xiàn)上述顧此失彼的情況。因此,如果一處修改所涉及到的范圍越少,發(fā)生上述情況的概率也越小,其可修改性也越好。
在軟件設(shè)計(jì)中我們介紹的那些設(shè)計(jì)準(zhǔn)則都是影響可修改性的因素,如信息隱蔽原則、模塊獨(dú)立、模塊間聯(lián)系的低耦合高內(nèi)聚等等。
(四)軟件維護(hù)活動(dòng)流程
凡是需要軟件維護(hù),都應(yīng)有一個(gè)軟件維護(hù)的申請(qǐng)報(bào)告。改正性維護(hù)的申請(qǐng)報(bào)告應(yīng)完整地描述導(dǎo)致錯(cuò)誤的環(huán)境,包括輸入數(shù)據(jù)、錯(cuò)誤清單以及有關(guān)的材料。適應(yīng)性維護(hù)或完善性維護(hù)的申請(qǐng)報(bào)告應(yīng)提供一份簡(jiǎn)短的需求說(shuō)明書。維護(hù)申請(qǐng)書由維護(hù)管理員和系統(tǒng)管理員審批。并指明所需修改的性質(zhì),申請(qǐng)修改的優(yōu)先級(jí),所需的工作量等。
維護(hù)活動(dòng)的第一步是確定維護(hù)的類型,若是改正性維護(hù),則要估計(jì)錯(cuò)誤的嚴(yán)重程度,對(duì)嚴(yán)重的錯(cuò)誤,則馬上分派人員執(zhí)行維護(hù)任務(wù);對(duì)不嚴(yán)重的錯(cuò)誤,則可將其暫時(shí)保存,在以后適當(dāng)時(shí)候再進(jìn)行改正。若是適應(yīng)性維護(hù)或完善性維護(hù),則要根據(jù)其優(yōu)先級(jí)來(lái)決定維護(hù)的先后次序,優(yōu)先級(jí)高的維護(hù)則馬上開始,優(yōu)先級(jí)低的可暫時(shí)保存,以便統(tǒng)籌安排。適應(yīng)性維護(hù)或完善性維護(hù)的過(guò)程相當(dāng)于一個(gè)小的開發(fā)過(guò)程,它同樣要經(jīng)歷需求分析、設(shè)計(jì)、編碼、測(cè)試等階段。
不管是哪種維護(hù),有些工作是每種維護(hù)活動(dòng)都必須做的,如在修改程序代碼的同時(shí)還要修改(如有必要)相應(yīng)的需求說(shuō)明文檔、設(shè)計(jì)文檔等,還要進(jìn)行回歸測(cè)試和軟件配置復(fù)審等。
上一頁(yè)  1 2 3 4 5 6 7 8 9 10 11 下一頁(yè)
文章搜索
版權(quán)聲明:如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。