前言:想要寫出一篇引人入勝的文章?我們特意為您整理了軟件測(cè)試中的集成測(cè)試分析范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。
摘要:現(xiàn)如今全球已經(jīng)進(jìn)入數(shù)字化時(shí)代,任何行業(yè)都在向著自動(dòng)化、智能化的方向發(fā)展,這樣的發(fā)展離不開(kāi)硬件的支持和軟件的配設(shè)。如果一套設(shè)備單有硬件沒(méi)有驅(qū)動(dòng)軟件程序,那么這臺(tái)設(shè)備就無(wú)法實(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è)革命也被稱為“科技革命”。現(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è)試方案,但沒(méi)有任何一套方案能夠容易的將軟件中的所有漏洞、錯(cuò)誤都找出。因此,在實(shí)際的測(cè)試過(guò)程中,測(cè)試工程師往往將多種測(cè)試方式結(jié)合起來(lái),從而對(duì)軟件進(jìn)行深入測(cè)試,進(jìn)而滿足不同階段對(duì)軟件測(cè)試的需要。
軟件測(cè)試是軟件質(zhì)量的保障。由于軟件系統(tǒng)大部分使由多個(gè)子系統(tǒng)構(gòu)成的,因此為了使軟件測(cè)試有效進(jìn)行,測(cè)試過(guò)程需要嚴(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ì)已通過(guò)運(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è)試過(guò)程中需要對(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)在軟件開(kāi)發(fā)過(guò)程中盡早進(jìn)行;⑥測(cè)試工程師與開(kāi)發(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ò)程中的關(guān)鍵一環(huán)其主要任務(wù)有以下幾部分:①將各個(gè)子單元模塊集合在一起,并進(jìn)行相互調(diào)用功能,在傳輸數(shù)據(jù)的過(guò)程中檢查是否出現(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)象,使漏洞越來(lái)越大,從而使軟件不符合設(shè)計(jì)要求。
2集成測(cè)試的策略
集成測(cè)試中需要設(shè)置諸多模塊來(lái)輔助集成測(cè)試的進(jìn)行。這些模塊包含樁模塊和驅(qū)動(dòng)模塊。驅(qū)動(dòng)模塊是將一些數(shù)據(jù)傳輸給待測(cè)模塊,從而得出模塊的功能和特性,最總找出漏洞并打印出結(jié)果。其中樁模塊也被稱為存根程序,用來(lái)取代被調(diào)用模塊的模擬。該模塊進(jìn)行的數(shù)據(jù)處理較少,而且其調(diào)用是又待測(cè)模塊調(diào)用的。例如為了檢驗(yàn)?zāi)K直接的借口,需要入口和返回進(jìn)行打印。在集成測(cè)試的方式中,一般可以將其分為兩種,分別是增量集成和非增量集成。其中增量集成由于是通過(guò)小增量的方式對(duì)軟件系統(tǒng)進(jìn)行測(cè)試的,因此這樣能夠更好、更徹底的檢測(cè)接口。
3集成測(cè)試的主要類型
3.1基于功能分解的集成
在進(jìn)行軟件集成測(cè)試時(shí),將功能分解并進(jìn)行測(cè)試時(shí)最為重要的測(cè)試方式之一。該種測(cè)試方式一般都是采用文字或樹(shù)狀圖的形式來(lái)進(jìn)行功能分解的。進(jìn)這種測(cè)試方式進(jìn)行深入討論時(shí),將要按照集成模塊的順序進(jìn)行測(cè)試。(1)自頂向下集成方式(樹(shù)狀圖中由頂端開(kāi)始進(jìn)行)。此種方式是將軟件結(jié)構(gòu)中的主控制體系進(jìn)行優(yōu)先集成,而后對(duì)其路徑下的模塊進(jìn)行分組集成測(cè)試。(2)自底向上集成方式(樹(shù)狀圖中由底端開(kāi)始進(jìn)行)。該種集成測(cè)試方式與自頂向下集成方式恰巧相反。但其中具體步驟仍有所不同,具體不同之處在于該種集成方式中由分解樹(shù)上層單元的模塊來(lái)取代具有模擬功能的樁。反過(guò)來(lái)說(shuō),自底向上集成需要從“樹(shù)”中的“葉子”處開(kāi)始,并且需要用特殊方式編寫的模塊開(kāi)進(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)自頂向下集成方式(樹(shù)狀圖中由頂端開(kāi)始進(jìn)行)。該方式的優(yōu)點(diǎn)在于能夠讓測(cè)試工程師在測(cè)試開(kāi)始時(shí)便了解系統(tǒng)的框架,從而能夠使測(cè)試過(guò)程逐漸精細(xì)化。缺點(diǎn)在于在進(jìn)行測(cè)試前需要提供樁模塊來(lái)模擬被調(diào)用的子模塊。由于樁模塊僅僅是進(jìn)行模擬,可能無(wú)法反映出實(shí)際情況,因此測(cè)試可能不全面。就另一方面來(lái)講,裝模塊并不能對(duì)數(shù)據(jù)進(jìn)行模擬,如果模塊間的數(shù)據(jù)流不能構(gòu)成有向無(wú)環(huán)圖,便無(wú)法生成模塊的測(cè)試數(shù)據(jù)。并且,對(duì)測(cè)試結(jié)構(gòu)的觀察和結(jié)果的表達(dá)也存在著一定的難度。(2)自底向上集成方式(樹(shù)狀圖中由底端開(kāi)始進(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è)框架需要在最后的過(guò)程再能看到。
3.3基于調(diào)用圖的集成
調(diào)用圖集成是集成測(cè)試中常用的測(cè)試類型之一,可以分為兩種,一種是相鄰集成,另一種是成對(duì)集成。該種集成方式的優(yōu)點(diǎn)是以行為基礎(chǔ)為主,并且還不用開(kāi)發(fā)驅(qū)動(dòng)模塊和樁模塊。缺點(diǎn):有大量鄰居的情況下有隔離缺陷,并且在清除缺陷后需要對(duì)相鄰的代碼進(jìn)行重新測(cè)試。
3.4基于路徑的集成
基于路徑的集成是將單獨(dú)開(kāi)發(fā)測(cè)試重點(diǎn)轉(zhuǎn)移到單元交互(單元模塊的“協(xié)同功能”)上,而這種轉(zhuǎn)移需要通過(guò)各模塊單元的接口進(jìn)行。在此,單元模塊接口是結(jié)構(gòu)性的,而單元模塊交互卻是功能性的實(shí)現(xiàn)。就以MM--路徑測(cè)試而言,這是一種功能性與結(jié)構(gòu)性相結(jié)合的測(cè)試方式,其優(yōu)點(diǎn):不需要利用分解或圖集等結(jié)構(gòu)性便可以開(kāi)展測(cè)試,與軟件系統(tǒng)聯(lián)系緊密。并且該測(cè)試方式可以被用于面向?qū)ο蟮能浖y(cè)試。缺點(diǎn):需要大量的路徑標(biāo)識(shí),這樣的工作量較大,并且與樁模塊和驅(qū)動(dòng)模塊的開(kāi)發(fā)不同。
3.5面向?qū)ο蟓h(huán)境中的集成測(cè)試
兩種不同的策略:基于線程的測(cè)試(thread—basedtesting)。基于使用的測(cè)試(use—basedtesting)。驅(qū)動(dòng)程序和樁程序:驅(qū)動(dòng)程序和樁程序?qū)崿F(xiàn)的功能有所不同。驅(qū)動(dòng)程序能夠在顯示界面前就開(kāi)始進(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]黃天開(kāi).計(jì)算機(jī)軟件測(cè)試方法及應(yīng)用研究[J].中國(guó)新通信,2020,22(16):56-57.
作者:謝曉麗 單位:四川九洲電器集團(tuán)有限責(zé)任公司