軟件測(cè)試規(guī)范概述_第1頁(yè)
軟件測(cè)試規(guī)范概述_第2頁(yè)
軟件測(cè)試規(guī)范概述_第3頁(yè)
軟件測(cè)試規(guī)范概述_第4頁(yè)
軟件測(cè)試規(guī)范概述_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《軟件測(cè)試規(guī)范》(草案)

ComputerSoftwareTestingCriterion一、目的與適用范圍1、目的軟件測(cè)試是軟件工程的重要組成部分,測(cè)試工作的質(zhì)量直接影響軟件產(chǎn)品的生命力。測(cè)試工作的標(biāo)準(zhǔn)化是軟件質(zhì)量保證(QualityAssurance)重要而且必須的環(huán)節(jié)。制定本標(biāo)準(zhǔn)的目的在于使測(cè)試流程更標(biāo)準(zhǔn),測(cè)試過(guò)程更規(guī)范。從而使整個(gè)軟件生產(chǎn)納入更系統(tǒng)化、更專(zhuān)業(yè)化的軌道。2、適用范圍本標(biāo)準(zhǔn)適用于軟件測(cè)試流程的管理和測(cè)試的具體操作過(guò)程。本標(biāo)準(zhǔn)的使用者可以是企業(yè)內(nèi)部的測(cè)試人員和開(kāi)發(fā)人員。二、測(cè)試方法軟件測(cè)試的方法和技術(shù)是多種多樣的。以下將介紹比較常用的一些測(cè)試方法:1、靜態(tài)測(cè)試靜態(tài)方法是指不運(yùn)行被測(cè)程序本身,僅通過(guò)分析或檢查源程序的文法、結(jié)構(gòu)、過(guò)程、接口等來(lái)檢查程序的正確性。靜態(tài)方法通過(guò)程序靜態(tài)特性的分析,找出欠缺和可疑之處,例如不匹配的參數(shù)、不適當(dāng)?shù)难h(huán)嵌套和分支嵌套、不允許的遞歸、未使用過(guò)的變量、空指針的引用和可疑的計(jì)算等。靜態(tài)測(cè)試結(jié)果可用于進(jìn)一步的查錯(cuò),并為測(cè)試用例選取提供指導(dǎo)。2、動(dòng)態(tài)測(cè)試動(dòng)態(tài)方法是指通過(guò)運(yùn)行被測(cè)程序,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,并分析運(yùn)行效率和健壯性等性能,這種方法由三部分組成:構(gòu)造測(cè)試實(shí)例、執(zhí)行程序、分析程序的輸出結(jié)果。3、黑盒測(cè)試黑盒測(cè)試也稱(chēng)功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試,它是在已知產(chǎn)品所應(yīng)具有的功能,通過(guò)測(cè)試來(lái)檢測(cè)每個(gè)功能是否都能正常使用,在測(cè)試時(shí),把程序看作一個(gè)不能打開(kāi)的黑盆子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測(cè)試者在程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說(shuō)明書(shū)的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫(kù)或文件)的完整性。黑盒測(cè)試方法主要有等價(jià)類(lèi)劃分、邊值分析、因—果圖、錯(cuò)誤推測(cè)等,主要用于軟件確認(rèn)測(cè)試?!昂诤小狈ㄖ塾诔绦蛲獠拷Y(jié)構(gòu)、不考慮內(nèi)部邏輯結(jié)構(gòu)、針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試?!昂诤小狈ㄊ歉F舉輸入測(cè)試,只有把所有可能的輸入都作為測(cè)試情況使用,才能以這種方法查出程序中所有的錯(cuò)誤。實(shí)際上測(cè)試情況有無(wú)窮多個(gè),人們不僅要測(cè)試所有合法的輸入,而且還要對(duì)那些不合法但是可能的輸入進(jìn)行測(cè)試。4、白盒測(cè)試白盒測(cè)試也稱(chēng)結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,它是知道產(chǎn)品內(nèi)部工作過(guò)程,可通過(guò)測(cè)試來(lái)檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說(shuō)明書(shū)的規(guī)定正常進(jìn)行,按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,檢驗(yàn)而不顧它的功能,白盒測(cè)試的主要方法程序中的每條通路是否都有能按預(yù)定要求正確工作,有邏輯驅(qū)動(dòng)、基路測(cè)試等,主要用于軟件驗(yàn)證。而不顧它的功能,白盒測(cè)試的主要方法“白盒”法全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測(cè)試。 “白盒”法是窮舉路徑測(cè)試。在使用這一方案時(shí),測(cè)試者必須檢查程序的內(nèi)部結(jié)構(gòu), 從檢查程序的邏輯著手,得出測(cè)試數(shù)據(jù)。貫穿程序的獨(dú)立路徑數(shù)是天文數(shù)字。但即使每條路徑都測(cè)試了仍然可能有錯(cuò)誤。第一,窮舉路徑測(cè)試決不能查出程序違反了設(shè)計(jì)規(guī)范,即程序本身是個(gè)錯(cuò)誤的程序。第二,窮舉路徑測(cè)試不可能查出程序中因遺漏路徑而出錯(cuò)。第三,窮舉路徑測(cè)試可能發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯(cuò)誤。5、 ALAC(Act-like-a-customer)測(cè)試ALAC測(cè)試是一種基于客戶(hù)使用產(chǎn)品的知識(shí)開(kāi)發(fā)出來(lái)的測(cè)試方法。ALAC測(cè)試是基于復(fù)雜的軟件產(chǎn)品有許多錯(cuò)誤的原則。最大的受益者是用戶(hù),缺陷查找和改正將針對(duì)哪些客戶(hù)最容易遇到的錯(cuò)誤。6、 單元測(cè)試方法單元測(cè)試任務(wù)單元測(cè)試任務(wù)包括:u模塊接口測(cè)試;u模塊局部數(shù)據(jù)結(jié)構(gòu)測(cè)試;u模塊邊界條件測(cè)試;u模塊中所有獨(dú)立執(zhí)行通路測(cè)試;u模塊的各條錯(cuò)誤處理通路測(cè)試。模塊接口測(cè)試是單元測(cè)試的基礎(chǔ)。只有在數(shù)據(jù)能正確流入、流出模塊的前提下,其他測(cè)試才有意義。接口測(cè)試測(cè)試接口正確與否應(yīng)該考慮下列因素:u輸入的實(shí)際參數(shù)與形式參數(shù)的個(gè)數(shù)是否相同;u輸入的實(shí)際參數(shù)與形式參數(shù)的屬性是否匹配;u輸入的實(shí)際參數(shù)與形式參數(shù)的量綱是否一致;u調(diào)用其他模塊時(shí)所給實(shí)際參數(shù)的個(gè)數(shù)是否與被調(diào)模塊的形參個(gè)數(shù)相同;u調(diào)用其他模塊時(shí)所給實(shí)際參數(shù)的屬性是否與被調(diào)模塊的形參屬性匹配;u調(diào)用其他模塊時(shí)所給實(shí)際參數(shù)的量綱是否與被調(diào)模塊的形參量綱一致;u調(diào)用預(yù)定義函數(shù)時(shí)所用參數(shù)的個(gè)數(shù)、屬性和次序是否正確;u是否存在與當(dāng)前入口點(diǎn)無(wú)關(guān)的參數(shù)引用;u是否修改了只讀型參數(shù);u對(duì)全程變量的定義各模塊是否一致;u是否把某些約束作為參數(shù)傳遞。如果模塊內(nèi)包括外部輸入輸出,還應(yīng)該考慮下列因素:u文件屬性是否正確;uOPEN/CLOSE語(yǔ)句是否正確;u格式說(shuō)明與輸入輸出語(yǔ)句是否匹配;u緩沖區(qū)大小與記錄長(zhǎng)度是否匹配;u文件使用前是否已經(jīng)打開(kāi);u是否處理了文件尾;u是否處理了輸入/輸出錯(cuò)誤;u輸出信息中是否有文字性錯(cuò)誤;6.3數(shù)據(jù)測(cè)試檢查局部數(shù)據(jù)結(jié)構(gòu)是為了保證臨時(shí)存儲(chǔ)在模塊內(nèi)的數(shù)據(jù)在程序執(zhí)行過(guò)程中完整、正確。局部數(shù)據(jù)結(jié)構(gòu)往往是錯(cuò)誤的根源,應(yīng)仔細(xì)設(shè)計(jì)測(cè)試用例,力求發(fā)現(xiàn)下面幾類(lèi)錯(cuò)誤:u不合適或不相容的類(lèi)型說(shuō)明;u變量無(wú)初值;u變量初始化或省缺值有錯(cuò);u不正確的變量名(拼錯(cuò)或不正確地截?cái)啵籾出現(xiàn)上溢、下溢和地址異常。除了局部數(shù)據(jù)結(jié)構(gòu)外,如果可能,單元測(cè)試時(shí)還應(yīng)該查清全局?jǐn)?shù)據(jù)(例如FORTRAN的公用區(qū))對(duì)模塊的影響。6.4控制流測(cè)試在模塊中應(yīng)對(duì)每一條獨(dú)立執(zhí)行路徑進(jìn)行測(cè)試,單元測(cè)試的基本任務(wù)是保證模塊中每條語(yǔ)句至少執(zhí)行一次。此時(shí)設(shè)計(jì)測(cè)試用例是為了發(fā)現(xiàn)因錯(cuò)誤計(jì)算、不正確的比較和不適當(dāng)?shù)目刂屏髟斐傻腻e(cuò)誤。此時(shí)基本路徑測(cè)試和循環(huán)測(cè)試是最常用且最有效的測(cè)試技術(shù)。計(jì)算中常見(jiàn)的錯(cuò)誤包括:u誤解或用錯(cuò)了算符優(yōu)先級(jí);u混合類(lèi)型運(yùn)算;u變量初值錯(cuò);u精度不夠;u表達(dá)式符號(hào)錯(cuò)。比較判斷與控制流常常緊密相關(guān),測(cè)試用例還應(yīng)致力于發(fā)現(xiàn)下列錯(cuò)誤:u不同數(shù)據(jù)類(lèi)型的對(duì)象之間進(jìn)行比較;u錯(cuò)誤地使用邏輯運(yùn)算符或優(yōu)先級(jí);u因計(jì)算機(jī)表示的局限性,期望理論上相等而實(shí)際上不相等的兩個(gè)量相等;u比較運(yùn)算或變量出錯(cuò);u循環(huán)終止條件或不可能出現(xiàn);u迭代發(fā)散時(shí)不能退出;u錯(cuò)誤地修改了循環(huán)變量。6.5出錯(cuò)處理測(cè)試一個(gè)好的設(shè)計(jì)應(yīng)能預(yù)見(jiàn)各種出錯(cuò)條件,并預(yù)設(shè)各種出錯(cuò)處理通路,出錯(cuò)處理通路同樣需要認(rèn)真測(cè)試,測(cè)試應(yīng)著重檢查下列問(wèn)題:u輸出的出錯(cuò)信息難以理解;u記錄的錯(cuò)誤與實(shí)際遇到的錯(cuò)誤不相符;u在程序自定義的出錯(cuò)處理段運(yùn)行之前,系統(tǒng)已介入;u異常處理不當(dāng);u錯(cuò)誤陳述中未能提供足夠的定位出錯(cuò)信息。6.6邊界條件測(cè)試邊界條件測(cè)試是單元測(cè)試中最后,也是最重要的一項(xiàng)任務(wù)。眾的周知,軟件經(jīng)常在邊界上失效,采用邊界值分析技術(shù),針對(duì)邊界值及其左、右設(shè)計(jì)測(cè)試用例,很有可能發(fā)現(xiàn)新的錯(cuò)誤。7、集成測(cè)試的基本方法某設(shè)計(jì)人員習(xí)慣于把所有模塊按設(shè)計(jì)要求一次全部組裝起來(lái),然后進(jìn)行整體測(cè)試,這稱(chēng)為非增量式集成。這種方法容易出現(xiàn)混亂。因?yàn)闇y(cè)試時(shí)可能發(fā)現(xiàn)一大堆錯(cuò)誤,為每個(gè)錯(cuò)誤定位和糾正非常困難,并且在改正一個(gè)錯(cuò)誤的同時(shí)又可能引入新的錯(cuò)誤,新舊錯(cuò)誤混雜,更難斷定出錯(cuò)的原因和位置。與之相反的是增量式集成方法,程序一段一段地?cái)U(kuò)展,測(cè)試的范圍一步一步地增大,錯(cuò)誤易于定位和糾正,界面的測(cè)試亦可做到完全徹底。下面討論兩種增量式集成方法。7.1自頂向下集成自頂向下集成是構(gòu)造程序結(jié)構(gòu)的一種增量式方式,它從主控模塊開(kāi)始,按照軟件的控制層次結(jié)構(gòu),以深度優(yōu)先或廣度優(yōu)先的策略,逐步把各個(gè)模塊集成在一起。深度優(yōu)先策略首先是把主控制路徑上的模塊集成在一起,至于選擇哪一條路徑作為主控制路徑,這多少帶有隨意性,一般根據(jù)問(wèn)題的特性確定。自頂向下集成測(cè)試的具體步驟為:u以主控模塊作為測(cè)試驅(qū)動(dòng)模塊,把對(duì)主控模塊進(jìn)行單元測(cè)試時(shí)引入的所有樁模塊用實(shí)際模塊替代;u依據(jù)所選的集成策略(深度優(yōu)先或廣度優(yōu)先),每次只替代一個(gè)樁模塊;u每集成一個(gè)模塊立即測(cè)試一遍;u只有每組測(cè)試完成后,才著手替換下一個(gè)樁模塊;u為避免引入新錯(cuò)誤,須不斷地進(jìn)行回歸測(cè)試(即全部或部分地重復(fù)已做過(guò)的測(cè)試);u從第二步開(kāi)始,循環(huán)執(zhí)行上述步驟,直至整個(gè)程序結(jié)構(gòu)構(gòu)造完畢。自頂向下集成的優(yōu)點(diǎn)在于能盡早地對(duì)程序的主要控制和決策機(jī)制進(jìn)行檢驗(yàn), 因此較早地發(fā)現(xiàn)錯(cuò)誤。缺點(diǎn)是在測(cè)試較高層模塊時(shí),低層處理采用樁模塊替代,不能反映真實(shí)情況,重要數(shù)據(jù)不能及時(shí)回送到上層模塊,因此測(cè)試并不充分。解決這個(gè)問(wèn)題有幾種辦法,第一種是把某些測(cè)試推遲到用真實(shí)模塊替代樁模塊之后進(jìn)行,第二種是開(kāi)發(fā)能模擬真實(shí)模塊的樁模塊;第三種是自底向上集成模塊。第一種方法又回退為非增量式的集成方法,使錯(cuò)誤難于定位和糾正,并且失去了在組裝模塊時(shí)進(jìn)行一些特定測(cè)試的可能性;第二種方法無(wú)疑要大大增加開(kāi)銷(xiāo);第三種方法比較切實(shí)可行。7.2自底向上集成自底向上測(cè)試是從“原子”模塊(即軟件結(jié)構(gòu)最低層的模塊)開(kāi)始組裝測(cè)試,因測(cè)試到較高層模塊時(shí),所需的下層模塊功能均已具備,所以不再需要樁模塊。自底向上綜合測(cè)試的步驟分為:u把低層模塊組織成實(shí)現(xiàn)某個(gè)子功能的模塊群( cluster);u開(kāi)發(fā)一個(gè)測(cè)試驅(qū)動(dòng)模塊,控制測(cè)試數(shù)據(jù)的輸入和測(cè)試結(jié)果的輸出;u對(duì)每個(gè)模塊群進(jìn)行測(cè)試;u刪除測(cè)試使用的驅(qū)動(dòng)模塊,用較高層模塊把模塊群組織成為完成更大功能的新模塊群;u從第一步開(kāi)始循環(huán)執(zhí)行上述各步驟,直至整個(gè)程序構(gòu)造完畢。自底向上集成方法不用樁模塊,測(cè)試用例的設(shè)計(jì)亦相對(duì)簡(jiǎn)單,但缺點(diǎn)是程序最后一個(gè)模塊加入時(shí)才具有整體形象。它與自頂向綜合測(cè)試方法優(yōu)缺點(diǎn)正好相反。因此,在測(cè)試軟件系統(tǒng)時(shí),應(yīng)根據(jù)軟件的特點(diǎn)和工程的進(jìn)度,選用適當(dāng)?shù)臏y(cè)試策略,有時(shí)混和使用兩種策略更為有效,上層模塊用自頂向下的方法,下層模塊用自底向上的方法。此外,在集成測(cè)試中尤其要注意關(guān)鍵模塊,所謂關(guān)鍵模塊一般都具有下述一或多個(gè)特征:①對(duì)應(yīng)幾條需求;②具有高層控制功能;③復(fù)雜、易出錯(cuò);④有特殊的性能要求。關(guān)鍵模塊應(yīng)盡早測(cè)試,并反復(fù)進(jìn)行回歸測(cè)試。8、 確認(rèn)測(cè)試的基本方法8.1確認(rèn)測(cè)試標(biāo)準(zhǔn)實(shí)現(xiàn)軟件確認(rèn)要通過(guò)一系列黑盒測(cè)試。確認(rèn)測(cè)試同樣需要制訂測(cè)試計(jì)劃和過(guò)程,測(cè)試計(jì)劃應(yīng)規(guī)定測(cè)試的種類(lèi)和測(cè)試進(jìn)度,測(cè)試過(guò)程則定義一些特殊的測(cè)試用例,旨在說(shuō)明軟件與需求是否一致。無(wú)論是計(jì)劃還是過(guò)程,都應(yīng)該著重考慮軟件是否滿(mǎn)足合同規(guī)定的所有功能和性能,文檔資料是否完整、準(zhǔn)確,人機(jī)界面和其他方面(例如,可移植性、兼容性、錯(cuò)誤恢復(fù)能力和可維護(hù)性等)是否令用戶(hù)滿(mǎn)意。確認(rèn)測(cè)試的結(jié)果有兩種可能,一種是功能和性能指標(biāo)滿(mǎn)足軟件需求說(shuō)明的要求,用戶(hù)可以接受;另一種是軟件不滿(mǎn)足軟件需求說(shuō)明的要求,用戶(hù)無(wú)法接受。項(xiàng)目進(jìn)行到這個(gè)階段才發(fā)現(xiàn)嚴(yán)重錯(cuò)誤和偏差一般很難在預(yù)定的工期內(nèi)改正,因此必須與用戶(hù)協(xié)商,尋求一個(gè)妥善解決問(wèn)題的方法。8.2配置復(fù)審確認(rèn)測(cè)試的另一個(gè)重要環(huán)節(jié)是配置復(fù)審。復(fù)審的目的在于保證軟件配置齊全、分類(lèi)有序,并且包括軟件維護(hù)所必須的細(xì)節(jié)。8?3aB測(cè)試事實(shí)上,軟件開(kāi)發(fā)人員不可能完全預(yù)見(jiàn)用戶(hù)實(shí)際使用程序的情況。例如,用戶(hù)可能錯(cuò)誤的理解命令,或提供一些奇怪的數(shù)據(jù)組合,亦可能對(duì)設(shè)計(jì)者自認(rèn)明了的輸出信息迷惑不解,等等。因此,軟件是否真正滿(mǎn)足最終用戶(hù)的要求,應(yīng)由用戶(hù)進(jìn)行一系列“驗(yàn)收測(cè)試”。驗(yàn)收測(cè)試既可以是非正式的測(cè)試,也可以有計(jì)劃、有系統(tǒng)的測(cè)試。有時(shí),驗(yàn)收測(cè)試長(zhǎng)達(dá)數(shù)周甚至數(shù)月,不斷暴露錯(cuò)誤,導(dǎo)致開(kāi)發(fā)延期。一個(gè)軟件產(chǎn)品,可能擁有眾多用戶(hù),不可能由每個(gè)用戶(hù)驗(yàn)收,此時(shí)多采用稱(chēng)為aB測(cè)試的過(guò)程,以期發(fā)現(xiàn)那些似乎只有最終用戶(hù)才能發(fā)現(xiàn)的問(wèn)題。a測(cè)試是指軟件開(kāi)發(fā)公司組織內(nèi)部人員模擬各類(lèi)用戶(hù)行對(duì)即將面市軟件產(chǎn)品(稱(chēng)為a版本)進(jìn)行測(cè)試,試圖發(fā)現(xiàn)錯(cuò)誤并修正。 a測(cè)試的關(guān)鍵在于盡可能逼真地模擬實(shí)際運(yùn)行環(huán)境和用戶(hù)對(duì)軟件產(chǎn)品的操作并盡最大努力涵蓋所有可能的 用戶(hù)操作方式。經(jīng)過(guò)a測(cè)試調(diào)整的軟件產(chǎn)品稱(chēng)為B版本。緊隨其后的B測(cè)試是指軟件開(kāi)發(fā)公司組織各方面的典型用戶(hù)在日常工作中實(shí)際使用B版本,并要求用戶(hù)報(bào)告異常情況、提出批評(píng)意見(jiàn)。然后軟件開(kāi)發(fā)公司再對(duì)B版本進(jìn)行改錯(cuò)和完善。9、 系統(tǒng)測(cè)試的基本方法9?1恢復(fù)測(cè)試恢復(fù)測(cè)試主要檢查系統(tǒng)的容錯(cuò)能力。當(dāng)系統(tǒng)出錯(cuò)時(shí),能否在指定時(shí)間間隔內(nèi)修正錯(cuò)誤并重新啟動(dòng)系統(tǒng)?;謴?fù)測(cè)試首先要采用各種辦法強(qiáng)迫系統(tǒng)失敗,然后驗(yàn)證系統(tǒng)是否能盡快恢復(fù)。對(duì)于自動(dòng)恢復(fù)需驗(yàn)證重新初始化(reinitialization)、檢查點(diǎn)(checkpointingmechanisms)、數(shù)據(jù)恢復(fù)(datarecovery)和重新啟動(dòng)(restart)等機(jī)制的正確性;對(duì)于人工干預(yù)的恢復(fù)系統(tǒng),還需估測(cè)平均修復(fù)時(shí)間,確定其是否在可接受的范圍內(nèi)。9.2安全測(cè)試安全測(cè)試檢查系統(tǒng)對(duì)非法侵入的防范能力。安全測(cè)試期間,測(cè)試人員假扮非法入侵者,采用各種辦法試圖突破防線(xiàn)。 例如,①想方設(shè)法截取或破譯口令;②專(zhuān)門(mén)定做軟件破壞系統(tǒng)的保護(hù)機(jī)制;③故意導(dǎo)致系統(tǒng)失敗,企圖趁恢復(fù)之機(jī)非法進(jìn)入;④試圖通過(guò)瀏覽非保密數(shù)據(jù),推導(dǎo)所需信息,等等。理論上講,只要有足夠的時(shí)間和資源,沒(méi)有不可進(jìn)入的系統(tǒng)。因此系統(tǒng)安全設(shè)計(jì)的準(zhǔn)則是,使非法侵入的代價(jià)超過(guò)被保護(hù)信息的價(jià)值。此時(shí)非法侵入者已無(wú)利可圖。9.3強(qiáng)度測(cè)試強(qiáng)度測(cè)試檢查程序?qū)Ξ惓G闆r的抵抗能力。強(qiáng)度測(cè)試總是迫使系統(tǒng)在異常的資源配置下運(yùn)行。例如,①當(dāng)中斷的正常頻率為每秒一至兩個(gè)時(shí),運(yùn)行每秒產(chǎn)生十個(gè)中斷的測(cè)試用例;②定量地增長(zhǎng)數(shù)據(jù)輸入率,檢查輸入子功能的反映能力;③運(yùn)行需要最大存儲(chǔ)空間(或其他資源)的測(cè)試用例;④運(yùn)行可能導(dǎo)致虛存操作系統(tǒng)崩潰或磁盤(pán)數(shù)據(jù)劇烈抖動(dòng)的測(cè)試用例,9.4性能測(cè)試對(duì)于那些實(shí)時(shí)和嵌入式系統(tǒng),軟件部分即使?jié)M足功能要求,也未必能夠滿(mǎn)足性能要求,雖然從單元測(cè)試起,每一測(cè)試步驟都包含性能測(cè)試,但只有當(dāng)系統(tǒng)真正集成之后,在真實(shí)環(huán)境中才能全面、可靠地測(cè)試運(yùn)行性能系統(tǒng)性能測(cè)試是為了完成這一任務(wù)。性能測(cè)試有時(shí)與強(qiáng)度測(cè)試相結(jié)合,經(jīng)常需要其他軟硬件的配套支持。10、回歸測(cè)試方法回歸測(cè)試的價(jià)值在于它是一個(gè)能夠檢測(cè)到回歸錯(cuò)誤的受控實(shí)驗(yàn)。 當(dāng)測(cè)試組選擇縮減的回歸測(cè)試時(shí),有可能刪除了將揭示回歸錯(cuò)誤的測(cè)試用例,消除了發(fā)現(xiàn)回歸錯(cuò)誤的機(jī)會(huì)。然而,如果采用了代碼相依性分析等安全的縮減技術(shù),就可以決定哪些測(cè)試用例可以被刪除而不會(huì)讓回歸測(cè)試的意圖遭到破壞。選擇回歸測(cè)試策略應(yīng)該兼顧效率和有效性?xún)蓚€(gè)方面。常用的選擇回歸測(cè)試的方式包括:再測(cè)試全部用例:選擇基線(xiàn)測(cè)試用例庫(kù)中的全部測(cè)試用例組成回歸測(cè)試包, 這是一種比較安全的方法,再測(cè)試全部用例具有最低的遺漏回歸錯(cuò)誤的風(fēng)險(xiǎn),但測(cè)試成本最高。全部再測(cè)試幾乎可以應(yīng)用到任何情況下,基本上不需要進(jìn)行分析和重新開(kāi)發(fā),但是,隨著開(kāi)發(fā)工作的進(jìn)展,測(cè)試用例不斷增多,重復(fù)原先所有的測(cè)試將帶來(lái)很大的工作量,往往超出了我們的預(yù)算和進(jìn)度?;陲L(fēng)險(xiǎn)選擇測(cè)試:可以基于一定的風(fēng)險(xiǎn)標(biāo)準(zhǔn)來(lái)從基線(xiàn)測(cè)試用例庫(kù)中選擇回歸測(cè)試包。 首先運(yùn)行最重要的、關(guān)鍵的和可疑的測(cè)試,而跳過(guò)那些非關(guān)鍵的、優(yōu)先級(jí)別低的或者高穩(wěn)定的測(cè)試用例,這些用例即便可能測(cè)試到缺陷,這些缺陷的嚴(yán)重性也僅有三級(jí)或四級(jí)。一般而言,測(cè)試從主要特征到次要特征10.3基于操作剖面選擇測(cè)試:如果基線(xiàn)測(cè)試用例庫(kù)的測(cè)試用例是基于軟件操作剖面開(kāi)發(fā)的,測(cè)試用例的分布情況反映了系統(tǒng)的實(shí)際使用情況?;貧w測(cè)試所使用的測(cè)試用例個(gè)數(shù)可以由測(cè)試預(yù)算確定,回歸測(cè)試可以?xún)?yōu)先選擇那些針對(duì)最重要或最頻繁使用功能的測(cè)試用例,釋放和緩解最高級(jí)別的風(fēng)險(xiǎn),有助于盡早發(fā)現(xiàn)那些對(duì)可靠性有最大影響的故障。這種方法可以在一個(gè)給定的預(yù)算下最有效的提高系統(tǒng)可靠性,但實(shí)施起來(lái)有一定的難度。10.4再測(cè)試修改的部分:當(dāng)測(cè)試者對(duì)修改的局部化有足夠的信心時(shí),可以通過(guò)相依性分析識(shí)別軟件的修改情況并分析修改的影響,將回歸測(cè)試局限于被改變的模塊和它的接口上。 通常,一個(gè)回歸錯(cuò)誤一定涉及一個(gè)新的、修改的或刪除的代碼段。在允許的條件下,回歸測(cè)試盡可能覆蓋受到影響的部分。再測(cè)試全部用例的策略是最安全的策略,但已經(jīng)運(yùn)行過(guò)許多次的回歸測(cè)試不太可能揭示新的錯(cuò)誤,而且很多時(shí)候,由于時(shí)間、人員、設(shè)備和經(jīng)費(fèi)的原因,不允許選擇再測(cè)試全部用例的回歸測(cè)試策略,此時(shí),可以選擇適當(dāng)?shù)牟呗赃M(jìn)行縮減的回歸測(cè)試。三、測(cè)試階段的劃分根據(jù)開(kāi)發(fā)過(guò)程和實(shí)際需求將測(cè)試階段劃分為:設(shè)計(jì)階段、代碼檢測(cè)單元測(cè)試階段、集成測(cè)試階段、系統(tǒng)測(cè)試階段、驗(yàn)收測(cè)試階段、回歸測(cè)試(復(fù)測(cè))階段。各階段中使用的測(cè)試方法詳見(jiàn)本規(guī)范的測(cè)試方法。1、設(shè)計(jì)階段核心工作是對(duì)軟件產(chǎn)品功能說(shuō)明書(shū)進(jìn)行檢查,軟件產(chǎn)品功能說(shuō)明書(shū)是對(duì)軟件產(chǎn)品最終需要實(shí)現(xiàn)的功能的描述。編寫(xiě)軟件測(cè)試計(jì)劃。2、單元測(cè)試階段單元測(cè)試完成對(duì)軟件最小的結(jié)構(gòu)的測(cè)試,一般用來(lái)驗(yàn)證模塊的功能屬性,它利用設(shè)計(jì)文檔作為指導(dǎo),主要使用白盒測(cè)試技術(shù);但也可以測(cè)試其它項(xiàng)目,如性能、可用性等等,可使用“黑盒”或“白盒”方法進(jìn)行。在單元測(cè)試中,檢查出模塊內(nèi)部的錯(cuò)誤是單元測(cè)試的主要工作。該階段的測(cè)試工作,由編程組內(nèi)部人員進(jìn)行交叉測(cè)試(避免編程人員測(cè)試自己的程序)。單元測(cè)試過(guò)程:一般認(rèn)為單元測(cè)試應(yīng)緊接在編碼之后,當(dāng)源程序編制完成并通過(guò)復(fù)審和編譯檢查,便可開(kāi)始單元測(cè)試。測(cè)試用例的設(shè)計(jì)應(yīng)與復(fù)審工作相結(jié)合,根據(jù)設(shè)計(jì)信息選取測(cè)試數(shù)據(jù),將增大發(fā)現(xiàn)上述各類(lèi)錯(cuò)誤的可能性。在確定測(cè)試用例的同時(shí),應(yīng)給出期望結(jié)果。提高模塊的內(nèi)聚度可簡(jiǎn)化單元測(cè)試,如果每個(gè)模塊只能完成一個(gè),所需測(cè)試用例數(shù)目將顯著減少,模塊中的錯(cuò)誤也更容易發(fā)現(xiàn)。3、集成測(cè)試階段時(shí)常有這樣的情況發(fā)生,每個(gè)模塊都能單獨(dú)工作,但這些模塊集成在一起之后卻不能正常工作。主要原因是,模塊相互調(diào)用時(shí)接口會(huì)引入許多新問(wèn)題。例如,數(shù)據(jù)經(jīng)過(guò)接口可能丟失;一個(gè)模塊對(duì)另一模塊可能造成不應(yīng)有的影響;幾個(gè)子功能組合起來(lái)不能實(shí)現(xiàn)主功能;誤差不斷積累達(dá)到不可接受的程度;全局?jǐn)?shù)據(jù)結(jié)構(gòu)出現(xiàn)錯(cuò)誤,等等。集成測(cè)試是組裝軟件的系統(tǒng)測(cè)試技術(shù),按設(shè)計(jì)要求把通過(guò)單元測(cè)試的各個(gè)模塊組裝在一起之后,進(jìn)行集成測(cè)試以便發(fā)現(xiàn)與接口有關(guān)的各種錯(cuò)誤。4、確認(rèn)測(cè)試階段確認(rèn)測(cè)試的目的是向未來(lái)的用戶(hù)表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測(cè)試后,已經(jīng)按照設(shè)計(jì)把所有的模塊組裝成一個(gè)完整的軟件系統(tǒng),接口錯(cuò)誤也已經(jīng)基本排除了,接著就應(yīng)該進(jìn)一步驗(yàn)證軟件的有效性,這就是確認(rèn)測(cè)試的任務(wù),即軟件的功能和性能如同用戶(hù)所合理期待的那樣。5、系統(tǒng)測(cè)試階段計(jì)算機(jī)軟件是基于計(jì)算機(jī)系統(tǒng)的一個(gè)重要組成部分,軟件開(kāi)發(fā)完畢后應(yīng)與系統(tǒng)中其它成分集成在一起,此時(shí)需要進(jìn)行一系列系統(tǒng)測(cè)試。包括恢復(fù)測(cè)試、安全測(cè)試、強(qiáng)度測(cè)試和性能測(cè)試等。在系統(tǒng)測(cè)試之前,軟件工程師應(yīng)完成下列工作:(1) 為測(cè)試軟件系統(tǒng)的輸入信息設(shè)計(jì)出錯(cuò)處理通路;(2) 設(shè)計(jì)測(cè)試用例,模擬錯(cuò)誤數(shù)據(jù)和軟件界面可能發(fā)生的錯(cuò)誤,記錄測(cè)試結(jié)果,為系統(tǒng)測(cè)試提供經(jīng)驗(yàn)和幫助;(3) 參與系統(tǒng)測(cè)試的規(guī)劃和設(shè)計(jì),保證軟件測(cè)試的合理性。系統(tǒng)測(cè)試應(yīng)該由若干個(gè)不同測(cè)試組成,目的是充分運(yùn)行系統(tǒng),驗(yàn)證系統(tǒng)各部件是否都能工作并完成所賦予的任務(wù)。6、回歸測(cè)試(復(fù)測(cè))階段回歸測(cè)試就是漏洞修復(fù)完成后再對(duì)軟件進(jìn)行測(cè)試,以確保軟件沒(méi)有產(chǎn)生“回歸”或因修復(fù)而變得更糟,這種測(cè)試一般要重新運(yùn)行最初發(fā)現(xiàn)問(wèn)題的原始測(cè)試程序。有關(guān)回歸測(cè)試有兩個(gè)焦點(diǎn):有沒(méi)有產(chǎn)生新的漏洞,修復(fù)是否確實(shí)使缺陷消除?;貧w測(cè)試的過(guò)程:有了測(cè)試用例庫(kù)的維護(hù)方法和回歸測(cè)試包的選擇策略,回歸測(cè)試可遵循下述過(guò)程進(jìn)行:u識(shí)別出軟件中被修改的部分u從原基線(xiàn)測(cè)試用例庫(kù)中排除所有不再適用的測(cè)試用例,確定那些對(duì)新的軟件版本依然有效的測(cè)試用例u如果必要,生成新的測(cè)試用例集,用于測(cè)試原來(lái)測(cè)試用例集無(wú)法充分測(cè)試的部分u依據(jù)一定的策略選擇測(cè)試用例測(cè)試被修改的軟件。u進(jìn)行測(cè)試,并記錄測(cè)試結(jié)果到測(cè)試報(bào)告u分析測(cè)試報(bào)告u修正和測(cè)試工作u完成測(cè)試產(chǎn)品提交配置四、測(cè)試類(lèi)型的劃分

1、功能測(cè)試:對(duì)軟件功能進(jìn)行的測(cè)試,主要檢查軟件功能是否實(shí)現(xiàn)了軟件功能說(shuō)明書(shū)(軟件需求)上的功能要求。2、界面測(cè)試:對(duì)軟件的用戶(hù)界面進(jìn)行的測(cè)試,主要檢查用戶(hù)界面的美觀度、統(tǒng)一性、易用性等方面的內(nèi)容。3、數(shù)據(jù)處理測(cè)試:對(duì)軟件數(shù)據(jù)接口進(jìn)行的測(cè)試,主要檢查軟件數(shù)據(jù)處理中輸入、處理、輸出數(shù)據(jù)過(guò)程。4、流程測(cè)試:按操作流程進(jìn)行的測(cè)試,主要有業(yè)務(wù)流程、數(shù)據(jù)流程、邏輯流程、正反流程,檢查軟件在按流程操作時(shí)是否能夠正確處理。5、極限測(cè)試:在軟件的極限條件下進(jìn)行的測(cè)試,主要有對(duì)數(shù)據(jù)的極限值、邊界值操作,對(duì)軟件進(jìn)行致命操作等。6、并發(fā)測(cè)試:在網(wǎng)絡(luò)環(huán)境、并發(fā)環(huán)境、多用戶(hù)條件下對(duì)軟件進(jìn)行的測(cè)試。7、安全測(cè)試:對(duì)軟件安全性方面的測(cè)試,主要檢測(cè)軟件中加密、解密、數(shù)據(jù)備份、恢復(fù)、病毒檢測(cè)等問(wèn)題。8、性能測(cè)試:對(duì)軟件整體性能的測(cè)試,測(cè)試內(nèi)容有適應(yīng)性、健壯性、可恢復(fù)性、災(zāi)難恢復(fù)能力等9、安裝測(cè)試:在不同PC條件、操作系統(tǒng)、模擬客戶(hù)機(jī)等條件下進(jìn)行軟件的安裝測(cè)試,主要檢查軟件打包或發(fā)布之后存在的問(wèn)題。測(cè)試模式測(cè)試模式V型模型,實(shí)現(xiàn)測(cè)試與軟件開(kāi)發(fā)的同步進(jìn)行。六、測(cè)試一開(kāi)發(fā)工作流程七、測(cè)試工作流程『設(shè)計(jì)ai、\灣試用例轟/執(zhí)折?\試用例 試用例'程序錯(cuò)俁修正用側(cè)執(zhí)廠(chǎng)一、錯(cuò)保跟竺J盤(pán)匸斗提交說(shuō)明:設(shè)計(jì)測(cè)試用例、執(zhí)行測(cè)試用例詳見(jiàn)《測(cè)試用例》 。描述軟件錯(cuò)誤即填寫(xiě)bug記錄表,詳見(jiàn)《BUG標(biāo)準(zhǔn)》八、附錄附錄一、測(cè)試文檔I測(cè)試計(jì)劃1引言1.1編寫(xiě)目的TOC\o"1-5"\h\z【闡明編寫(xiě)測(cè)試計(jì)劃的目的,指明讀者對(duì)象。 】1.2項(xiàng)目背景【說(shuō)明項(xiàng)目的來(lái)源、委托單位及主管部門(mén)。 】1.3定義【列出測(cè)試計(jì)劃中所用到的專(zhuān)門(mén)術(shù)語(yǔ)的定義和縮寫(xiě)詞的原意。 】1.4參考資料【列出有關(guān)資料的作者、標(biāo)題、編號(hào)、發(fā)表日期、

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論