- 相關(guān)推薦
軟件測(cè)試中綜合測(cè)試的基本方法
軟件測(cè)試在軟件開發(fā)的時(shí)候是很重要的,那么作為一個(gè)軟件測(cè)試人員,你應(yīng)該會(huì)發(fā)現(xiàn),有些程序單個(gè)模塊利用運(yùn)行,但是一起運(yùn)行的時(shí)候卻運(yùn)行失敗,這個(gè)時(shí)候就要通過綜合測(cè)試來測(cè)試軟件,以下是小編整理的軟件測(cè)試中綜合測(cè)試的基本方法,希望對(duì)大家有所幫助。
某設(shè)計(jì)人員總是習(xí)慣于將所有模塊按照既定設(shè)計(jì)需求進(jìn)行組裝,之后對(duì)其進(jìn)行整體測(cè)試,該種現(xiàn)象稱之為非增量式集成。
但是借助該種方式極其容易出現(xiàn)混亂現(xiàn)象。
由于在實(shí)際測(cè)試過程中可能會(huì)發(fā)現(xiàn)大量錯(cuò)誤,而對(duì)于每一個(gè)錯(cuò)誤的定位和糾正都極為困難,此外在錯(cuò)誤糾正過程中往往會(huì)產(chǎn)生新的錯(cuò)誤,新舊錯(cuò)誤的混雜和交替,使得錯(cuò)誤的位置和根源判斷變得更加艱難。
相反,采取增量式集成方式,程序?qū)?huì)逐漸的進(jìn)行拓展,隨著測(cè)試范圍的緩慢增加,錯(cuò)誤的定位和糾正將會(huì)變的更加容易,對(duì)于截面的測(cè)試也將會(huì)變的更加徹底。
在下面將對(duì)兩種增量式集成方式進(jìn)行充分討論。
1、自頂向下集成
自頂向下集成是構(gòu)造程序結(jié)構(gòu)的一種增量式方式,它從主控模塊開始,按照軟件的控制層次結(jié)構(gòu),以深度優(yōu)先或廣度優(yōu)先的策略,逐步把各個(gè)模塊集成在一起。
深度優(yōu)先策略首先是把主控制路徑上的模塊集成在一起,至于選擇哪一條路徑作為主控制路徑,這多少帶有隨意性,一般根據(jù)問題的特性確定。
自頂向下綜合測(cè)試的具體步驟為:
1)以主控模塊作為測(cè)試驅(qū)動(dòng)模塊,把對(duì)主控模塊進(jìn)行單元測(cè)試時(shí)引入的所有樁模塊用實(shí)際模塊替代;
2)依據(jù)所選的集成策略(深度優(yōu)先或廣度優(yōu)先),每次只替代一個(gè)樁模塊;
3)每集成一個(gè)模塊立即測(cè)試一遍;
4)只有每組測(cè)試完成后,才著手替換下一個(gè)樁模塊;
5)為避免引入新錯(cuò)誤,須不斷地進(jìn)行回歸測(cè)試(即全部或部分地重復(fù)已做過的測(cè)試)。
從第二步開始,循環(huán)執(zhí)行上述步驟,直至整個(gè)程序結(jié)構(gòu)構(gòu)造完畢。
對(duì)于該種問題的解決主要通過以下幾種方式開展:一是將部分測(cè)試推遲,從而使用真實(shí)模塊代替樁模塊;二是開發(fā)能夠模擬真實(shí)模塊的樁模塊;三是采取自下而上的集成模塊。
采取第一種方式將會(huì)回到非增量式的集成方式,使得錯(cuò)誤的定位和糾正變得艱難,更會(huì)失去在組裝模塊過程中進(jìn)行特定測(cè)試的可能性;而第二種方式則會(huì)使得開銷大大增加。
綜合分析發(fā)現(xiàn)第三種方式具有可行性,因此在下面進(jìn)行充分討論。
2、自底向上集成
自底向上測(cè)試是從“原子”模塊(即軟件結(jié)構(gòu)最低層的模塊)開始組裝測(cè)試,因測(cè)試到較高層模塊時(shí),所需的下層模塊功能均已具備,所以不再需要樁模塊。
自底向上綜合測(cè)試的步驟分為:
1)把低層模塊組織成實(shí)現(xiàn)某個(gè)子功能的模塊群(cluster);
2)開發(fā)一個(gè)測(cè)試驅(qū)動(dòng)模塊,控制測(cè)試數(shù)據(jù)的輸入和測(cè)試結(jié)果的輸出;
3)對(duì)每個(gè)模塊群進(jìn)行測(cè)試;
4)刪除測(cè)試使用的驅(qū)動(dòng)模塊,用較高層模塊把模塊群組織成為完成更大功能的新模塊群。
從第一步開始循環(huán)執(zhí)行上述各步驟,直至整個(gè)程序構(gòu)造完畢。
基于此,在軟件測(cè)試過程中,應(yīng)當(dāng)充分考慮軟件自身的特點(diǎn)和工程進(jìn)度,并選擇適當(dāng)?shù)臏y(cè)試方式以保證測(cè)試的基本質(zhì)量。
另外,在綜合測(cè)試過程中必須注意關(guān)鍵模塊的測(cè)試,其中關(guān)鍵模塊具有以下幾種特征:一是對(duì)應(yīng)的需求數(shù)量;二是具有的高層控制功能;三是復(fù)雜容易出現(xiàn)錯(cuò)誤;四是存在的部分特殊性能要求,對(duì)于部分關(guān)鍵模塊應(yīng)當(dāng)盡早進(jìn)行測(cè)試,并對(duì)其進(jìn)行反復(fù)的回歸測(cè)試。
軟件測(cè)試的方法
1、從是否關(guān)心內(nèi)部結(jié)構(gòu)來看
。1)白盒測(cè)試:又稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,是一種按照程序內(nèi)部邏輯結(jié)構(gòu)和編碼結(jié)構(gòu),設(shè)計(jì)測(cè)試數(shù)據(jù)并完成測(cè)試的一種測(cè)試方法。
(2)黑盒測(cè)試:又稱為數(shù)據(jù)驅(qū)動(dòng)測(cè)試,把測(cè)試對(duì)象當(dāng)做看不見的黑盒,在完全不考慮程序內(nèi)部結(jié)構(gòu)和處理過程的情況下,測(cè)試者僅依據(jù)程序功能的需求規(guī)范考慮,確定測(cè)試用例和推斷測(cè)試結(jié)果的正確性,它是站在使用軟件或程序的角度,從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對(duì)應(yīng)關(guān)系出發(fā)進(jìn)行的測(cè)試。
(3)灰盒測(cè)試:是一種綜合測(cè)試法,它將“黑盒”測(cè)試與“白盒”測(cè)試結(jié)合在一起,是基于程序運(yùn)行時(shí)的外部表現(xiàn)又結(jié)合內(nèi)部邏輯結(jié)構(gòu)來設(shè)計(jì)用例,執(zhí)行程序并采集路徑執(zhí)行信息和外部用戶接口結(jié)果的測(cè)試技術(shù)。
2、從是否執(zhí)行代碼看
(1)靜態(tài)測(cè)試:指不運(yùn)行被測(cè)程序本身,僅通過分析或檢查源程序的語法、結(jié)構(gòu)、過程、接口等來檢查程序的正確性。
(2)動(dòng)態(tài)測(cè)試:是指通過運(yùn)行被測(cè)程序,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,并分析運(yùn)行效率、正確性和健壯性等性能指標(biāo)。
3、從開發(fā)過程級(jí)別看
。1)單元測(cè)試:又稱模塊測(cè)試,是針對(duì)軟件設(shè)計(jì)的最小單位----程序模塊或功能模塊,進(jìn)行正確性檢驗(yàn)的測(cè)試工作。其目的在于檢驗(yàn)程序各模塊是否存在各種差錯(cuò),是否能正確地實(shí)現(xiàn)了其功能,滿足其性能和接口要求。
(2)集成測(cè)試:又叫組裝測(cè)試或聯(lián)合,是單元測(cè)試的多級(jí)擴(kuò)展,是在單元測(cè)試的基礎(chǔ)上進(jìn)行的一種有序測(cè)試。旨在檢驗(yàn)軟件單元之間的接口關(guān)系,以期望通過測(cè)試發(fā)現(xiàn)各軟件單元接口之間存在的問題,最終把經(jīng)過測(cè)試的單元組成符合設(shè)計(jì)要求的軟件。
。3)系統(tǒng)測(cè)試:是為判斷系統(tǒng)是否符合要求而對(duì)集成的軟、硬件系統(tǒng)進(jìn)行的測(cè)試活動(dòng)、它是將已經(jīng)集成好的軟件系統(tǒng),作為基于整個(gè)計(jì)算機(jī)系統(tǒng)的一個(gè)元素,與計(jì)算機(jī)硬件、外設(shè)、某些支持軟件、人員、數(shù)據(jù)等其他系統(tǒng)元素結(jié)合在一起,在實(shí)際運(yùn)行環(huán)境下,對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的組裝測(cè)試和確認(rèn)測(cè)試。
4、從執(zhí)行過程是否需要人工干預(yù)來看
。1)手工測(cè)試:就是測(cè)試人員按照事先為覆蓋被測(cè)軟件需求而編寫的測(cè)試用例,根據(jù)測(cè)試大綱中所描述的測(cè)試步驟和方法,手工地一個(gè)一個(gè)地輸 入執(zhí)行,包括與被測(cè)軟件進(jìn)行交互(如輸入測(cè)試數(shù)據(jù)、記錄測(cè)試結(jié)果等),然后觀察測(cè)試結(jié)果,看被測(cè)程序是否存在問題,或在執(zhí)行過程中是否會(huì)有一場(chǎng)發(fā)生,屬于比較原始但是必須執(zhí)行的一個(gè)步驟。
。2)自動(dòng)化測(cè)試:實(shí)際上是將大量的重復(fù)性的測(cè)試工作交給計(jì)算機(jī)去完成,通常是使用自動(dòng)化測(cè)試工具來模擬手動(dòng)測(cè)試步驟,執(zhí)行用某種程序設(shè)計(jì)語言編寫的過程(全自動(dòng)測(cè)試就是指在自動(dòng)測(cè)試過程中,不需要人工干預(yù),由程序自動(dòng)完成測(cè)試的全過程;半自動(dòng)測(cè)試就是指在自動(dòng)測(cè)試過程中,需要手動(dòng)輸入測(cè)試用例或選擇測(cè)試路徑,再由自動(dòng)測(cè)試程序按照人工指定的要求完成自動(dòng)測(cè)試)
5、從測(cè)試實(shí)施組織看
。1)開發(fā)測(cè)試:開發(fā)人員進(jìn)行的測(cè)試
(2)用戶測(cè)試:用戶方進(jìn)行的測(cè)試
。3)第三方測(cè)試:有別于開發(fā)人員或用戶進(jìn)行的測(cè)試,由專業(yè)的第三方承擔(dān)的測(cè)試,目的是為了保證測(cè)試工作的客觀性
6、從測(cè)試所處的環(huán)境看
。1)阿爾法測(cè)試:是由一個(gè)用戶在開發(fā)環(huán)境下進(jìn)行的測(cè)試,也可以是公司內(nèi)部的用戶在模擬實(shí)際操作環(huán)境下進(jìn)行的測(cè)試
。2)貝塔測(cè)試:是用戶公司組織各方面的典型終端用戶在日常工作中實(shí)際使用貝塔版本,并要求用戶報(bào)告
7、其他測(cè)試類型
。1)回歸測(cè)試(regression testing)是指對(duì)軟件的新的版本測(cè)試時(shí),重復(fù)執(zhí)行上一個(gè)版本測(cè)試時(shí)的用例。
(2)冒煙測(cè)試(smoke testing),是指在對(duì)一個(gè)新版本進(jìn)行大規(guī)模的測(cè)試之前,先驗(yàn)證一下軟件的基本功能是否實(shí)現(xiàn),是否具備可測(cè)性。
。3)隨機(jī)測(cè)試(random testing),是指測(cè)試中所有的輸入數(shù)據(jù)都是隨機(jī)生成的,其目的是模擬用戶的真實(shí)操作,并發(fā)現(xiàn)一些邊緣性的錯(cuò)誤。
【軟件測(cè)試中綜合測(cè)試的基本方法】相關(guān)文章:
軟件測(cè)試實(shí)習(xí)報(bào)告11-25
軟件測(cè)試的實(shí)習(xí)報(bào)告05-19
軟件測(cè)試學(xué)習(xí)總結(jié)11-23
軟件測(cè)試合同09-20
軟件測(cè)試述職報(bào)告12-20
軟件測(cè)試合同09-30
軟件測(cè)試述職報(bào)告01-30
詩(shī)歌鑒賞基本方法08-09