前言:想要寫出一篇引人入勝的文章?我們特意為您整理了軟件測(cè)試中的集成測(cè)試分析范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。
摘要:現(xiàn)如今全球已經(jīng)進(jìn)入數(shù)字化時(shí)代,任何行業(yè)都在向著自動(dòng)化、智能化的方向發(fā)展,這樣的發(fā)展離不開硬件的支持和軟件的配設(shè)。如果一套設(shè)備單有硬件沒有驅(qū)動(dòng)軟件程序,那么這臺(tái)設(shè)備就無法實(shí)現(xiàn)自能化生產(chǎn)。為了使軟件能夠正常配套于硬件設(shè)備,軟件工程師需要對(duì)軟件進(jìn)行深入測(cè)試,從而判斷出該軟件是否存在漏洞,而集成測(cè)試是軟件測(cè)試中最為主要的方式之一?;诖?,本文對(duì)集成測(cè)試進(jìn)行了簡(jiǎn)單的概述,并提出集成測(cè)試的具體策略,同時(shí)深入探討了集成測(cè)試的具體類型,以供相關(guān)人員參考,從而推進(jìn)軟件測(cè)試行業(yè)的發(fā)展。
關(guān)鍵詞:集成測(cè)試;軟件測(cè)試;具體策略;具體類型
引言
第三次工業(yè)革命也被稱為“科技革命”?,F(xiàn)如今,人類的生活已經(jīng)因?yàn)榭茖W(xué)技術(shù)而發(fā)生了巨大的改變。在當(dāng)今二十一世紀(jì),計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)、信息技術(shù)等大力發(fā)展,讓我們的生活變得個(gè)加便捷。而軟件工程便是這些技術(shù)當(dāng)中不可或缺的一部分。因此,作為保障軟件質(zhì)量的軟件測(cè)試技術(shù)得到了全球科學(xué)界的高度關(guān)注。目前,軟件測(cè)試方式多種多樣。根據(jù)研究發(fā)現(xiàn),根據(jù)任何測(cè)試方式均能夠設(shè)計(jì)處一套行之有效的測(cè)試方案,但沒有任何一套方案能夠容易的將軟件中的所有漏洞、錯(cuò)誤都找出。因此,在實(shí)際的測(cè)試過程中,測(cè)試工程師往往將多種測(cè)試方式結(jié)合起來,從而對(duì)軟件進(jìn)行深入測(cè)試,進(jìn)而滿足不同階段對(duì)軟件測(cè)試的需要。
軟件測(cè)試是軟件質(zhì)量的保障。由于軟件系統(tǒng)大部分使由多個(gè)子系統(tǒng)構(gòu)成的,因此為了使軟件測(cè)試有效進(jìn)行,測(cè)試過程需要嚴(yán)格按照步驟進(jìn)行,而測(cè)試步驟分為:?jiǎn)卧獪y(cè)試、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。集成測(cè)試作為單元測(cè)試的后一步和確認(rèn)測(cè)試的前一步對(duì)于軟件系統(tǒng)的質(zhì)量保障有著重要的意義。因?yàn)檐浖到y(tǒng)的各個(gè)子單元能夠正常運(yùn)行并不意味著將這些子單元集合在一起還能夠正常運(yùn)行,并且在集合后比較容易出現(xiàn)錯(cuò)誤。很多公司因?yàn)樵撛虺闪⒘藢iT的集成測(cè)試的測(cè)試小組,如果對(duì)軟件系統(tǒng)進(jìn)行了深入的集成測(cè)試,將會(huì)找到軟件中存在的大部分漏洞,從而為后續(xù)測(cè)試運(yùn)行工作提高了強(qiáng)而有力的幫助。
1.1集成測(cè)試的定義
集成測(cè)試的主要目的是對(duì)已通過運(yùn)行測(cè)試的單元組件集合在一起而進(jìn)行的整體測(cè)試。該種測(cè)試技術(shù)屬于一種構(gòu)建整體軟件結(jié)構(gòu)的技術(shù),其具有全面性和系統(tǒng)性的特點(diǎn),同時(shí)集成測(cè)試能夠找到一些關(guān)于接口錯(cuò)誤的漏洞。
1.2集成測(cè)試遵循的原則
集成測(cè)試是整個(gè)軟件測(cè)試中最為重要的一環(huán),它的測(cè)試結(jié)果很大程度上體現(xiàn)該軟件的成功與否。軟件工程師如果要進(jìn)行集成測(cè)試,為了提高測(cè)試的準(zhǔn)確性,需要遵循以下原則:①測(cè)試過程中需要對(duì)所有接口進(jìn)行測(cè)試;②對(duì)主要的單元模塊要進(jìn)行深入測(cè)試;③測(cè)試時(shí)應(yīng)當(dāng)按層次進(jìn)行,不可跳躍測(cè)試;④在測(cè)試方案的選擇中,應(yīng)當(dāng)將成本、測(cè)試準(zhǔn)確度、測(cè)試進(jìn)度等因素考慮在內(nèi);⑤集成測(cè)試方案應(yīng)當(dāng)基于軟件的總體設(shè)計(jì)而設(shè)置,并且應(yīng)當(dāng)在軟件開發(fā)過程中盡早進(jìn)行;⑥測(cè)試工程師與開發(fā)工程師應(yīng)當(dāng)相互溝通,確定好模塊與接口的劃分;⑦如若因?yàn)槟承┰蛐枰獙?duì)接口進(jìn)行修改,這些改變的接口需要進(jìn)行再次測(cè)試;⑧對(duì)于測(cè)試結(jié)果應(yīng)當(dāng)準(zhǔn)確記錄;⑨集成測(cè)試應(yīng)當(dāng)嚴(yán)格遵循測(cè)試方案進(jìn)行,不能夠隨意更改測(cè)試方案。
1.3集成測(cè)試的任務(wù)
集成測(cè)試作為整個(gè)軟件測(cè)試過程中的關(guān)鍵一環(huán)其主要任務(wù)有以下幾部分:①將各個(gè)子單元模塊集合在一起,并進(jìn)行相互調(diào)用功能,在傳輸數(shù)據(jù)的過程中檢查是否出現(xiàn)接口丟失的情況;②在各個(gè)子單元模塊集合在一起后,進(jìn)行系統(tǒng)性的運(yùn)行,從而檢測(cè)各項(xiàng)子模塊功能是否達(dá)到設(shè)計(jì)要求;③在進(jìn)行單元模塊調(diào)用時(shí),是否會(huì)出現(xiàn)單元模塊功能互斥的現(xiàn)象;④在進(jìn)行全面測(cè)試時(shí),是否會(huì)出現(xiàn)數(shù)據(jù)不正常修改情況;⑤如果單個(gè)單元模塊有漏洞,是否會(huì)形成錯(cuò)誤積累現(xiàn)象,使漏洞越來越大,從而使軟件不符合設(shè)計(jì)要求。
2集成測(cè)試的策略
集成測(cè)試中需要設(shè)置諸多模塊來輔助集成測(cè)試的進(jìn)行。這些模塊包含樁模塊和驅(qū)動(dòng)模塊。驅(qū)動(dòng)模塊是將一些數(shù)據(jù)傳輸給待測(cè)模塊,從而得出模塊的功能和特性,最總找出漏洞并打印出結(jié)果。其中樁模塊也被稱為存根程序,用來取代被調(diào)用模塊的模擬。該模塊進(jìn)行的數(shù)據(jù)處理較少,而且其調(diào)用是又待測(cè)模塊調(diào)用的。例如為了檢驗(yàn)?zāi)K直接的借口,需要入口和返回進(jìn)行打印。在集成測(cè)試的方式中,一般可以將其分為兩種,分別是增量集成和非增量集成。其中增量集成由于是通過小增量的方式對(duì)軟件系統(tǒng)進(jìn)行測(cè)試的,因此這樣能夠更好、更徹底的檢測(cè)接口。
3集成測(cè)試的主要類型
3.1基于功能分解的集成
在進(jìn)行軟件集成測(cè)試時(shí),將功能分解并進(jìn)行測(cè)試時(shí)最為重要的測(cè)試方式之一。該種測(cè)試方式一般都是采用文字或樹狀圖的形式來進(jìn)行功能分解的。進(jìn)這種測(cè)試方式進(jìn)行深入討論時(shí),將要按照集成模塊的順序進(jìn)行測(cè)試。(1)自頂向下集成方式(樹狀圖中由頂端開始進(jìn)行)。此種方式是將軟件結(jié)構(gòu)中的主控制體系進(jìn)行優(yōu)先集成,而后對(duì)其路徑下的模塊進(jìn)行分組集成測(cè)試。(2)自底向上集成方式(樹狀圖中由底端開始進(jìn)行)。該種集成測(cè)試方式與自頂向下集成方式恰巧相反。但其中具體步驟仍有所不同,具體不同之處在于該種集成方式中由分解樹上層單元的模塊來取代具有模擬功能的樁。反過來說,自底向上集成需要從“樹”中的“葉子”處開始,并且需要用特殊方式編寫的模塊開進(jìn)行驅(qū)動(dòng)測(cè)試。在模塊當(dāng)中,一次性驅(qū)動(dòng)代碼相比較樁中的驅(qū)動(dòng)代碼較少。在軟件系統(tǒng)設(shè)計(jì)中,大部分系統(tǒng)在葉子節(jié)點(diǎn)處都有著較高的扇出數(shù)。因此,由該種集成順序?qū)嵤┑姆桨钢袃?yōu)點(diǎn)便是驅(qū)動(dòng)模塊數(shù)量相對(duì)較少,但缺陷便是驅(qū)動(dòng)模塊都較為復(fù)雜。
3.2基于功能分解方法的優(yōu)缺點(diǎn)
(1)自頂向下集成方式(樹狀圖中由頂端開始進(jìn)行)。該方式的優(yōu)點(diǎn)在于能夠讓測(cè)試工程師在測(cè)試開始時(shí)便了解系統(tǒng)的框架,從而能夠使測(cè)試過程逐漸精細(xì)化。缺點(diǎn)在于在進(jìn)行測(cè)試前需要提供樁模塊來模擬被調(diào)用的子模塊。由于樁模塊僅僅是進(jìn)行模擬,可能無法反映出實(shí)際情況,因此測(cè)試可能不全面。就另一方面來講,裝模塊并不能對(duì)數(shù)據(jù)進(jìn)行模擬,如果模塊間的數(shù)據(jù)流不能構(gòu)成有向無環(huán)圖,便無法生成模塊的測(cè)試數(shù)據(jù)。并且,對(duì)測(cè)試結(jié)構(gòu)的觀察和結(jié)果的表達(dá)也存在著一定的難度。(2)自底向上集成方式(樹狀圖中由底端開始進(jìn)行)。該種方式的優(yōu)點(diǎn)便是對(duì)驅(qū)動(dòng)模塊的所有參數(shù)都進(jìn)行了模擬調(diào)用,并且在數(shù)據(jù)生成方面也是比較容易的。如果軟件系統(tǒng)的關(guān)鍵驅(qū)動(dòng)模塊在結(jié)構(gòu)體系底部,那么該種方式便有著其他方式?jīng)]有的測(cè)試優(yōu)勢(shì)。缺點(diǎn):系統(tǒng)的整個(gè)框架需要在最后的過程再能看到。
3.3基于調(diào)用圖的集成
調(diào)用圖集成是集成測(cè)試中常用的測(cè)試類型之一,可以分為兩種,一種是相鄰集成,另一種是成對(duì)集成。該種集成方式的優(yōu)點(diǎn)是以行為基礎(chǔ)為主,并且還不用開發(fā)驅(qū)動(dòng)模塊和樁模塊。缺點(diǎn):有大量鄰居的情況下有隔離缺陷,并且在清除缺陷后需要對(duì)相鄰的代碼進(jìn)行重新測(cè)試。
3.4基于路徑的集成
基于路徑的集成是將單獨(dú)開發(fā)測(cè)試重點(diǎn)轉(zhuǎn)移到單元交互(單元模塊的“協(xié)同功能”)上,而這種轉(zhuǎn)移需要通過各模塊單元的接口進(jìn)行。在此,單元模塊接口是結(jié)構(gòu)性的,而單元模塊交互卻是功能性的實(shí)現(xiàn)。就以MM--路徑測(cè)試而言,這是一種功能性與結(jié)構(gòu)性相結(jié)合的測(cè)試方式,其優(yōu)點(diǎn):不需要利用分解或圖集等結(jié)構(gòu)性便可以開展測(cè)試,與軟件系統(tǒng)聯(lián)系緊密。并且該測(cè)試方式可以被用于面向?qū)ο蟮能浖y(cè)試。缺點(diǎn):需要大量的路徑標(biāo)識(shí),這樣的工作量較大,并且與樁模塊和驅(qū)動(dòng)模塊的開發(fā)不同。
3.5面向?qū)ο蟓h(huán)境中的集成測(cè)試
兩種不同的策略:基于線程的測(cè)試(thread—basedtesting)?;谑褂玫臏y(cè)試(use—basedtesting)。驅(qū)動(dòng)程序和樁程序:驅(qū)動(dòng)程序和樁程序?qū)崿F(xiàn)的功能有所不同。驅(qū)動(dòng)程序能夠在顯示界面前就開始進(jìn)行系統(tǒng)測(cè)試,而且其也能夠?qū)︻惡偷蛯拥牟僮鬟M(jìn)行測(cè)試;而樁程序測(cè)試能夠在缺少類的情況下對(duì)類協(xié)作進(jìn)行測(cè)試。
參考文獻(xiàn)
[1]楊培培,趙海生,李振星.實(shí)用軟件測(cè)試方法研究[J].計(jì)算機(jī)應(yīng)用,2015,35(S1):166-167+173.
[2]牛穎蓓,左蕓.基于VC33航天軟件集成測(cè)試技術(shù)研究[J].計(jì)算機(jī)測(cè)量與控制,2020,28(01):26-29.
[3]黃天開.計(jì)算機(jī)軟件測(cè)試方法及應(yīng)用研究[J].中國(guó)新通信,2020,22(16):56-57.
作者:謝曉麗 單位:四川九洲電器集團(tuán)有限責(zé)任公司