為什么集成測(cè)試被人瞧不起?我不理解還是?
軟件測(cè)試?是軟件開發(fā)周期中的一個(gè)階段,在此階段中,對(duì)關(guān)鍵業(yè)務(wù)軟件進(jìn)行正確性,質(zhì)量和性能驗(yàn)證。
軟件測(cè)試中有四個(gè)基本級(jí)別,每個(gè)級(jí)別都在開發(fā)過程中從獨(dú)特的角度檢查軟件功能。下圖顯示了軟件測(cè)試的四個(gè)級(jí)別。

本文詳細(xì)介紹了集成測(cè)試,這是軟件測(cè)試的第一級(jí)。?
什么是集成測(cè)試?
集成測(cè)試是軟件測(cè)試的一個(gè)級(jí)別,其中將各個(gè)單元組合并進(jìn)行測(cè)試,以驗(yàn)證它們?cè)诩蓵r(shí)是否按預(yù)期工作。這里的主要目的是測(cè)試模塊之間的接口。
由于多種原因,僅單元測(cè)試是不夠的,例如:
模塊/單元通常由單獨(dú)的軟件開發(fā)人員設(shè)計(jì),其技術(shù)和編程邏輯與其他程序員不同
通常在模塊開發(fā)時(shí),用戶需求會(huì)發(fā)生變化,并且這些新需求可能未經(jīng)過單元測(cè)試。這引發(fā)了問題
在單元測(cè)試期間,有時(shí)會(huì)遺漏諸如數(shù)據(jù)格式,錯(cuò)誤陷阱,硬件接口和第三方服務(wù)接口之類的問題
因此,無論每個(gè)模塊/單元的運(yùn)行效率如何,如果它們未正確集成,都會(huì)影響軟件程序的功能。作為解決方案,集成測(cè)試得以實(shí)施。本文“什么是集成測(cè)試?” 進(jìn)一步列出了集成測(cè)試的優(yōu)勢(shì)。
集成測(cè)試的優(yōu)勢(shì)
進(jìn)行集成測(cè)試有很多好處。下面列出了其中一些:
確保集成模塊按預(yù)期正常工作
一旦要測(cè)試的模塊可用,測(cè)試人員就可以開始測(cè)試
它檢測(cè)與模塊之間的接口有關(guān)的錯(cuò)誤
幫助模塊與API和其他第三方工具進(jìn)行交互
通常覆蓋大量系統(tǒng),因此效率更高
增加測(cè)試范圍并提高測(cè)試的可靠性
軟件工程師執(zhí)行集成測(cè)試。有時(shí),公司會(huì)聘請(qǐng)獨(dú)立的測(cè)試人員來為他們做。但是,實(shí)際上如何進(jìn)行集成測(cè)試?它是否與其他測(cè)試過程相似?讓我們看看“什么是集成測(cè)試”的下一部分。文章。
集成測(cè)試如何完成?
集成的含義非常簡單–將經(jīng)過單元測(cè)試的模塊一個(gè)接一個(gè)地組合,然后測(cè)試組合單元的功能。通常,集成測(cè)試是在單元測(cè)試之后進(jìn)行的。一旦創(chuàng)建并測(cè)試了所有單個(gè)單元,我們便開始組合那些經(jīng)過測(cè)試的模塊并開始執(zhí)行集成測(cè)試。這里的主要目標(biāo)是測(cè)試單元/模塊之間的接口。以下是一些簡單的步驟,可幫助您開始進(jìn)行集成測(cè)試:
準(zhǔn)備測(cè)試整合計(jì)劃
確定集成測(cè)試方法的類型
相應(yīng)地設(shè)計(jì)測(cè)試用例,測(cè)試場(chǎng)景和測(cè)試腳本
一起部署所選模塊并運(yùn)行集成測(cè)試
跟蹤缺陷并記錄測(cè)試結(jié)果
重復(fù)上述步驟,直到測(cè)試完整個(gè)系統(tǒng)
請(qǐng)記住,必須優(yōu)先考慮模塊或單元之間的集成接口鏈接。如您所見,在第二步中,您需要確定集成測(cè)試方法的類型。在“什么是集成測(cè)試”中前進(jìn) 文章,讓我們了解如何執(zhí)行這些測(cè)試策略,它們的優(yōu)缺點(diǎn)。
集成測(cè)試的類型
在開始討論可用的集成測(cè)試類型之前,我們需要了解存根和驅(qū)動(dòng)程序的概念。在測(cè)試期間,有時(shí)我們會(huì)遇到某些模塊仍在開發(fā)中的情況。這些用于測(cè)試目的的模塊已替換為一些虛擬程序。這些虛擬程序稱為存根和驅(qū)動(dòng)程序。
想象一下,我們有一個(gè)包含兩個(gè)模塊的應(yīng)用程序,即Login Page(模塊A)和Admin Page(模塊B)。
情況1:您必須測(cè)試已開發(fā)并發(fā)送給測(cè)試團(tuán)隊(duì)的登錄頁面。登錄頁面取決于管理頁面。但是管理頁面尚未準(zhǔn)備好。為了克服這種情況,開發(fā)人員編寫了一個(gè)虛擬程序,充當(dāng)管理員頁面。這個(gè)偽程序是Stub。存根是“被稱為程序”。
情況2:您必須測(cè)試管理頁面,但登錄頁面尚未準(zhǔn)備好。為了克服這種情況,開發(fā)人員編寫了一個(gè)虛擬程序,其作用類似于“登錄頁面”。該虛擬程序是Driver。驅(qū)動(dòng)程序是“調(diào)用程序”。
現(xiàn)在您已經(jīng)了解了這些必要的概念,讓我們檢查一下不同類型的集成測(cè)試。集成測(cè)試類型分為以下列出的不同組:

大爆炸整合測(cè)試
在這種測(cè)試方法中,一旦所有模塊分別開發(fā)和測(cè)試,它們將被集成一次并立即一起測(cè)試。這種測(cè)試的唯一優(yōu)點(diǎn)是,它非常適合于較小的系統(tǒng)。
缺點(diǎn)
故障定位很困難
測(cè)試之前有很多延遲
關(guān)鍵問題沒有得到優(yōu)先解決
很難找到問題的根本原因
增量集成測(cè)試
通過將邏輯上相關(guān)的兩個(gè)或更多模塊連接在一起來執(zhí)行增量測(cè)試。后來又添加了更多模塊,并對(duì)其功能進(jìn)行了測(cè)試。直到完成所有模塊的集成并成功測(cè)試為止。它又分為自上而下方法,自下而上方法和三明治方法。
自上而下的集成測(cè)試
自上而下的方法從測(cè)試最頂層的模塊開始,然后逐步地逐步降到最低的一組模塊。測(cè)試按照軟件系統(tǒng)的控制流程從上到下進(jìn)行。由于在測(cè)試頂層模塊時(shí)有可能未開發(fā)出較低級(jí)別的模塊,因此我們使用存根而不是那些尚未就緒的模塊。對(duì)于簡單的應(yīng)用程序,存根將簡單地將控件返回其上級(jí)模塊。對(duì)于復(fù)雜的應(yīng)用程序,他們將模擬整個(gè)響應(yīng)范圍。
優(yōu)點(diǎn):
故障定位更容易
測(cè)試產(chǎn)品極為一致?
與驅(qū)動(dòng)程序相比,可以以更少的時(shí)間寫存根
關(guān)鍵模塊經(jīng)過優(yōu)先級(jí)測(cè)試
盡早發(fā)現(xiàn)主要設(shè)計(jì)缺陷
缺點(diǎn)
需要幾個(gè)存根?
對(duì)早期發(fā)布的支持不佳
在周期結(jié)束時(shí)測(cè)試基本功能
自下而上的集成測(cè)試
自下而上的方法從測(cè)試應(yīng)用程序的最低單元開始,然后逐步地逐步進(jìn)行。從控制流的底部到向上進(jìn)行測(cè)試。同樣,在測(cè)試較低的模塊時(shí),可能尚未開發(fā)出較高級(jí)別的模塊。在這種情況下,我們通過使用驅(qū)動(dòng)程序來模擬缺少的模塊的功能。這些驅(qū)動(dòng)程序執(zhí)行一系列任務(wù),例如調(diào)用被測(cè)模塊,傳遞測(cè)試數(shù)據(jù)或接收輸出數(shù)據(jù)。?

優(yōu)點(diǎn)
在這里,開發(fā)和測(cè)試可以一起完成,從而使產(chǎn)品高效
測(cè)試條件很容易創(chuàng)建
缺點(diǎn)
需要幾個(gè)驅(qū)動(dòng)程序
數(shù)據(jù)流測(cè)試很晚?
需要驅(qū)動(dòng)程序使測(cè)試數(shù)據(jù)管理變得復(fù)雜
對(duì)早期發(fā)布的支持不佳
關(guān)鍵接口缺陷發(fā)現(xiàn)較晚
三明治集成測(cè)試
為了克服這些限制并利用自頂向下和自底向上方法的優(yōu)勢(shì),使用了集成測(cè)試的混合方法。這種方法稱為三明治集成測(cè)試或混合集成測(cè)試。在這里,系統(tǒng)被視為三層。主目標(biāo)層位于中間,目標(biāo)層上方的另一層,目標(biāo)層下方的最后一層。自上而下的方法用于從頂層到中間層的層。自下而上的方法用于從底部到中間的層。大爆炸方法用于中間的模塊。?

優(yōu)點(diǎn)
自上而下和自下而上的測(cè)試技術(shù)可以并行執(zhí)行,也可以一個(gè)接一個(gè)地執(zhí)行
對(duì)于大型企業(yè)和大型項(xiàng)目(還有幾個(gè)子項(xiàng)目)非常有用
缺點(diǎn)
成本要求很高
不能用于模塊之間相互依存性強(qiáng)的小型系統(tǒng)
不同級(jí)別的測(cè)試人員需要不同的技能
這些是可用于根據(jù)測(cè)試要求執(zhí)行集成測(cè)試的不同方法。您應(yīng)該檢查可以采用的測(cè)試策略,并相應(yīng)地準(zhǔn)備測(cè)試數(shù)據(jù)和測(cè)試計(jì)劃。集成測(cè)試雖然很有用,但并非沒有缺點(diǎn)。您需要了解實(shí)施它時(shí)可能面臨的挑戰(zhàn)。
集成測(cè)試的挑戰(zhàn)
有時(shí)由于諸如數(shù)據(jù)庫,平臺(tái),環(huán)境等各種因素,管理集成測(cè)試很困難
將新系統(tǒng)集成到舊系統(tǒng)或集成兩個(gè)舊系統(tǒng)需要大量測(cè)試工作和更改
兩家不同公司開發(fā)的兩種系統(tǒng)之間的兼容性較弱,這對(duì)程序員來說是一個(gè)挑戰(zhàn)
有太多不同的路徑和排列方式無法應(yīng)用于測(cè)試集成系統(tǒng)
往期推薦

點(diǎn)個(gè)在看你最好看


