回歸警告方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明一般涉及計(jì)算機(jī)軟件開(kāi)發(fā)領(lǐng)域,并且更具體地涉及向用戶警告軟件中的潛在回歸。
【背景技術(shù)】
[0002]軟件程序的發(fā)展和更新通常涉及大量代碼段的多次迭代。隨著程序發(fā)展并經(jīng)歷變化,代碼段經(jīng)常被若干個(gè)開(kāi)發(fā)人員多次修改。被稱為源控制系統(tǒng)的程序維護(hù)其中存儲(chǔ)有程序的最當(dāng)前版本的存儲(chǔ)庫(kù)。開(kāi)發(fā)人員可以“檢查”被稱為工作副本的副本,并對(duì)代碼作出更改。開(kāi)發(fā)人員隨后必須將工作副本與存儲(chǔ)庫(kù)副本進(jìn)行合并以便更新軟件。此外,多個(gè)開(kāi)發(fā)人員可能同時(shí)工作于同一個(gè)文件上。這導(dǎo)致給定文件有多個(gè)版本,每個(gè)版本具有與其他開(kāi)發(fā)人員的變更不兼容的不同變更。
[0003]隨著軟件變化,開(kāi)發(fā)人員必須保證其對(duì)程序的修改不會(huì)導(dǎo)致對(duì)之前起作用的軟件引入被稱為回歸的新軟件錯(cuò)誤。由于消費(fèi)者的高要求,通過(guò)軟件程序的多次迭代來(lái)最小化回歸會(huì)是軟件開(kāi)發(fā)中一個(gè)昂貴的部分。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的實(shí)施例包括一種用于生成對(duì)于潛在回歸的警告的方法、計(jì)算機(jī)程序產(chǎn)品和系統(tǒng)。在一個(gè)實(shí)施例中,服務(wù)器計(jì)算系統(tǒng)從第一位置接收將第一變更集與一記錄相關(guān)聯(lián)的指令,其中第一變更集具有相關(guān)聯(lián)的元數(shù)據(jù)。服務(wù)器計(jì)算系統(tǒng)將第一變更集與第一記錄相關(guān)聯(lián)。服務(wù)器計(jì)算系統(tǒng)從第二位置接收通過(guò)將第二變更集與第一變更集合并來(lái)修改第一變更集的指令。服務(wù)器計(jì)算系統(tǒng)將警告發(fā)送給第二位置以指示合并第一和第二變更集可能引起回歸。
【附圖說(shuō)明】
[0005]圖1是示出根據(jù)本發(fā)明實(shí)施例的軟件配置管理環(huán)境的功能框圖。
[0006]圖2是示出根據(jù)本發(fā)明實(shí)施例的回歸警告程序的操作步驟的流程圖。
[0007]圖3是示出根據(jù)本發(fā)明實(shí)施例的包括相關(guān)聯(lián)的元數(shù)據(jù)的變更集文件的框圖。
[0008]圖4示出根據(jù)本發(fā)明實(shí)施例的服務(wù)器計(jì)算機(jī)系統(tǒng)的內(nèi)部和外部組件的框圖,該服務(wù)器計(jì)算機(jī)系統(tǒng)在圖1的軟件配置管理環(huán)境中執(zhí)行回歸警告程序。
【具體實(shí)施方式】
[0009]所屬領(lǐng)域的技術(shù)人員將理解的是,本發(fā)明的各個(gè)方面可以實(shí)施為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的各個(gè)方面可以采取以下形式,即:完全的硬件實(shí)施方式、完全的軟件實(shí)施方式(包括固件、駐留軟件、微代碼等),或軟件和硬件方面結(jié)合的實(shí)施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,本發(fā)明的各個(gè)方面還可以采取用一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)上包含有計(jì)算機(jī)可讀程序代碼/指令。
[0010]可以采用計(jì)算機(jī)可讀介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是一但不限于一電、磁、光、電磁、紅外線或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的適當(dāng)組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)軟盤(pán)、硬盤(pán)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPR0M或閃存)、光纖、便攜式緊湊盤(pán)只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本文件的上下文中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
[0011]計(jì)算機(jī)可讀信號(hào)介質(zhì)可以包括例如在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào),其中承載了計(jì)算機(jī)可讀程序代碼。這種傳播的信號(hào)可以采用各種形式,包括但不限于電磁信號(hào)、光信號(hào)或上述的任意合適的組合。計(jì)算機(jī)可讀信號(hào)介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
[0012]計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括但不限于無(wú)線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0013]可以以一種或多種程序設(shè)計(jì)語(yǔ)言的任意組合來(lái)編寫(xiě)用于執(zhí)行本發(fā)明各方面的操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語(yǔ)言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言(諸如Java、Smalltalk^++等),還包括常規(guī)的過(guò)程式程序設(shè)計(jì)語(yǔ)言(諸如“C”程序設(shè)計(jì)語(yǔ)言或類似的程序設(shè)計(jì)語(yǔ)言)。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng)連接)。
[0014]下面將參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明的各方面。應(yīng)當(dāng)理解的是,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些計(jì)算機(jī)程序指令在通過(guò)計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。
[0015]也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,這些指令可以使得計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,使得存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令產(chǎn)生包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的指令的制造品°
[0016]計(jì)算機(jī)程序指令還可以加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其他設(shè)備上,以使一系列操作步驟在計(jì)算機(jī)、其它可編程裝置或其他設(shè)備上被執(zhí)行以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過(guò)程,使得在計(jì)算機(jī)或其它可編程裝置上執(zhí)行的指令提供用于實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的處理。
[0017]現(xiàn)在將參考附圖詳細(xì)描述本發(fā)明。圖1是示出根據(jù)本發(fā)明實(shí)施例的軟件配置管理環(huán)境(總體用100表示)的功能框圖。軟件配置管理環(huán)境100由通過(guò)網(wǎng)絡(luò)120連接的大量計(jì)算機(jī)系統(tǒng)組成。軟件配置管理環(huán)境100包括服務(wù)器計(jì)算機(jī)系統(tǒng)110、開(kāi)發(fā)人員計(jì)算機(jī)系統(tǒng)130和開(kāi)發(fā)人員計(jì)算機(jī)系統(tǒng)132。
[0018]服務(wù)器計(jì)算機(jī)系統(tǒng)110可以是專用計(jì)算機(jī)服務(wù)器、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、平板電腦、上網(wǎng)本、個(gè)人計(jì)算機(jī)(PC)或本領(lǐng)域已知的任何其他計(jì)算機(jī)系統(tǒng)。在某些實(shí)施例中,服務(wù)器計(jì)算機(jī)系統(tǒng)110表示使用集群計(jì)算機(jī)和組件的計(jì)算機(jī)系統(tǒng),當(dāng)通過(guò)網(wǎng)絡(luò)120被訪問(wèn)時(shí)所述集群計(jì)算機(jī)和組件充當(dāng)單個(gè)無(wú)縫資源池,如常見(jiàn)于具有云計(jì)算應(yīng)用的數(shù)據(jù)中心中的那樣。通常,服務(wù)器計(jì)算機(jī)系統(tǒng)110代表能夠讀取機(jī)器可讀程序指令并經(jīng)由網(wǎng)絡(luò)120與其他計(jì)算設(shè)備通信的任何可編程電子設(shè)備或可編程電子設(shè)備的組合。參考圖4更詳細(xì)地描述服務(wù)器計(jì)算機(jī)系統(tǒng)110的示例性組件。
[0019]在本發(fā)明的各種實(shí)施例中,開(kāi)發(fā)人員計(jì)算機(jī)系統(tǒng)130和132可以各自分別是膝上型計(jì)算機(jī)、平板電腦、上網(wǎng)本、個(gè)人計(jì)算機(jī)(PC)、臺(tái)式計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、智能電話、或者能夠經(jīng)由網(wǎng)絡(luò)120與服務(wù)器計(jì)算機(jī)系統(tǒng)110通信的可編程電子設(shè)備。在某些實(shí)施例中,開(kāi)發(fā)人員計(jì)算機(jī)系統(tǒng)130和132可以各自表示使用集群計(jì)算機(jī)和組件的計(jì)算機(jī)系統(tǒng),當(dāng)通過(guò)網(wǎng)絡(luò)120被訪問(wèn)時(shí)所述集群計(jì)算機(jī)和組件充當(dāng)單個(gè)無(wú)縫資源池,如常見(jiàn)于具有云計(jì)算應(yīng)用的數(shù)據(jù)中心中的那樣。
[0020]通常,網(wǎng)絡(luò)120可以是支持服務(wù)器計(jì)算機(jī)系統(tǒng)110和開(kāi)發(fā)人員計(jì)算機(jī)系統(tǒng)130和132之間的通信的連接和協(xié)議的任意組合。網(wǎng)絡(luò)120可以包括例如局域網(wǎng)(LAN)、諸如因特網(wǎng)的廣域網(wǎng)(WAN)、蜂窩網(wǎng)絡(luò)或前述網(wǎng)絡(luò)的任意組合,并且還可以包括有線、無(wú)線和/或光纖連接。
[0021]源控制系統(tǒng)112駐留在服務(wù)器計(jì)算機(jī)系統(tǒng)110上,并管理對(duì)于文檔、計(jì)算機(jī)程序、網(wǎng)站或其他信息集合的