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