姜文 劉立康
摘 ?要:在軟件維護(hù)階段,需要處理軟件存在的各種問(wèn)題,其中軟件補(bǔ)丁是軟件維護(hù)的核心環(huán)節(jié)。首先介紹了軟件補(bǔ)丁的相關(guān)概念與分類。詳細(xì)敘述了軟件補(bǔ)丁測(cè)試,內(nèi)容包括補(bǔ)丁程序開(kāi)發(fā)與測(cè)試、補(bǔ)丁包制作、補(bǔ)丁包測(cè)試;介紹了補(bǔ)丁包測(cè)試過(guò)程中遇到的幾個(gè)典型問(wèn)題;最后介紹了一個(gè)補(bǔ)丁測(cè)試案例,敘述了軟件補(bǔ)丁測(cè)試的完整過(guò)程。工作實(shí)踐表明軟件補(bǔ)丁測(cè)試是保證軟件補(bǔ)丁質(zhì)量的重要步驟。做好補(bǔ)丁測(cè)試有助于的保證與提升軟件產(chǎn)品質(zhì)量。
關(guān)鍵詞:軟件維護(hù);熱補(bǔ)丁;補(bǔ)丁測(cè)試
中圖分類號(hào):TP311.5 ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
1 ? 引言(Introduction)
軟件維護(hù)[1-4]是軟件生命周期的最后一個(gè)環(huán)節(jié),是持續(xù)時(shí)間最長(zhǎng)的環(huán)節(jié)。應(yīng)用軟件維護(hù)的成本是開(kāi)發(fā)成本的四倍左右。在軟件交付用戶使用后,需要做好軟件維護(hù)工作,不斷處理和解決用戶在軟件使用過(guò)程中提出的各種問(wèn)題,從而延長(zhǎng)軟件產(chǎn)品的使用壽命。
軟件補(bǔ)丁是軟件維護(hù)的核心環(huán)節(jié),補(bǔ)丁測(cè)試是保證軟件補(bǔ)丁質(zhì)量的重要環(huán)節(jié)。文中介紹了軟件補(bǔ)丁的相關(guān)概念與分類、軟件補(bǔ)丁測(cè)試過(guò)程,最后介紹了一個(gè)軟件產(chǎn)品熱補(bǔ)丁測(cè)試的工作案例。
2 ?軟件補(bǔ)丁的相關(guān)概念和分類(Related concepts and classification of software patch)
2.1 ? 軟件補(bǔ)丁的相關(guān)概念
(1)補(bǔ)丁問(wèn)題
補(bǔ)丁問(wèn)題是軟件在客戶局點(diǎn)使用過(guò)程中發(fā)現(xiàn)的軟件缺陷問(wèn)題,或者軟件產(chǎn)品研發(fā)部門自行對(duì)軟件產(chǎn)品進(jìn)行的自主改進(jìn)問(wèn)題,這些問(wèn)題需要修改軟件代碼才能解決。
(2)補(bǔ)丁程序
補(bǔ)丁程序是為了修復(fù)補(bǔ)丁問(wèn)題開(kāi)發(fā)的軟件代碼,每個(gè)補(bǔ)丁問(wèn)題都有對(duì)應(yīng)的補(bǔ)丁程序,這種小程序俗稱“補(bǔ)丁”。過(guò)補(bǔ)丁程序修改或者更新軟件,處理補(bǔ)丁問(wèn)題稱為“打補(bǔ)丁”。
(3)補(bǔ)丁包
軟件企業(yè)會(huì)定時(shí)發(fā)布補(bǔ)丁包解決客戶局點(diǎn)存在的軟件缺陷,通常一個(gè)補(bǔ)丁包中包含處理多個(gè)補(bǔ)丁問(wèn)題的補(bǔ)丁。對(duì)于需要客戶局點(diǎn)緊急處理的補(bǔ)丁問(wèn)題,也可以發(fā)布由單個(gè)補(bǔ)丁組成的應(yīng)急補(bǔ)丁包。
2.2 ? 補(bǔ)丁問(wèn)題來(lái)源
軟件補(bǔ)丁問(wèn)題來(lái)源主要有客戶局點(diǎn)使用過(guò)程中發(fā)現(xiàn)的問(wèn)題、研發(fā)部門內(nèi)部測(cè)試發(fā)現(xiàn)的問(wèn)題、軟件產(chǎn)品自主改進(jìn)、客戶定制需求、軟件安全性加固、在研版本同步改進(jìn)等方面的問(wèn)題。
2.3 ? 軟件補(bǔ)丁分類
根據(jù)軟件補(bǔ)丁實(shí)施方式,軟件補(bǔ)丁可以分為冷補(bǔ)丁、熱補(bǔ)丁。
(1)冷補(bǔ)丁
開(kāi)發(fā)工程師編寫補(bǔ)丁程序,提交版本庫(kù),對(duì)軟件產(chǎn)品的整個(gè)工程文件進(jìn)行重新編譯,生成軟件補(bǔ)丁版本。在需要在設(shè)備上停掉原有的軟件版本,重新安裝軟件補(bǔ)丁版本。
軟件冷補(bǔ)丁包實(shí)際上是指打了補(bǔ)丁之后的軟件補(bǔ)丁版本,通過(guò)替換原有的軟件版本來(lái)處理補(bǔ)丁問(wèn)題。
(2)熱補(bǔ)丁
熱補(bǔ)丁[5-8]安裝的過(guò)程中,并不需要停止軟件系統(tǒng)運(yùn)行。通常熱補(bǔ)丁適用的軟件系統(tǒng)是廣泛使用的實(shí)時(shí)操作系統(tǒng),虛擬機(jī)化軟件Openstack上也支持實(shí)施熱補(bǔ)丁。
熱補(bǔ)丁能夠在不停止應(yīng)用軟件運(yùn)行的情況下實(shí)施補(bǔ)丁安裝,同時(shí)也支持在軟件產(chǎn)品版本升級(jí)過(guò)程中以靜默安裝方式實(shí)施補(bǔ)丁安裝。靜默安裝方式是指軟件在模擬環(huán)境中加載熱補(bǔ)丁包,然后在實(shí)際的使用環(huán)境中替換原來(lái)的軟件版本。
軟件熱補(bǔ)丁包通常由多個(gè)補(bǔ)丁程序(函數(shù))組成,通過(guò)加載熱補(bǔ)丁包替換當(dāng)前軟件中的對(duì)應(yīng)函數(shù)來(lái)處理補(bǔ)丁問(wèn)題。
3 ? 軟件補(bǔ)丁測(cè)試(Software patch testing)
軟件補(bǔ)丁測(cè)試主要包括補(bǔ)丁程序開(kāi)發(fā)與測(cè)試、補(bǔ)丁包制作、補(bǔ)丁包測(cè)試。
3.1 ? 補(bǔ)丁程序開(kāi)發(fā)與測(cè)試
(1)提交補(bǔ)丁問(wèn)題單
通常由軟件客戶或者軟件售后工程師提交補(bǔ)丁問(wèn)題單。
(2)補(bǔ)丁問(wèn)題復(fù)現(xiàn)
測(cè)試工程師根據(jù)補(bǔ)丁問(wèn)題根因、發(fā)生的問(wèn)題軟件版本。搭建補(bǔ)丁測(cè)試環(huán)境,復(fù)現(xiàn)補(bǔ)丁問(wèn)題。問(wèn)題復(fù)現(xiàn)之后,由系統(tǒng)工程師與開(kāi)發(fā)工程師確認(rèn)補(bǔ)丁問(wèn)題已正確復(fù)現(xiàn)。
(3)補(bǔ)丁問(wèn)題澄清
開(kāi)發(fā)工程師分析補(bǔ)丁問(wèn)題發(fā)生的原因,并給出問(wèn)題解決方案。由系統(tǒng)工程師負(fù)責(zé)補(bǔ)丁問(wèn)題澄清,向開(kāi)發(fā)工程師、測(cè)試架構(gòu)師、測(cè)試工程師,以及資料工程師講解補(bǔ)丁問(wèn)題的現(xiàn)象與解決方案。資料工程師完成補(bǔ)丁資料編寫。
(4)補(bǔ)丁程序開(kāi)發(fā)
開(kāi)發(fā)工程師編寫補(bǔ)丁程序代碼編寫,對(duì)代碼進(jìn)行靜態(tài)測(cè)試和單元測(cè)試,代碼評(píng)審?fù)瓿珊筇峤话姹編?kù)。
(5)補(bǔ)丁問(wèn)題測(cè)試用例設(shè)計(jì)
測(cè)試架構(gòu)師完成補(bǔ)丁問(wèn)題測(cè)試用例設(shè)計(jì),測(cè)試工程師編寫自動(dòng)化測(cè)試腳本。進(jìn)行補(bǔ)丁測(cè)試用例和自動(dòng)化腳本評(píng)審,系統(tǒng)工程師、開(kāi)發(fā)工程師、測(cè)試架構(gòu)師和測(cè)試工程師參與評(píng)審工作。
(6)補(bǔ)丁程序測(cè)試
測(cè)試工程師搭建測(cè)試環(huán)境,下載包含補(bǔ)丁程序的版本包,測(cè)試補(bǔ)丁程序的功能。然后連跑自動(dòng)化腳本,對(duì)版本包進(jìn)行回歸測(cè)試,檢測(cè)新增加的補(bǔ)丁程序不會(huì)影響版本包中其他代碼的功能。若發(fā)現(xiàn)問(wèn)題,與開(kāi)發(fā)工程師共同定位處理。
3.2 ? 補(bǔ)丁包制作
(1)制定補(bǔ)丁計(jì)劃
應(yīng)用軟件補(bǔ)丁包是定期發(fā)布的,確定補(bǔ)丁包的版本號(hào)之后。補(bǔ)丁版本經(jīng)理收集需要合入補(bǔ)丁包的補(bǔ)丁問(wèn)題;主持制定補(bǔ)丁計(jì)劃,補(bǔ)丁計(jì)劃主要包括補(bǔ)丁包需要合入的補(bǔ)丁問(wèn)題列表、每個(gè)補(bǔ)丁程序的開(kāi)發(fā)和測(cè)試工作安排。
(2)設(shè)計(jì)開(kāi)發(fā)補(bǔ)丁程序
系統(tǒng)工程師負(fù)責(zé)軟件補(bǔ)丁技術(shù)設(shè)計(jì),完成需求設(shè)計(jì)、架構(gòu)設(shè)計(jì)和軟件代碼詳細(xì)設(shè)計(jì)。將設(shè)計(jì)方案以規(guī)格文檔形式提供給開(kāi)發(fā)工程師。開(kāi)發(fā)工程師負(fù)責(zé)開(kāi)發(fā)補(bǔ)丁程序。
(3)補(bǔ)丁程序測(cè)試
測(cè)試經(jīng)理根據(jù)補(bǔ)丁計(jì)劃,準(zhǔn)備測(cè)試環(huán)境,將補(bǔ)丁問(wèn)題單分配給測(cè)試工程師處理,完成補(bǔ)丁程序的測(cè)試工作。
(4)制作補(bǔ)丁包
單個(gè)軟件補(bǔ)丁程序的開(kāi)發(fā)完成后,軟件補(bǔ)丁程序合入版本庫(kù),對(duì)更新后軟件源代碼編譯生成新版本軟件產(chǎn)品的進(jìn)程文件。將該進(jìn)程文件與修改后的相關(guān)配置文件一起打包生成補(bǔ)丁包。通常在Linux操作系統(tǒng)下使用的補(bǔ)丁包制作成*.tar包,Windows操作系統(tǒng)下使用的補(bǔ)丁包制作成*.rar包。
可以通過(guò)持續(xù)集成工具完成更新代碼、軟件進(jìn)程文件編譯和補(bǔ)丁包出包。持續(xù)集成工具可以執(zhí)行冒煙測(cè)試初步驗(yàn)證補(bǔ)丁包的基本功能,提高補(bǔ)丁包測(cè)試的效率。
3.3 ? 補(bǔ)丁包測(cè)試
補(bǔ)丁包制作完成后,補(bǔ)丁包由版本經(jīng)理內(nèi)部發(fā)布。補(bǔ)丁問(wèn)題單提交測(cè)試經(jīng)理,補(bǔ)丁包測(cè)試不僅包含功能測(cè)試,還要完成補(bǔ)丁包性能和升級(jí)測(cè)試。
(1)功能測(cè)試
測(cè)試工程師從補(bǔ)丁包歸檔路徑下,取出補(bǔ)丁包,將補(bǔ)丁包安裝到執(zhí)行補(bǔ)丁問(wèn)題復(fù)現(xiàn)的環(huán)境上,首先觀測(cè)補(bǔ)丁版本號(hào)是否正確,根據(jù)測(cè)試架構(gòu)師給出的補(bǔ)丁測(cè)試用例進(jìn)行測(cè)試,確保存在的問(wèn)題已被解決,并沒(méi)與引入新問(wèn)題。如果發(fā)現(xiàn)新問(wèn)題,知會(huì)該問(wèn)題的軟件開(kāi)發(fā)工程師,問(wèn)題定位郵件抄送版本經(jīng)理、補(bǔ)丁測(cè)試組長(zhǎng)、補(bǔ)丁開(kāi)發(fā)組長(zhǎng)、系統(tǒng)工程師與測(cè)試架構(gòu)師。開(kāi)發(fā)工程師負(fù)責(zé)定位發(fā)生的問(wèn)題是否是軟件缺陷。
(2)性能測(cè)試
測(cè)試環(huán)境安裝補(bǔ)丁包,測(cè)試架構(gòu)師制定性能測(cè)試用例,測(cè)試工程師執(zhí)行補(bǔ)丁性能測(cè)試;將重點(diǎn)的性能指標(biāo)(如性能背景下的性能規(guī)格、CPU占用率、資源占用率等)與基線版本比較是否保持一致,如果與基線版本的指標(biāo)有差異則需要開(kāi)發(fā)工程師定位處理軟件性能問(wèn)題。
(3)升級(jí)測(cè)試
補(bǔ)丁升級(jí)測(cè)試,測(cè)試軟件產(chǎn)品可以正常的安裝補(bǔ)丁,也可以正常的回退補(bǔ)丁,安裝與回退之后業(yè)務(wù)功能正常?;€版本安裝之后執(zhí)行基本功能測(cè)試,基本功能測(cè)試運(yùn)行正常。上傳補(bǔ)丁包,進(jìn)行升級(jí)前檢查(如環(huán)境狀態(tài)、補(bǔ)丁包是否正確上傳、是否有異常告警等)檢查通過(guò)之后,進(jìn)行軟件補(bǔ)丁安裝,安裝之后驗(yàn)證軟件基本功能。執(zhí)行回退測(cè)試,正?;赝酥笮枰?yàn)證基本功能是否正常。升級(jí)測(cè)試過(guò)程中的升級(jí)前檢查報(bào)告、升級(jí)報(bào)告與回退報(bào)告均需要作為補(bǔ)丁測(cè)試的交付件存留。
(4)自動(dòng)化連跑驗(yàn)證
補(bǔ)丁包功能、性能、升級(jí)測(cè)試完成之后,自動(dòng)化工廠測(cè)試工程師負(fù)責(zé)搭建補(bǔ)丁測(cè)試環(huán)境,下發(fā)全量軟件功能的特性腳本,完成自動(dòng)化功能驗(yàn)證。連跑完成之后,收集自動(dòng)化連跑結(jié)果,將運(yùn)行失敗的腳本推送給測(cè)試工程師進(jìn)行失敗分析,失敗分析結(jié)果有疑似軟件缺陷導(dǎo)致的腳本失敗,需要發(fā)給軟件開(kāi)發(fā)工程師進(jìn)行定位,確保補(bǔ)丁包沒(méi)有引入新問(wèn)題。
3.4 ? 測(cè)試回顧與驗(yàn)收
補(bǔ)丁包測(cè)試工作完成之后,測(cè)試組長(zhǎng)組織進(jìn)行補(bǔ)丁包測(cè)試回歸與驗(yàn)收。版本經(jīng)理、開(kāi)發(fā)組長(zhǎng)、系統(tǒng)工程師、開(kāi)發(fā)工程師、測(cè)試架構(gòu)師和測(cè)試工程師參與回顧與驗(yàn)收工作??偨Y(jié)補(bǔ)丁包開(kāi)發(fā)測(cè)試過(guò)程中的優(yōu)缺點(diǎn)。確認(rèn)補(bǔ)丁包測(cè)試結(jié)果的準(zhǔn)確性。驗(yàn)收工作完成之后,可以正式發(fā)布補(bǔ)丁包。
4 ?補(bǔ)丁包測(cè)試過(guò)程中的幾個(gè)典型問(wèn)題(Several typical problems during patches package testing)
在補(bǔ)丁包測(cè)試過(guò)程中遇到如下一些典型問(wèn)題。
4.1 ? 熱補(bǔ)丁靜默升級(jí)和軟件升級(jí)工具不適配問(wèn)題
測(cè)試工程師N對(duì)云化通信軟件熱補(bǔ)丁包5.19.0版本的熱補(bǔ)丁SPH203進(jìn)行靜默升級(jí)驗(yàn)證,當(dāng)軟件版本部署完成,并完成升級(jí)前的產(chǎn)品功能驗(yàn)證,打開(kāi)軟件升級(jí)—補(bǔ)丁安裝工具準(zhǔn)備啟動(dòng)軟件升級(jí)時(shí),發(fā)現(xiàn)軟件升級(jí)工具頁(yè)面上不能正常勾選待升級(jí)的軟件。經(jīng)過(guò)軟件開(kāi)發(fā)工程師確認(rèn),發(fā)現(xiàn)該軟件版本沒(méi)有對(duì)軟件升級(jí)—補(bǔ)丁安裝工具進(jìn)行適配處理。如果該軟件版本進(jìn)行升級(jí),必須在軟件升級(jí)—補(bǔ)丁安裝工具上進(jìn)行規(guī)避處理。經(jīng)過(guò)規(guī)避處理之后,測(cè)試工程師順利完成補(bǔ)丁包靜默升級(jí)驗(yàn)證。
4.2 ? 媒體消息環(huán)路時(shí)延閾值指標(biāo)未上報(bào)問(wèn)題
測(cè)試工程師J對(duì)云化通信軟件熱補(bǔ)丁包5.19.1版本的熱補(bǔ)丁SPH205進(jìn)行媒體消息環(huán)路時(shí)延閾值指標(biāo)測(cè)試,該問(wèn)題屬于性能測(cè)試問(wèn)題。通過(guò)NTE工具運(yùn)行性能測(cè)試套來(lái)模擬同時(shí)進(jìn)行多路呼叫的場(chǎng)景,并通過(guò)MML命令將環(huán)路時(shí)延閾值設(shè)置為250ms、500ms、1000ms及閾值不設(shè)限的場(chǎng)景。測(cè)試工程師在進(jìn)行測(cè)試過(guò)程中發(fā)現(xiàn)這四個(gè)場(chǎng)景下呼叫正常,但是均沒(méi)有任何閾值上報(bào),聯(lián)系該補(bǔ)丁問(wèn)題的開(kāi)發(fā)工程師定位之后,發(fā)現(xiàn)通過(guò)NTE工具模擬呼叫建立之后的媒體流使用的是默認(rèn)的RTP流,而需要統(tǒng)計(jì)的媒體流為RTCP流。發(fā)送的媒體流修改為RTCP流之后,環(huán)路時(shí)延閾值指標(biāo)可以正常上報(bào)。
4.3 ? 第三方軟件導(dǎo)致的安全漏洞問(wèn)題
客戶局點(diǎn)Q對(duì)某大型硬件通信軟件冷補(bǔ)丁包V2R009C10SPC126采用綠盟掃描工具掃描,發(fā)現(xiàn)第三方軟件OpenSSL 0.9.8w存在安全漏洞。測(cè)試工程師W負(fù)責(zé)問(wèn)題重現(xiàn)和處理,搭建測(cè)試環(huán)境之后,測(cè)試過(guò)程中先在產(chǎn)品的WEB頁(yè)面通過(guò)網(wǎng)頁(yè)抓包工具確認(rèn)目前使用的OpenSSL 1.0.1c版本是已經(jīng)解決安全漏洞的新版本,接下來(lái)進(jìn)行產(chǎn)品基本業(yè)務(wù)測(cè)試與性能基本場(chǎng)景驗(yàn)證;最后針對(duì)產(chǎn)品進(jìn)行綠盟安全掃描,并對(duì)綠盟掃描結(jié)果進(jìn)行分析,確認(rèn)軟件使用的低版本OpenSSL 0.9.8w相關(guān)漏洞問(wèn)題已經(jīng)被解決。但是軟件使用高版本OpenSSL 1.0.1c之后,掃描出了新的安全漏洞,將新增漏洞反饋給開(kāi)發(fā)工程師之后,開(kāi)發(fā)工程師經(jīng)過(guò)排查產(chǎn)品源碼確認(rèn)該漏洞所描述的場(chǎng)景,軟件產(chǎn)品未使用,可以看作掃描誤報(bào)。測(cè)試工程W將該分析結(jié)論歸納到產(chǎn)品安全分析結(jié)果庫(kù)中。
5 ? 補(bǔ)丁測(cè)試案例(Case study of software patching)
以下介紹一個(gè)熱補(bǔ)丁案例,案例中只介紹軟件補(bǔ)丁測(cè)試的相關(guān)內(nèi)容。
5.1 ? 制定補(bǔ)丁計(jì)劃
某通信軟件產(chǎn)品S,SPH206補(bǔ)丁版本計(jì)劃合入10個(gè)補(bǔ)丁問(wèn)題,如表1所述。
5.2 ? 補(bǔ)丁問(wèn)題復(fù)現(xiàn)與補(bǔ)丁程序測(cè)試
(1)補(bǔ)丁問(wèn)題復(fù)現(xiàn)
補(bǔ)丁開(kāi)發(fā)工程師向測(cè)試工程師講解該補(bǔ)丁問(wèn)題觸發(fā)的背景、問(wèn)題原因。測(cè)試工程師在測(cè)試環(huán)境上分別完成10個(gè)補(bǔ)丁問(wèn)題的復(fù)現(xiàn),問(wèn)題復(fù)現(xiàn)完成之后與每個(gè)問(wèn)題的開(kāi)發(fā)工程師確認(rèn)補(bǔ)丁問(wèn)題,補(bǔ)丁問(wèn)題成功復(fù)現(xiàn)之后,將問(wèn)題復(fù)現(xiàn)場(chǎng)景如實(shí)記錄到測(cè)試交付件中。
(2)補(bǔ)丁程序測(cè)試
在測(cè)試環(huán)境安裝基線軟件版本之后加載SPH206補(bǔ)丁,執(zhí)行測(cè)試用例,如果測(cè)試結(jié)果與用例預(yù)期相符,則表示補(bǔ)丁問(wèn)題已經(jīng)被解決;如果測(cè)試結(jié)果與用例預(yù)期不相符,則需要聯(lián)系補(bǔ)丁問(wèn)題對(duì)應(yīng)開(kāi)發(fā)工程師定位處理。并將補(bǔ)丁測(cè)試過(guò)程記錄下來(lái),作為補(bǔ)丁測(cè)試的交付件。
5.3 ? 補(bǔ)丁包測(cè)試
(1)制作補(bǔ)丁包
將10個(gè)補(bǔ)丁程序合入補(bǔ)丁包,在模擬的軟件環(huán)境中安裝軟件版本,在線運(yùn)行。加載補(bǔ)丁包,開(kāi)始補(bǔ)丁包測(cè)試。
(2)性能測(cè)試
軟件產(chǎn)品的性能測(cè)試使用華為自研的性能測(cè)試工具NTE,性能自動(dòng)化腳本連跑過(guò)程中spider工具會(huì)自動(dòng)調(diào)用NTE工具執(zhí)行自動(dòng)化性能測(cè)試,并將統(tǒng)計(jì)指定模塊的CPU占用率、資源占用,以及丟包率統(tǒng)計(jì)結(jié)果自動(dòng)寫入excel文件。
性能自動(dòng)化腳本連跑之后,需要分析CPU占用率、資源占用,以及丟包率是否符合要求;是否出現(xiàn)模塊復(fù)位,以及不應(yīng)該出現(xiàn)的告警等。一旦有異常告警、CPU占用率、資源占用,以及丟包率不正確的情況,需要及時(shí)聯(lián)系開(kāi)發(fā)工程師進(jìn)行定位處理。
(3)升級(jí)、回退與配套測(cè)試
補(bǔ)丁配套測(cè)試是指在升級(jí)前、升級(jí)后,以及回退之后完成基本功能測(cè)試。
補(bǔ)丁升級(jí)方式分為補(bǔ)丁包升級(jí)與靜默升級(jí)。補(bǔ)丁包升級(jí)方式是在客戶局點(diǎn)的軟件版本上通過(guò)升級(jí)工具加載補(bǔ)丁包實(shí)現(xiàn)補(bǔ)丁版本升級(jí)。靜默升級(jí)方式是將補(bǔ)丁包與待升級(jí)的軟件版本包一起上傳之后,通過(guò)升級(jí)工具完成軟件版本補(bǔ)丁包安裝升級(jí)。
升級(jí)驗(yàn)證,完成升級(jí)之后,查看環(huán)境上是否有新增的告警信息,完成升級(jí)之后的基本業(yè)務(wù)驗(yàn)證?;赝蓑?yàn)證,完成補(bǔ)丁回退,也要完成基本業(yè)務(wù)驗(yàn)證。
(4)自動(dòng)化腳本連跑測(cè)試
通過(guò)自動(dòng)化功能腳本連跑來(lái)完成對(duì)安裝SPH206補(bǔ)丁包的軟件版本進(jìn)行功能驗(yàn)證。自動(dòng)化工廠的測(cè)試工程師搭建測(cè)試環(huán)境、自動(dòng)化腳本連跑測(cè)試。
工作實(shí)踐表明軟件做好補(bǔ)丁測(cè)試工作,對(duì)于保證軟件補(bǔ)丁質(zhì)量是非常重要的。
6 ? 結(jié)論(Conclusion)
軟件補(bǔ)丁的開(kāi)發(fā)與測(cè)試是軟件維護(hù)的重要組成部分,在軟件維護(hù)中占有很重要的一席之地。工作實(shí)踐表明軟件補(bǔ)丁測(cè)試是保證軟件補(bǔ)丁質(zhì)量的重要方法。軟件補(bǔ)丁的測(cè)試過(guò)程是不斷發(fā)現(xiàn)和解決客戶局點(diǎn)各種問(wèn)題的過(guò)程,不斷擴(kuò)展功能和提升軟件性能的過(guò)程。做好軟件補(bǔ)丁測(cè)試工作不僅有助于的保證與提升軟件補(bǔ)丁版本的質(zhì)量,同時(shí)也為開(kāi)發(fā)軟件產(chǎn)品新版本提供了良好的基礎(chǔ)。
參考文獻(xiàn) (References)
[1] Qi Z,Long F,Achour S,Rinard M.An analysis of patch plausibility and correctness for generate-and-Validate patch generation systems[C].In:Proc. of the 2015 Int' l Symp. on Software Testing and Analysis.ACM Press,2015:24-36.
[2] Long F,Rinard M.An analysis of the search spaces for generates and validates patch generation systems[C].In:Proc. of the IEEE/ACM 38th Int' l Conf. on Software Engineering(ICSE).IEEE,2016:702-713.
[3] Tan SH,Yi J,MechtaeV S,Roychoudhury A.Codenaws:A programming competition benchmark for evaluating automated program repair tools[C].In:Proc. of the 39th Int' l Conf. on Software Engineering Companion.IEEE,2017:180-182.
[4] 李斌,賀也平,馬恒太.程序自動(dòng)修復(fù):關(guān)鍵問(wèn)題及技術(shù)[J].軟件學(xué)報(bào),2019,30(2):244-265.
[5] 姜文,劉立康.基于VXWORKS系統(tǒng)的熱補(bǔ)丁技術(shù)研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2017,27(3):18-22.
[6] 姜文,劉立康.Oracle數(shù)據(jù)庫(kù)補(bǔ)丁問(wèn)題研究[J].電子設(shè)計(jì)工程,2014,22(20):10-13.
[7] 姜文,劉立康.應(yīng)用軟件維護(hù)中的補(bǔ)丁開(kāi)發(fā)與管理[J].計(jì)算機(jī)技術(shù)與發(fā)展,2015,25(11):11-16.
[8] 姜文,劉立康.軟件產(chǎn)品維護(hù)階段的缺陷問(wèn)題管理[J].計(jì)算機(jī)技術(shù)與發(fā)展,2016,26(12):35-44.
作者簡(jiǎn)介:
姜 ?文(1986-),女,碩士,高級(jí)工程師.研究領(lǐng)域:圖像處理,軟件工程和網(wǎng)絡(luò)通信.
劉立康(1962-),男,碩士,副教授.研究領(lǐng)域:數(shù)字通信,圖像處理和軟件工程.