軟件工程電子課件第5章-編碼及測(cè)試_第1頁(yè)
軟件工程電子課件第5章-編碼及測(cè)試_第2頁(yè)
軟件工程電子課件第5章-編碼及測(cè)試_第3頁(yè)
軟件工程電子課件第5章-編碼及測(cè)試_第4頁(yè)
軟件工程電子課件第5章-編碼及測(cè)試_第5頁(yè)
已閱讀5頁(yè),還剩103頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第5章編碼及測(cè)試本章要點(diǎn)程序設(shè)計(jì)語(yǔ)言的發(fā)展、分類及選擇的標(biāo)準(zhǔn)程序設(shè)計(jì)風(fēng)格、效率及安全程序復(fù)雜度及其度量方法軟件測(cè)試的基本概念軟件測(cè)試方法、步驟及工具測(cè)試設(shè)計(jì)和管理2023/7/2615.1程序設(shè)計(jì)語(yǔ)言5.1.1程序設(shè)計(jì)語(yǔ)言的發(fā)展及分類第一代語(yǔ)言是機(jī)器語(yǔ)言第二代語(yǔ)言是匯編語(yǔ)言第三代語(yǔ)言是高級(jí)程序設(shè)計(jì)語(yǔ)言

(1)按應(yīng)用特點(diǎn)分類:可以分為基礎(chǔ)語(yǔ)言、通用的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言、面向?qū)ο笤O(shè)計(jì)語(yǔ)言和專用語(yǔ)言四類。

(2)按語(yǔ)言內(nèi)在特點(diǎn)分類:可分為系統(tǒng)實(shí)現(xiàn)語(yǔ)言、靜態(tài)高級(jí)語(yǔ)言、塊結(jié)構(gòu)高級(jí)語(yǔ)言和動(dòng)態(tài)高級(jí)語(yǔ)言4類。第四代語(yǔ)言(4GL)第五代語(yǔ)言2023/7/2625.1.1程序設(shè)計(jì)語(yǔ)言的發(fā)展及分類2023/7/2635.2程序設(shè)計(jì)風(fēng)格源程序文檔化數(shù)據(jù)說(shuō)明的方法表達(dá)式和語(yǔ)句結(jié)構(gòu)輸入和輸出方法2023/7/2665.2.1源程序文檔化1.標(biāo)識(shí)符:包括模塊名、變量名、常量名、標(biāo)號(hào)名、函數(shù)名、程序名、過(guò)程名、數(shù)據(jù)區(qū)名、緩沖區(qū)名等。2.注釋:分為序言性注釋和功能性注釋。序言性注釋通常在每個(gè)模塊的開(kāi)始,它給出程序的整體說(shuō)明,對(duì)于理解程序具有引導(dǎo)作用,其主要內(nèi)容有:

(1)說(shuō)明每個(gè)模塊的用途、功能。(2)說(shuō)明模塊的接口:調(diào)用形式、參數(shù)描述及從屬模塊的清單。(3)數(shù)據(jù)描述:重要數(shù)據(jù)的名稱、用途、限制、約束及其他信息(4)開(kāi)發(fā)歷史:設(shè)計(jì)者、審閱者姓名及日期,修改說(shuō)明及日期。

2023/7/267

功能性注釋在源程序當(dāng)中,它著重說(shuō)明其后的語(yǔ)句或程序段的處理功能以及數(shù)據(jù)的狀態(tài)。書(shū)寫(xiě)功能性注釋,要注意以下幾點(diǎn):

(1)用于描述一段程序,而不是每一個(gè)語(yǔ)句;(2)用縮進(jìn)和空行,使程序與注釋容易區(qū)別;(3)注釋要正確;(4)有合適的,有助于記憶的標(biāo)識(shí)符和恰當(dāng)?shù)淖⑨?就能得到比較好的源程序內(nèi)部的文檔; (5)有關(guān)設(shè)計(jì)的說(shuō)明,也可以作為注釋,嵌入源程序體內(nèi)。5.2.1源程序文檔化2023/7/2683.源程序的布局常用方法有:(1)注釋部分和程序部分之間,完成不同功能的程序段之間都可以用空行顯式地隔開(kāi);(2)在注釋部分周?chē)由线吙颍唬?)用分層縮進(jìn)的寫(xiě)法顯示嵌套結(jié)構(gòu)層次;(4)每行只寫(xiě)一條語(yǔ)句;(5)書(shū)寫(xiě)表達(dá)式時(shí)適當(dāng)使用空格或圓括號(hào)作隔離符。5.2.1源程序文檔化2023/7/2695.2.2數(shù)據(jù)說(shuō)明1.數(shù)據(jù)說(shuō)明的次序應(yīng)規(guī)范。2.當(dāng)用一個(gè)語(yǔ)句說(shuō)明多個(gè)變量名時(shí),應(yīng)當(dāng)對(duì)這些變量按字母的順序排列。3.如果設(shè)計(jì)了一個(gè)復(fù)雜數(shù)據(jù)結(jié)構(gòu),應(yīng)使用注釋說(shuō)明在實(shí)現(xiàn)這個(gè)數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)。2023/7/26105.2.3表達(dá)式和語(yǔ)句結(jié)構(gòu)1.首先應(yīng)考慮程序的清晰性和可讀性。1)在編程時(shí)盡量一行只寫(xiě)一條語(yǔ)句;2)盡量采用簡(jiǎn)單明了的語(yǔ)句,避免過(guò)多的循環(huán)嵌套;3)同時(shí)注意,在條件結(jié)構(gòu)或循環(huán)結(jié)構(gòu)的嵌套中,分層次縮進(jìn),即邏輯上屬于同一個(gè)層次的互相對(duì)齊,邏輯上屬于內(nèi)部層次的推到下一個(gè)對(duì)齊位置,這樣可以使程序的邏輯結(jié)構(gòu)更清晰;4)在混合使用互相無(wú)關(guān)的運(yùn)算符時(shí),用加括號(hào)的方式排除二義性;5)將復(fù)雜的表達(dá)式分解成簡(jiǎn)單的容易理解的形式;避免浮點(diǎn)數(shù)的相等的比較等;6)程序中有一些諸如各種常數(shù)、數(shù)組的大小、字符位置、變換因子和程序中出現(xiàn)的其他以文字形式寫(xiě)出的數(shù)值,對(duì)于這些數(shù)值應(yīng)命合適的名字,有必要的話加以適當(dāng)?shù)淖⑨?,加?qiáng)程序的可閱讀性、理解性。2023/7/26112.盡可能使用庫(kù)函數(shù)3.注意GOTO語(yǔ)句的使用4.使用層次結(jié)構(gòu),按照初始化或數(shù)據(jù)輸入、數(shù)據(jù)處理、結(jié)果輸出3部分安排層次結(jié)構(gòu)。5.2.3表達(dá)式和語(yǔ)句結(jié)構(gòu)2023/7/26125.2.4輸入和輸出在設(shè)計(jì)和程序編碼時(shí)都應(yīng)考慮下列原則:①對(duì)所有輸入數(shù)據(jù)進(jìn)行檢驗(yàn),從而識(shí)別錯(cuò)誤輸入,以保證每個(gè)數(shù)據(jù)的有效性。②檢查輸入項(xiàng)的各種重要組合的合理性,必要時(shí)報(bào)告輸入狀態(tài)信息。③使輸入的步驟和操作盡可能簡(jiǎn)單,并保持簡(jiǎn)單的輸入格式。④輸入數(shù)據(jù)時(shí),應(yīng)允許使用自由格式輸入。⑤應(yīng)允許默認(rèn)值。2023/7/2613⑥輸入一批數(shù)據(jù)時(shí),最好使用輸入結(jié)束標(biāo)志,而不要由用戶指定輸入數(shù)據(jù)數(shù)目。⑦在以交互式方式進(jìn)行輸入時(shí),要在屏幕上使用提示符明確提示交互輸入請(qǐng)求,指明可使用選擇項(xiàng)的種類和取值范圍。同時(shí),在數(shù)據(jù)輸入的過(guò)程中和輸入結(jié)束時(shí),也應(yīng)屏幕上給出狀態(tài)信息。⑧當(dāng)程序語(yǔ)言對(duì)輸入格式有嚴(yán)格要求時(shí),應(yīng)保持輸入格式與輸入語(yǔ)句要求的一致性。⑨給所有的輸出加注解,并設(shè)計(jì)輸出報(bào)表格式。5.2.4輸入和輸出2023/7/26145.3程序效率5.3.1代碼效率當(dāng)把詳細(xì)設(shè)計(jì)翻譯為代碼時(shí),遵循以下準(zhǔn)則:(1)編碼之前應(yīng)先簡(jiǎn)化算術(shù)和邏輯的表達(dá)式。(2)仔細(xì)研究嵌套的循環(huán),以確定是否有語(yǔ)句可以從內(nèi)層往外移。(3)盡量避免使用多維數(shù)組。(4)盡量避免使用指針和復(fù)雜的列表。(5)使用執(zhí)行時(shí)間短的算術(shù)運(yùn)算。(6)在表達(dá)式中盡量避免出現(xiàn)不同的數(shù)據(jù)類型。(7)盡量位用整數(shù)表達(dá)式和布爾表達(dá)式。對(duì)于一些對(duì)效率要求高的系統(tǒng),可使用具有優(yōu)化特性的編譯程序自動(dòng)生成目標(biāo)代碼。2023/7/26155.3.2存儲(chǔ)器效率在微型計(jì)算機(jī)系統(tǒng)中,常采用生成目標(biāo)代碼較短且有緊縮存儲(chǔ)器性能的編譯程序,必要時(shí)可采用匯編語(yǔ)言。在大中型計(jì)算機(jī)系統(tǒng)中,對(duì)內(nèi)存采取基于操作系統(tǒng)的分頁(yè)功能的虛擬存儲(chǔ)管理。采用結(jié)構(gòu)化程序設(shè)計(jì),使每個(gè)模塊或一組密切相關(guān)模塊的程序占用空間與每頁(yè)容量相匹配。同時(shí),提高程序執(zhí)行效率也能提高存儲(chǔ)器效率。2023/7/26165.3.3輸入/輸出效率從編碼角度看,提高輸入/輸出效率的原則:所有輸入/輸出都應(yīng)有緩沖,以避免過(guò)多的通信次數(shù);對(duì)于輔存(如磁盤(pán))應(yīng)選用簡(jiǎn)單有效的訪問(wèn)方法;與輔存有關(guān)的輸入/輸出應(yīng)該以塊為單位進(jìn)行;與終端和打印機(jī)有關(guān)的輸入/輸出,應(yīng)當(dāng)考慮設(shè)備的特性,以提高輸入/輸出的質(zhì)量和速度;有的輸入/輸出方式盡管很高效,但難以被人們理解,也不應(yīng)當(dāng)采用;簡(jiǎn)單、清晰的輸入/輸出設(shè)計(jì)風(fēng)格也是提高效率的關(guān)鍵;2023/7/26175.4編程安全提高軟件質(zhì)量和可靠性的技術(shù)大致可分為兩類:·一類是避開(kāi)錯(cuò)誤技術(shù),即在開(kāi)發(fā)的過(guò)程中不讓差錯(cuò)潛入軟件的技術(shù)?!ち硪活愂侨蒎e(cuò)技術(shù),即對(duì)某些無(wú)法避開(kāi)的差錯(cuò),使其影響減至最小的技術(shù)。避錯(cuò)技術(shù)是進(jìn)行質(zhì)量管理,實(shí)現(xiàn)產(chǎn)品應(yīng)有質(zhì)量所不可少的技術(shù),也就是軟件工程中所討論的先進(jìn)的軟件分析和開(kāi)發(fā)技術(shù)和管理技術(shù)。即使采用了避錯(cuò)技術(shù),系統(tǒng)還是會(huì)發(fā)生故障,因此需要采用容錯(cuò)技術(shù)使得系統(tǒng)發(fā)生故障時(shí),能自動(dòng)恢復(fù)正常運(yùn)行。實(shí)現(xiàn)容錯(cuò)的主要手段是冗余和防錯(cuò)程序設(shè)計(jì)。2023/7/26185.4.1冗余程序設(shè)計(jì)在硬件系統(tǒng)中,采用冗余技術(shù)是指提供額外的元件或系統(tǒng),使其與主系統(tǒng)并行工作。在軟件系統(tǒng)中,采用冗余技術(shù)主要指提供足夠的冗余信息和算法程序。冗余設(shè)計(jì)在提高軟件可靠性的同時(shí),也增大了程序規(guī)模和系統(tǒng)資源的耗費(fèi),因此需要在可靠性和資源耗費(fèi)之間進(jìn)行權(quán)衡。2023/7/26195.4.2防錯(cuò)程序設(shè)計(jì)防錯(cuò)程序設(shè)計(jì)可分為主動(dòng)式和被動(dòng)式兩種。

主動(dòng)式防錯(cuò)程序設(shè)計(jì)(1)內(nèi)存檢查(2)標(biāo)志檢查(3)反向檢查(4)狀態(tài)檢查(5)連接檢查(6)時(shí)間檢查(7)其他檢查2023/7/2620被動(dòng)式防錯(cuò)程序設(shè)計(jì)(1)來(lái)自外部設(shè)備的輸入數(shù)據(jù),包括范圍、屬性是否正確;(2)由其他程序所提供的數(shù)據(jù)是合正確;(3)數(shù)據(jù)庫(kù)中的數(shù)據(jù),包括數(shù)組、文件、結(jié)構(gòu)、記錄是合正確;(4)操作員的輸入,包括輸入的性質(zhì),順序是否正確;(5)棧的深度是否正確;(6)數(shù)組界限是否正確;(7)表達(dá)式中是否出現(xiàn)零分母情況;(8)正在運(yùn)行的程序版本是否是所期望的;(9)通過(guò)其他程序或外部設(shè)備的輸出數(shù)據(jù)是否正確。5.4.2防錯(cuò)程序設(shè)計(jì)2023/7/26215.5結(jié)構(gòu)化程序設(shè)計(jì)方法1、結(jié)構(gòu)化程序設(shè)計(jì):

結(jié)構(gòu)化程序設(shè)計(jì)的概念最早由EdsgerWybeDijkstra提出,他在1965年召開(kāi)的國(guó)際信息處理聯(lián)合會(huì)(InternationalFederationforInformationProcessing,IEIP)上指出:“可以從高級(jí)語(yǔ)言中取消GOTO語(yǔ)句”,“程序的質(zhì)量與程序中包含的GOTO語(yǔ)句的數(shù)量成反比”。2023/7/26225.5結(jié)構(gòu)化程序設(shè)計(jì)方法2、結(jié)構(gòu)化程序設(shè)計(jì)的原則:(1)使用語(yǔ)言中的順序、選擇、重復(fù)等有限的基本控制結(jié)構(gòu)表示程序邏輯。(2)選用的控制結(jié)構(gòu)只允許有一個(gè)入口和一個(gè)出口。(3)程序語(yǔ)句組成容易識(shí)別的塊,每塊只有一個(gè)入口和出口。(4)復(fù)雜結(jié)構(gòu)應(yīng)該用基本控制結(jié)構(gòu)進(jìn)行組合嵌套來(lái)實(shí)現(xiàn)。(5)語(yǔ)言中沒(méi)有的控制結(jié)構(gòu),可用一段等價(jià)的程序段模擬。(6)嚴(yán)格控制GOTO語(yǔ)句,僅在下列情形才可使用。2023/7/26233、自項(xiàng)向下、逐步細(xì)化的設(shè)計(jì)方法逐步細(xì)化的步驟可以歸納為如下的三步:由粗到細(xì)地對(duì)程序進(jìn)行逐步的細(xì)化,每一步可選擇其中一條或數(shù)條將它們分解為更多或更詳細(xì)的程序步驟。在細(xì)化程序過(guò)程時(shí),對(duì)數(shù)據(jù)的描述進(jìn)行細(xì)化。每步細(xì)化均使用相同的結(jié)構(gòu)語(yǔ)言,最后一步一般直接用偽碼來(lái)描述。5.5結(jié)構(gòu)化程序設(shè)計(jì)方法2023/7/26245.5結(jié)構(gòu)化程序設(shè)計(jì)方法2023/7/2625自頂向下、逐步求精方法的優(yōu)點(diǎn):符合人們解決復(fù)雜問(wèn)題的普遍規(guī)律,可提高軟件開(kāi)發(fā)的成功率和生產(chǎn)率。使程序具有清晰的層次結(jié)構(gòu),程序容易閱讀和理解。程序自頂向下,逐步細(xì)化,分解成一個(gè)樹(shù)形結(jié)構(gòu),在同一層的結(jié)點(diǎn)上做的細(xì)化工作相互獨(dú)立。在任何一步發(fā)生錯(cuò)誤,一般只影響它下層的結(jié)點(diǎn),同一層其他結(jié)點(diǎn)不受影響。程序清晰和模塊化,使得在修改和重新設(shè)計(jì)一個(gè)軟件時(shí)可復(fù)用的代碼量最大。每一步工作僅在上層結(jié)點(diǎn)的基礎(chǔ)上做不多的設(shè)計(jì)擴(kuò)展,便于檢查。有利于設(shè)計(jì)的分工和組織工作。在編寫(xiě)結(jié)構(gòu)化程序時(shí),應(yīng)注意以下幾點(diǎn):(1)使用語(yǔ)言中的順序、選擇、重復(fù)等有限的基本控制結(jié)構(gòu)表示程序邏輯。(2)選用的控制結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口。(3)程序語(yǔ)句組成容易識(shí)別的塊,每塊只有一個(gè)入口和出口。(4)復(fù)雜結(jié)構(gòu)應(yīng)該用基本控制結(jié)構(gòu)進(jìn)行組合嵌套來(lái)實(shí)現(xiàn)。(5)語(yǔ)言中沒(méi)有的控制結(jié)構(gòu),可用—段等價(jià)的程序段模擬。(6)嚴(yán)格控制GOT0語(yǔ)句,僅在下列情形才可使用:①用一個(gè)非結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言來(lái)實(shí)現(xiàn)一個(gè)結(jié)構(gòu)化的構(gòu)造。②在某種可以改善而不是損害程序可讀性的情況下。結(jié)構(gòu)化程序設(shè)計(jì)的缺點(diǎn),就是目標(biāo)程序所需要的存儲(chǔ)容量和運(yùn)行時(shí)間都有一些增加。5.5結(jié)構(gòu)化程序設(shè)計(jì)方法2023/7/26264、主程序員的組織形式

即開(kāi)發(fā)程序的人員應(yīng)采用以一個(gè)主程序員(負(fù)責(zé)全部技術(shù)活動(dòng))、一個(gè)后備程序員(協(xié)調(diào)、支持主程序員)和一個(gè)程序管理員(負(fù)責(zé)事務(wù)性工作,如收集、記錄數(shù)據(jù),文檔資料管理等)三人為核心,再加上一些專家(如通信專家、數(shù)據(jù)庫(kù)專家)、其他技術(shù)人員組成小組。5.5結(jié)構(gòu)化程序設(shè)計(jì)方法2023/7/26275.6程序的復(fù)雜性及度量

程序復(fù)雜性主要指模塊內(nèi)程序的復(fù)雜性。它直接關(guān)系到軟件開(kāi)發(fā)費(fèi)用的多少,開(kāi)發(fā)周期的長(zhǎng)短和軟件內(nèi)部潛伏錯(cuò)誤的多少。同時(shí)它也是軟件可理解性的另一種度量。減少程序復(fù)雜性,可提高軟件的簡(jiǎn)單清晰性和可理解性,并使軟件開(kāi)發(fā)費(fèi)用減少,開(kāi)發(fā)周期縮短,軟件內(nèi)部潛藏錯(cuò)誤減少。2023/7/26285.6.1代碼行度量法

度量程序的復(fù)雜性,最簡(jiǎn)單的方法就是統(tǒng)計(jì)程序的源代碼行數(shù)。此方法的基本考慮是統(tǒng)計(jì)一個(gè)程序的源代碼行數(shù),并以源代碼行數(shù)作為程序復(fù)雜性的度量。2023/7/26295.6.2McCabe度量法

McCabe度量法是由ThomasMcCabe提出的一種基于程序控制流的復(fù)雜性度量方法。McCabe定義的程序復(fù)雜性度量值又稱環(huán)路復(fù)雜度,它基于一個(gè)程序模塊的程序圖中環(huán)路的個(gè)數(shù),因此計(jì)算它先要畫(huà)出程序圖。2023/7/2630下面給出計(jì)算環(huán)路復(fù)雜性的方法。

根據(jù)圖論,在一個(gè)強(qiáng)連通的有向圖G中,環(huán)的個(gè)數(shù)由以下公式給出:其中,是有向圖G中環(huán)路數(shù),是圖G中弧數(shù),是圖G中結(jié)點(diǎn)數(shù),是圖G中的強(qiáng)連通分量個(gè)數(shù)。在一個(gè)程序中,從程序圖的入口點(diǎn)總能到達(dá)圖中任何一個(gè)結(jié)點(diǎn),因此,程序總是連通的,但不是強(qiáng)連通的。為了使圖成為強(qiáng)連通圖,從圖的入口到出口加一條用虛線表示的有向邊,使圖成為強(qiáng)連通圖。這樣可以使用上式計(jì)算環(huán)路復(fù)雜性。5.6.2McCabe度量法2023/7/2631利用McCabe環(huán)路復(fù)雜度度量時(shí),有幾點(diǎn)說(shuō)明:(1)環(huán)路復(fù)雜度取決于程序控制結(jié)構(gòu)的復(fù)雜度。(2)環(huán)路復(fù)雜度是可加的。(3)對(duì)于復(fù)雜度超過(guò)10的程序,應(yīng)分成幾個(gè)模塊,使每個(gè)模塊復(fù)雜度小于10。(4)這種度量的缺點(diǎn):不區(qū)分不同種類的控制流的復(fù)雜性。5.6.2McCabe度量法2023/7/26325.6.3Halstead度量法

當(dāng)給出的源程序時(shí),Halstead度量法根據(jù)其中的運(yùn)算符和操作數(shù)的總數(shù)來(lái)度量程序復(fù)雜性。它采用一組基本的度量值。其中n1表示程序中不同運(yùn)算符(包括保留字)的個(gè)數(shù),令n2表示程序中不同運(yùn)算對(duì)象的個(gè)數(shù),N1為程序中實(shí)際出現(xiàn)的運(yùn)算符總個(gè)數(shù),N2為程序中實(shí)際出現(xiàn)的運(yùn)算對(duì)象總個(gè)數(shù)。運(yùn)算符包括算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、賦值符(=或:=)、數(shù)組操作符、分界符(,或;或:)、于程序調(diào)用符、括號(hào)運(yùn)算符、循環(huán)操作符等。2023/7/2633(1)程序長(zhǎng)度,即預(yù)測(cè)的Halstead長(zhǎng)度。(2)實(shí)際的Halstead長(zhǎng)度(3)程序的詞匯表(4)程序量5.6.3Halstead度量法2023/7/2634(5)程序員工作量(6)程序的潛在錯(cuò)誤(7)Halstead的重要結(jié)論之一:預(yù)測(cè)的Halstead長(zhǎng)度H與實(shí)際的Halstead長(zhǎng)度N非常接近。2023/7/2635Halstead度量法的缺點(diǎn):①?zèng)]有區(qū)別自己編的程序與別人編的程序。這是與實(shí)際經(jīng)驗(yàn)相違背的。這時(shí)應(yīng)將外部調(diào)用乘上一個(gè)大于1的常數(shù)Kf(應(yīng)在1~5之間,它與文檔資料的清晰度有關(guān))。②沒(méi)有考慮非執(zhí)行語(yǔ)句。補(bǔ)救辦法:在統(tǒng)計(jì)n1,n2,N1,N2時(shí),可以把非執(zhí)行語(yǔ)句中出現(xiàn)的運(yùn)算對(duì)象,運(yùn)算符統(tǒng)計(jì)在內(nèi)。③在允許混合運(yùn)算的語(yǔ)言中,每種運(yùn)算符必須與它的運(yùn)算對(duì)象相關(guān)。如果一種語(yǔ)言有整型、實(shí)型、雙精度型三種不同類型的運(yùn)算對(duì)象,則任何一種基本算術(shù)運(yùn)算符()實(shí)際上代表了種運(yùn)算符。如果語(yǔ)言中有4種不同類型的算術(shù)運(yùn)算對(duì)象,那么每一種基本算術(shù)運(yùn)算符實(shí)際上代表種運(yùn)算符。在計(jì)算時(shí)應(yīng)考慮這種因數(shù)據(jù)類型而引起差異的情況。2023/7/26365.7軟件測(cè)試5.7.1軟件測(cè)試的意義

軟件測(cè)試是軟件開(kāi)發(fā)過(guò)程的重要組成部分,是用來(lái)確認(rèn)一個(gè)系統(tǒng)的品質(zhì)或性能是否符合用戶提出的要求的標(biāo)準(zhǔn)。2023/7/26375.7.2軟件測(cè)試的基本概念1.軟件測(cè)試的概念2.軟件測(cè)試的角色3.關(guān)于軟件測(cè)試的一些常用術(shù)語(yǔ)(1)測(cè)試(2)測(cè)試用例(3)測(cè)試步驟2023/7/2638測(cè)試步驟2023/7/26391.軟件測(cè)試的目的確認(rèn)軟件的質(zhì)量提供信息軟件測(cè)試不僅是在測(cè)試軟件產(chǎn)品的本身,而且還包括軟件開(kāi)發(fā)的過(guò)程。5.7.3軟件測(cè)試的目的、任務(wù)、原則和研究對(duì)象2023/7/26402.軟件測(cè)試的任務(wù)測(cè)試人員在軟件開(kāi)發(fā)過(guò)程中的任務(wù):(1)尋找Bug;(2)避免軟件開(kāi)發(fā)過(guò)程中的缺陷;(3)衡量軟件的品質(zhì);(4)關(guān)注用戶的需求。5.7.3軟件測(cè)試的目的、任務(wù)、原則和研究對(duì)象2023/7/26413.軟件測(cè)試的原則(1)應(yīng)當(dāng)盡早地和不斷地進(jìn)行軟件測(cè)試(2)測(cè)試用例應(yīng)由測(cè)試輸入數(shù)據(jù)和與之對(duì)應(yīng)的預(yù)期輸出結(jié)果這兩部分組成(3)程序員應(yīng)避免檢查自己的程序(4)在設(shè)計(jì)測(cè)試用例時(shí),應(yīng)當(dāng)包括有效的輸入條件和無(wú)效的輸入條件(5)充分注意測(cè)試中的群集現(xiàn)象(6)嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性。(7)應(yīng)當(dāng)對(duì)每一個(gè)測(cè)試結(jié)果做全面檢查(8)妥善保存測(cè)試計(jì)劃、測(cè)試用例、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)提供方便。2023/7/26424.軟件測(cè)試中研究的對(duì)象軟件測(cè)試并不等于程序測(cè)試。軟件測(cè)試應(yīng)該貫穿軟件定義與開(kāi)發(fā)整個(gè)期間。在對(duì)需求理解與表達(dá)的正確性、設(shè)計(jì)與表達(dá)的正確性、實(shí)現(xiàn)的正確性以及運(yùn)行的正確性的驗(yàn)證中,任何一個(gè)環(huán)節(jié)發(fā)生了問(wèn)題都可能在軟件測(cè)試中表現(xiàn)出來(lái)。

5.7.3軟件測(cè)試的目的、任務(wù)、原則和研究對(duì)象2023/7/26435.7.4軟件測(cè)試的發(fā)展歷史及趨勢(shì)第一個(gè)階段是60年代及其以前第二個(gè)階段是70年代第三個(gè)階段是80年代及其以后

2023/7/26445.7.5軟件測(cè)試的需求規(guī)格說(shuō)明1.采用軟件需求規(guī)格說(shuō)明模版2.指明需求來(lái)源3.為每項(xiàng)需求注上標(biāo)號(hào)4.記錄業(yè)務(wù)規(guī)范5.創(chuàng)建需求跟蹤能力矩陣2023/7/26455.7.6軟件測(cè)試的設(shè)計(jì)說(shuō)明

測(cè)試設(shè)計(jì)的以下幾個(gè)原則:(1)對(duì)被測(cè)試程序的每一個(gè)(公共)功能,都需要有一個(gè)測(cè)試用例(2)測(cè)試任何可能出錯(cuò)的地方(3)測(cè)試邊界條件(4)測(cè)試設(shè)計(jì)前提(5)測(cè)試設(shè)計(jì)過(guò)程(6)建議程序開(kāi)發(fā)時(shí)預(yù)留測(cè)試點(diǎn)2023/7/26465.8軟件測(cè)試的方法

5.8.1靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試1.靜態(tài)測(cè)試2.動(dòng)態(tài)測(cè)試2023/7/26475.8軟件測(cè)試的方法

5.8.2黑盒測(cè)試法和白盒測(cè)試法從測(cè)試是否針對(duì)系統(tǒng)的內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)算法的角度來(lái)看,可分為白盒測(cè)試和黑盒測(cè)試。2023/7/26485.8軟件測(cè)試的方法

1.黑盒測(cè)試(1)劃分等價(jià)類(2)確定測(cè)試用例(3)邊界值分析(4)錯(cuò)誤推測(cè)(5)因果圖(6)綜合策略黑盒測(cè)試的優(yōu)點(diǎn)2023/7/26495.8軟件測(cè)試的方法

(1)劃分等價(jià)類①如果某個(gè)輸入條件規(guī)定了取值范圍或值的個(gè)數(shù),則可確定一個(gè)有效的等價(jià)類(輸入值或某個(gè)數(shù)值在此范圍內(nèi))和兩個(gè)無(wú)效等價(jià)類(輸入值或某個(gè)數(shù)值小于這個(gè)范圍的最小值或大于這個(gè)范圍的最大值)。②如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序?qū)Σ煌妮斎胫底霾煌奶幚恚瑒t每個(gè)允許輸入值是一個(gè)有效等價(jià)類,此處還有一個(gè)無(wú)效等價(jià)類(任何一個(gè)不允許的輸入值)。③如果規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī)則,可確定一個(gè)有效等價(jià)類(符合規(guī)則)和若干個(gè)無(wú)效等價(jià)類(從各種不同角度違反規(guī)則)。④如果已劃分的等價(jià)類中各元素在程序中的處理方式不同,則應(yīng)將此等價(jià)類進(jìn)一步劃分為更小的等價(jià)類。2023/7/26505.8軟件測(cè)試的方法

(2)確定測(cè)試用例①為每一個(gè)等價(jià)類編號(hào)。②設(shè)計(jì)一個(gè)測(cè)試用例,使其盡可能多地覆蓋尚未覆蓋過(guò)的有效等價(jià)類。重復(fù)這步,直到所有有效等價(jià)類被測(cè)試用例覆蓋。③設(shè)計(jì)一個(gè)測(cè)試用例,使其只覆蓋一個(gè)無(wú)效等價(jià)類。例如,假設(shè)對(duì)某個(gè)列表測(cè)試刪除操作,必須選擇輸入值以便執(zhí)行操作之后,列表為充滿狀態(tài),具有若干元素或?yàn)榭?采用它的所有等價(jià)類的值進(jìn)行測(cè)試)。2023/7/26515.8軟件測(cè)試的方法(3)邊界值分析①如果輸入條件規(guī)定了值的范圍,可以選擇正好等于邊界值的數(shù)據(jù)作為有效的測(cè)試用例②如果輸入條件指出了輸入數(shù)據(jù)的個(gè)數(shù),則按最大個(gè)數(shù)、最小個(gè)數(shù)、比最小個(gè)數(shù)少1、比最大個(gè)數(shù)多1等情況分別設(shè)計(jì)測(cè)試用例。③對(duì)每個(gè)輸出條件分別按照以上原則(1)或(2)確定輸出值的邊界情況。④如果程序的規(guī)格說(shuō)明給出的輸入或輸出域是個(gè)有序集合2023/7/26525.8軟件測(cè)試的方法(4)錯(cuò)誤推測(cè)

在測(cè)試程序時(shí),人們可能根據(jù)經(jīng)驗(yàn)或直覺(jué)推測(cè)程序中可能存在的各種錯(cuò)誤,從而有針對(duì)性地編寫(xiě)檢查這些錯(cuò)誤的測(cè)試用例,這就是錯(cuò)誤推測(cè)法。2023/7/26535.8軟件測(cè)試的方法判定表通常由四個(gè)部分組成:

條件樁(ConditionStub)動(dòng)作樁(ActionStub)條件項(xiàng)(ConditionEntry)動(dòng)作項(xiàng)(ActionEntry)規(guī)則:任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作。在判定表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則。顯然,判定表中列出多少組條件取值,也就有多少條規(guī)則,即條件項(xiàng)和動(dòng)作項(xiàng)有多少列。2023/7/26545.8軟件測(cè)試的方法(6)綜合策略每種方法都能設(shè)計(jì)出一組有用例子,用這組例子容易發(fā)現(xiàn)某種類型的錯(cuò)誤,但可能不易發(fā)現(xiàn)另一類型的錯(cuò)誤。因此在實(shí)際測(cè)試中,聯(lián)合使用各種測(cè)試方法,形成綜合策略,通常先用黑盒測(cè)試設(shè)計(jì)基本的測(cè)試用例,再用白盒測(cè)試補(bǔ)充一些必要的測(cè)試用例。2023/7/26555.8軟件測(cè)試的方法黑盒測(cè)試的優(yōu)點(diǎn):(1)基本上不需人監(jiān)控(2)設(shè)計(jì)完測(cè)試用例之后,接下來(lái)的工作就是很簡(jiǎn)單了。黑盒測(cè)試的缺點(diǎn):(1)結(jié)果取決于測(cè)試用例的設(shè)計(jì),測(cè)試用例的設(shè)計(jì)部分來(lái)源于經(jīng)驗(yàn)。(2)沒(méi)有狀態(tài)轉(zhuǎn)換的概念(3)就沒(méi)有狀態(tài)概念的測(cè)試來(lái)說(shuō),尋找和確定造成程序crash的測(cè)試用例很煩瑣,必須把周?chē)赡艿臏y(cè)試用例單獨(dú)確認(rèn)。2023/7/26565.8軟件測(cè)試的方法2.白盒測(cè)試2023/7/26575.8軟件測(cè)試的方法2023/7/26585.8軟件測(cè)試的方法(1)語(yǔ)句覆蓋為了提高發(fā)現(xiàn)錯(cuò)誤的可能性,在測(cè)試時(shí)應(yīng)該執(zhí)行到程序中的每一個(gè)語(yǔ)句。語(yǔ)句覆蓋是指設(shè)計(jì)足夠的測(cè)試用例,使被測(cè)試程序中每個(gè)語(yǔ)句至少執(zhí)行一次。(2)判定覆蓋判定覆蓋指設(shè)計(jì)足夠的測(cè)試用例,使得被測(cè)程序中每個(gè)判定表達(dá)式至少獲得一次“真”值和“假”值,從而使程序的每一個(gè)分支至少都通過(guò)一次,因此判定覆蓋也稱分支覆蓋。2023/7/26595.8軟件測(cè)試的方法(3)條件覆蓋條件覆蓋是指設(shè)計(jì)足夠的測(cè)試用例,使得判定表達(dá)式中每個(gè)條件的各種可能的值至少出現(xiàn)一次。(4)判定/條件測(cè)試該覆蓋標(biāo)準(zhǔn)指設(shè)計(jì)足夠的測(cè)試用例,使得判定表達(dá)式的每個(gè)條件的所有可能取值至少出現(xiàn)一次,并使每個(gè)判定表達(dá)式所有可能的結(jié)果也至少出現(xiàn)一次。2023/7/26605.8軟件測(cè)試的方法(5)多條件覆蓋多條件覆蓋也稱條件組合覆蓋,設(shè)計(jì)足夠的測(cè)試用例,使得每個(gè)判定中條件的各種可能組合都至少出現(xiàn)一次。(6)路徑覆蓋路徑覆蓋是指設(shè)計(jì)足夠的測(cè)試用例,覆蓋被測(cè)程序中所有可能的路徑。在實(shí)際的邏輯覆蓋測(cè)試中,一般以條件組合覆蓋為主設(shè)計(jì)測(cè)試用例,然后再補(bǔ)充部分用例,以達(dá)到路徑覆蓋測(cè)試標(biāo)準(zhǔn)。2023/7/26615.8軟件測(cè)試的方法(7)修正條件判定覆蓋修正條件判定覆蓋是由歐美的航空/航天制造廠商和使用單位聯(lián)合制定的“航空運(yùn)輸和裝備系統(tǒng)軟件認(rèn)證標(biāo)準(zhǔn)”,目前在國(guó)外的國(guó)防、航空航天領(lǐng)域應(yīng)用廣泛。這個(gè)覆蓋度量需要足夠的測(cè)試用例來(lái)確定各個(gè)條件能夠影響到包含判定的結(jié)果。它要求滿足兩個(gè)條件:首先,每一個(gè)程序模塊的入口和出口點(diǎn)都要考慮至少要被調(diào)用一次,每個(gè)程序的判定到所有可能的結(jié)果值要至少轉(zhuǎn)換一次;其次,程序的判定被分解為通過(guò)邏輯操作符(and、or)連接的布爾條件,每個(gè)條件對(duì)于判定的結(jié)果值是獨(dú)立的。2023/7/26625.8軟件測(cè)試的方法測(cè)試用例的設(shè)計(jì):

下面是一段插入排序的程序,將R[k+1]插入到R[1…k]的適當(dāng)位置。{R[0]=R[k+1];j=k;while(R[j]>R[0]){R[j+1]=R[j];j--;}R[j+1]=R[0];}2023/7/26635.8軟件測(cè)試的方法2023/7/26645.9軟件測(cè)試的步驟

單元測(cè)試集成測(cè)試確認(rèn)測(cè)試系統(tǒng)測(cè)試驗(yàn)收測(cè)試

2023/7/26655.9.1單元測(cè)試

1.單元測(cè)試的基本方法單元測(cè)試的對(duì)象是軟件設(shè)計(jì)的最小單位模塊。單元測(cè)試的依據(jù)是詳細(xì)設(shè)計(jì)描述,單元測(cè)試應(yīng)對(duì)模塊內(nèi)所有重要的控制路徑設(shè)計(jì)測(cè)試用例,以便發(fā)現(xiàn)模塊內(nèi)部的錯(cuò)誤。單元測(cè)試多采用白盒測(cè)試技術(shù),系統(tǒng)內(nèi)多個(gè)模塊可以并行地進(jìn)行測(cè)試。2023/7/26665.9.1單元測(cè)試2.單元測(cè)試任務(wù)單元測(cè)試任務(wù)包括:(1)模塊接口測(cè)試;(2)模塊局部數(shù)據(jù)結(jié)構(gòu)測(cè)試;(3)模塊邊界條件測(cè)試;(4)模塊中所有獨(dú)立執(zhí)行通路測(cè)試;(5)模塊的各條錯(cuò)誤處理通路測(cè)試。2023/7/26675.9.1單元測(cè)試3.單元測(cè)試過(guò)程應(yīng)為測(cè)試模塊開(kāi)發(fā)一個(gè)驅(qū)動(dòng)模塊(driver)和(或)若干個(gè)樁模塊(stub),驅(qū)動(dòng)模塊在大多數(shù)場(chǎng)合稱為“主程序”,它接收測(cè)試數(shù)據(jù)并將這些數(shù)據(jù)傳遞到被測(cè)試模塊,被測(cè)試模塊被調(diào)用后,“主程序”打印“進(jìn)入——退出”消息。2023/7/26685.9.1單元測(cè)試4.單元測(cè)試工作內(nèi)容2023/7/26695.9.1單元測(cè)試5.單元測(cè)試的優(yōu)點(diǎn)(1)是一種驗(yàn)證行為(2)是一種設(shè)計(jì)行為(3)是一種編寫(xiě)文檔的行為(4)具有回歸性2023/7/26705.9.1單元測(cè)試6.單元測(cè)試的范疇(1)行為和期望是否一致(2)行為和期望是否始終一致(3)是否可以依賴單元測(cè)試(4)單元測(cè)試是否說(shuō)明了意圖2023/7/26715.9.2集成測(cè)試

集成測(cè)試過(guò)程

2023/7/26725.9.2集成測(cè)試(2)集成測(cè)試需求獲?、偌晒ぷ靼姹緫?yīng)分析其類協(xié)作與消息序列,從而找出該工作版本的外部接口。②由集成工作版本的外部接口確定集成測(cè)試用例。③測(cè)試用例應(yīng)覆蓋工作版本每一外部接口的所有消息流序列。2023/7/26735.9.2集成測(cè)試(3)集成測(cè)試工作內(nèi)容及其工作流程:

2023/7/26745.9.2集成測(cè)試(4)集成測(cè)試產(chǎn)生的工件清單①軟件集成測(cè)試計(jì)劃②集成測(cè)試用例③測(cè)試過(guò)程④測(cè)試腳本⑤測(cè)試日志⑥測(cè)試評(píng)估摘要

2023/7/26755.9.2集成測(cè)試(5)集成測(cè)試常用方案選型

1.自底向上集成測(cè)試2023/7/26765.9.2集成測(cè)試2.核心系統(tǒng)先行集成測(cè)試步驟一:對(duì)核心系統(tǒng)中的每個(gè)模塊進(jìn)行單獨(dú)的、充分的測(cè)試,必要時(shí)使用驅(qū)動(dòng)模塊和樁模塊;步驟二:對(duì)于核心系統(tǒng)中的所有模塊一次性集合到被測(cè)系統(tǒng)中,解決集成中出現(xiàn)的各類問(wèn)題。在核心系統(tǒng)規(guī)模相對(duì)較大的情況下,也可以按照自底向上的步驟,集成核心系統(tǒng)的各組成模塊。

2023/7/2677

步驟三:按照各外圍軟件部件的重要程度以及模塊間的相互制約關(guān)系,擬定外圍軟件部件集成到核心系統(tǒng)中的順序方案。方案經(jīng)評(píng)審以后,即可進(jìn)行外圍軟件部件的集成。步驟四:在外圍軟件部件添加到核心系統(tǒng)以前,外圍軟件部件應(yīng)先完成內(nèi)部的模塊及集成測(cè)試。步驟五:按順序不斷加入外圍軟件部件,排除外圍軟件部件集成中出現(xiàn)的問(wèn)題,形成最終的用戶系統(tǒng)。5.9.2集成測(cè)試2023/7/26783.高頻集成測(cè)試步驟一:選擇集成測(cè)試自動(dòng)化工具。如很多Java項(xiàng)目采用Junit+Ant方案來(lái)實(shí)現(xiàn)集成測(cè)試的自動(dòng)化,也有一些商業(yè)集成測(cè)試工具可供選擇。步驟二:設(shè)置版本控制工具,以確保集成測(cè)試自動(dòng)化工具所獲得的版本是最新版本。步驟三:測(cè)試人員和開(kāi)發(fā)人員負(fù)責(zé)編寫(xiě)對(duì)應(yīng)程序代碼的測(cè)試腳本。步驟四:設(shè)置自動(dòng)化集成測(cè)試工具,每隔一段時(shí)間對(duì)配置管理庫(kù)的新添加的代碼進(jìn)行自動(dòng)化的集成測(cè)試,并將測(cè)試報(bào)告匯報(bào)給開(kāi)發(fā)人員和測(cè)試人員。步驟五:測(cè)試人員監(jiān)督代碼開(kāi)發(fā)人員及時(shí)關(guān)閉不合格項(xiàng)。5.9.2集成測(cè)試2023/7/26791.確認(rèn)測(cè)試標(biāo)準(zhǔn)

實(shí)現(xiàn)軟件確認(rèn)要通過(guò)一系列黑盒測(cè)試。無(wú)論是計(jì)劃還是過(guò)程,都應(yīng)該著重考慮軟件是否滿足合同規(guī)定的所有功能和性能,文檔資料是否完整、準(zhǔn)確人機(jī)界面和其他方面。確認(rèn)測(cè)試的結(jié)果有兩種可能:一種是功能和性能指標(biāo)滿足軟件需求說(shuō)明的要求,用戶可以接受;另一種是軟件不滿足軟件需求說(shuō)明的要求,用戶無(wú)法接受。5.9.3確認(rèn)測(cè)試2023/7/26805.9.3確認(rèn)測(cè)試2.配置復(fù)審確認(rèn)測(cè)試的另一個(gè)重要環(huán)節(jié)是配置復(fù)審。復(fù)審的目的在于保證軟件配置齊全、分類有序,并且包括軟件維護(hù)所必需的細(xì)節(jié)。2023/7/26815.9.3確認(rèn)測(cè)試3.α、β測(cè)試

α測(cè)試是指軟件開(kāi)發(fā)公司組織內(nèi)部人員模擬各類用戶對(duì)即將面市軟件產(chǎn)品(稱為α版本)進(jìn)行測(cè)試,試圖發(fā)現(xiàn)錯(cuò)誤并修正。α測(cè)試的關(guān)鍵在于盡可能逼真地模擬實(shí)際運(yùn)行環(huán)境和用戶對(duì)軟件產(chǎn)品的操作并盡最大努力涵蓋所有可能的用戶操作方式。經(jīng)過(guò)α測(cè)試調(diào)整的軟件產(chǎn)品稱為β版本。緊隨其后的β測(cè)試是指軟件開(kāi)發(fā)公司組織各方面的典型用戶在日常工作中實(shí)際使用β版本,并要求用戶報(bào)告異常情況、提出批評(píng)意見(jiàn)。然后軟件開(kāi)發(fā)公司再對(duì)β版本進(jìn)行改錯(cuò)和完善。2023/7/26825.9.4系統(tǒng)測(cè)試

系統(tǒng)測(cè)試流程圖

2023/7/26835.9.4系統(tǒng)測(cè)試(1)角色與職責(zé)項(xiàng)目經(jīng)理設(shè)法組建富有成效的系統(tǒng)測(cè)試小組。系統(tǒng)測(cè)試小組的成員主要來(lái)源于:機(jī)構(gòu)獨(dú)立的測(cè)試小組;邀請(qǐng)其它項(xiàng)目的開(kāi)發(fā)人員參與系統(tǒng)測(cè)試;本項(xiàng)目的部分開(kāi)發(fā)人員;機(jī)構(gòu)的質(zhì)量保證人員;(2)啟動(dòng)準(zhǔn)則產(chǎn)品需求和系統(tǒng)設(shè)計(jì)文檔完成之后。(3)輸入產(chǎn)品需求和系統(tǒng)設(shè)計(jì)文檔。2023/7/26845.9.4系統(tǒng)測(cè)試(4)主要步驟步驟一:制定系統(tǒng)測(cè)試計(jì)劃

項(xiàng)目經(jīng)理審批《系統(tǒng)測(cè)試計(jì)劃》。該計(jì)劃被批準(zhǔn)后,轉(zhuǎn)向步驟二。步驟二:設(shè)計(jì)系統(tǒng)測(cè)試用例該測(cè)試用例通過(guò)技術(shù)評(píng)審后,轉(zhuǎn)向步驟三。步驟三:執(zhí)行系統(tǒng)測(cè)試步驟四:缺陷管理與改錯(cuò)從步驟一至步驟三,任何人發(fā)現(xiàn)軟件系統(tǒng)中的缺陷時(shí)都必須使用指定的“缺陷管理工具”。該工具將記錄所有缺陷的狀態(tài)信息,并可以自動(dòng)產(chǎn)生《缺陷管理報(bào)告》。開(kāi)發(fā)人員及時(shí)消除已經(jīng)發(fā)現(xiàn)的缺陷。開(kāi)發(fā)人員消除缺陷之后應(yīng)當(dāng)馬上進(jìn)行回歸測(cè)試,以確保不會(huì)引入新的缺陷。2023/7/26855.9.4系統(tǒng)測(cè)試(5)輸出消除了缺陷的最終軟件系統(tǒng)系統(tǒng)測(cè)試用例系統(tǒng)測(cè)試報(bào)告缺陷管理報(bào)告2023/7/26865.9.4系統(tǒng)測(cè)試(6)結(jié)束準(zhǔn)則對(duì)于非嚴(yán)格系統(tǒng)可以采用“基于測(cè)試用例”的準(zhǔn)則:功能性測(cè)試用例通過(guò)率達(dá)到100%;非功能性測(cè)試用例通過(guò)率達(dá)到80%時(shí)。相鄰n個(gè)CPU每小時(shí)內(nèi)“測(cè)試期缺陷密度”全部低于某個(gè)值m。例如n大于10,m小于等于1;本規(guī)程所有文檔已經(jīng)完成。2023/7/26875.9.4系統(tǒng)測(cè)試(7)度量測(cè)試人員和開(kāi)發(fā)人員統(tǒng)計(jì)測(cè)試和改錯(cuò)的工作量,文檔的規(guī)模,以及缺陷的個(gè)數(shù)與類型,并將此度量數(shù)據(jù)匯報(bào)給項(xiàng)目經(jīng)理。2023/7/26885.9.4系統(tǒng)測(cè)試(8)實(shí)施建議

對(duì)系統(tǒng)測(cè)試人員進(jìn)行必要的培訓(xùn),提高他們的測(cè)試效率。項(xiàng)目經(jīng)理和測(cè)試小組根據(jù)項(xiàng)目的資源、時(shí)間等限制因素,設(shè)法合理地減少測(cè)試的工作量。系統(tǒng)測(cè)試小組根據(jù)產(chǎn)品的特征,可以適當(dāng)?shù)匦薷谋疽?guī)范的各種文檔模板。對(duì)系統(tǒng)測(cè)試過(guò)程中產(chǎn)生的所有代碼和有價(jià)值的文檔進(jìn)行配置管理。為了調(diào)動(dòng)測(cè)試者的積極性,建議企業(yè)或項(xiàng)目設(shè)立獎(jiǎng)勵(lì)機(jī)制.2023/7/26895.9.4系統(tǒng)測(cè)試(9)系統(tǒng)測(cè)試的目標(biāo)確保系統(tǒng)測(cè)試的活動(dòng)是按計(jì)劃進(jìn)行的;驗(yàn)證軟件產(chǎn)品是否與系統(tǒng)需求用例不相符合或與之矛盾;建立完善的系統(tǒng)測(cè)試缺陷記錄跟蹤庫(kù);確保軟件系統(tǒng)測(cè)試活動(dòng)及其結(jié)果及時(shí)通知相關(guān)小組和個(gè)人;2023/7/26905.9.4系統(tǒng)測(cè)試(10)系統(tǒng)測(cè)試的方針為項(xiàng)目指定一個(gè)測(cè)試工程師負(fù)責(zé)貫徹和執(zhí)行系統(tǒng)測(cè)試活動(dòng);測(cè)試組向各事業(yè)部總經(jīng)理/項(xiàng)目經(jīng)理報(bào)告系統(tǒng)測(cè)試的執(zhí)行狀況;系統(tǒng)測(cè)試活動(dòng)遵循文檔化的標(biāo)準(zhǔn)和過(guò)程;向外部用戶提供經(jīng)系統(tǒng)測(cè)試驗(yàn)收通過(guò)的預(yù)部署及技術(shù)支持;建立相應(yīng)項(xiàng)目的(bug)缺陷庫(kù),用于系統(tǒng)測(cè)試階段項(xiàng)目不同生命周期的缺陷記錄和缺陷狀態(tài)跟蹤;定期的對(duì)系統(tǒng)測(cè)試活動(dòng)及結(jié)果進(jìn)行評(píng)估,向各事業(yè)部經(jīng)理/項(xiàng)目辦總監(jiān)/項(xiàng)目經(jīng)理匯報(bào)/提供項(xiàng)目的產(chǎn)品質(zhì)量信息及數(shù)據(jù);2023/7/26915.9.4系統(tǒng)測(cè)試(11)系統(tǒng)測(cè)試的過(guò)程軟件項(xiàng)目立項(xiàng)測(cè)試工程師首先參與前期的需求分析活動(dòng)、前景評(píng)審、業(yè)務(wù)培訓(xùn)、SRS評(píng)審測(cè)試工程師根據(jù)測(cè)試需求定義測(cè)試策略,并進(jìn)行工作量估計(jì)。測(cè)試工程師根據(jù)測(cè)試需求制定測(cè)試策略和方法。測(cè)試組長(zhǎng)周期性地根據(jù)事業(yè)部項(xiàng)目的測(cè)試情況,進(jìn)行總體測(cè)試工作量估計(jì)并進(jìn)行測(cè)試任務(wù)分派。測(cè)試工程師組織《系統(tǒng)測(cè)試計(jì)劃》評(píng)審,測(cè)試組長(zhǎng)根據(jù)評(píng)審意見(jiàn)審批《系統(tǒng)測(cè)試計(jì)劃》。2023/7/2692測(cè)試工程師根據(jù)《系統(tǒng)測(cè)試計(jì)劃》中的測(cè)試環(huán)境要求搭建測(cè)試環(huán)境。測(cè)試工程師檢查測(cè)試設(shè)計(jì)入口條件;測(cè)試用例設(shè)計(jì)。測(cè)試工程師組織《系統(tǒng)測(cè)試用例》評(píng)審。測(cè)試工程師定義系統(tǒng)測(cè)試用例執(zhí)行過(guò)程,并更新《系統(tǒng)測(cè)試用例》。測(cè)試工程師檢查測(cè)試執(zhí)行入口條件執(zhí)行系統(tǒng)測(cè)試并記錄測(cè)試結(jié)果。系統(tǒng)測(cè)試進(jìn)入產(chǎn)品穩(wěn)定期,由測(cè)試工程師召開(kāi)缺陷評(píng)審會(huì)議。

如果根據(jù)系統(tǒng)測(cè)試結(jié)果,產(chǎn)品得以批準(zhǔn)通過(guò)。5.9.4系統(tǒng)測(cè)試2023/7/26935.9.5驗(yàn)收測(cè)試

1.軟件配置審核

對(duì)于一個(gè)外包的軟件項(xiàng)目而言,軟件承包方通常要提供如下相關(guān)的軟件配置內(nèi)容:(1)可執(zhí)行程序、源程序、配置腳本、測(cè)試程序或腳本。(2)主要的開(kāi)發(fā)類文檔:《需求分析說(shuō)明書(shū)》、《概要設(shè)計(jì)說(shuō)明書(shū)》、《詳細(xì)設(shè)計(jì)說(shuō)明書(shū)》、《數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)》、《測(cè)試計(jì)劃》、《測(cè)試報(bào)告》、《程序維護(hù)手冊(cè)》、《程序員開(kāi)發(fā)手冊(cè)》、《用戶操作手冊(cè)》、《項(xiàng)目總結(jié)報(bào)告》。(3)主要的管理類文檔:《項(xiàng)目計(jì)劃書(shū)》、《質(zhì)量控制計(jì)劃》、《配置管理計(jì)劃》、《用戶培訓(xùn)計(jì)劃》、《質(zhì)量總結(jié)報(bào)告》、《評(píng)審報(bào)告》、《會(huì)議記錄》、《開(kāi)發(fā)進(jìn)度月報(bào)》。2023/7/26945.9.5驗(yàn)收測(cè)試2.可執(zhí)行程序的測(cè)試

在真正進(jìn)行用戶驗(yàn)收測(cè)試之前一般應(yīng)該已經(jīng)完成了以下工作(也可以根據(jù)實(shí)際情況有選擇地采用或增加):軟件開(kāi)發(fā)已經(jīng)完成,并全部解決了已知的軟件缺陷。驗(yàn)收測(cè)試計(jì)劃已經(jīng)過(guò)評(píng)審并批準(zhǔn),并且置于文檔控制之下。對(duì)軟件需求說(shuō)明書(shū)的審查已經(jīng)完成。對(duì)概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)的審查已經(jīng)完成。對(duì)所有關(guān)鍵模塊的代碼審查已經(jīng)完成。對(duì)單元、集成、系統(tǒng)測(cè)試計(jì)劃和報(bào)告的審查已經(jīng)完成。所有

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論