亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

測(cè)試軟件的方法和設(shè)備的制作方法

文檔序號(hào):6502268閱讀:534來源:國(guó)知局
測(cè)試軟件的方法和設(shè)備的制作方法
【專利摘要】本發(fā)明公開了一種測(cè)試軟件的方法和設(shè)備。所述方法包括:監(jiān)視在軟件測(cè)試實(shí)例中是否發(fā)生預(yù)定義的事件;響應(yīng)于發(fā)生預(yù)定義的事件,根據(jù)該事件的性質(zhì)生成軟件測(cè)試實(shí)例的不同類型的快照,所述快照用于記錄發(fā)生所述預(yù)定義的事件時(shí)的軟件測(cè)試實(shí)例的狀態(tài);以及在與所述預(yù)定義的事件相關(guān)的信息中存儲(chǔ)所述不同類型的快照。通過所述設(shè)備和方法,測(cè)試者能夠正確地監(jiān)視并反饋測(cè)試結(jié)果,開發(fā)者能夠迅速再現(xiàn)軟件測(cè)試實(shí)例的狀態(tài),并且定位和修改軟件中存在的缺陷,而管理者能夠及時(shí)掌握測(cè)試進(jìn)度,從而加快了“測(cè)試-發(fā)生事件-產(chǎn)生快照-定位和修復(fù)問題-測(cè)試”的測(cè)試流程,提高了測(cè)試效率。
【專利說明】測(cè)試軟件的方法和設(shè)備

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及軟件測(cè)試領(lǐng)域,更具體地涉及一種測(cè)試軟件的方法和設(shè)備。

【背景技術(shù)】
[0002] 在軟件編寫完成之后,為了確定軟件的正確性和穩(wěn)定性等,需要進(jìn)行軟件測(cè)試。在 測(cè)試期間,測(cè)試者記錄發(fā)生的各種問題(例如由于測(cè)試結(jié)果與預(yù)期結(jié)果不一致導(dǎo)致的各種 異常以及各種嚴(yán)重或不嚴(yán)重的錯(cuò)誤等),并且將這些問題報(bào)告給軟件的管理者(例如項(xiàng)目經(jīng) 理)和開發(fā)者,使得管理者能夠了解軟件測(cè)試的進(jìn)度和狀態(tài),并且開發(fā)者能夠根據(jù)所述問題 修改軟件以消除其缺陷。
[0003] 目前,測(cè)試者向管理者和開發(fā)者直接地口頭報(bào)告所發(fā)現(xiàn)的問題,或者通過項(xiàng)目管 理工具間接地書面報(bào)告所發(fā)現(xiàn)的問題。然而,在某些測(cè)試場(chǎng)景中,例如在諸如黑盒測(cè)試之類 的復(fù)雜測(cè)試場(chǎng)景中,測(cè)試者對(duì)問題的描述可能并不全面和準(zhǔn)確,使得管理者不能準(zhǔn)確地掌 握測(cè)試進(jìn)度和狀態(tài),同時(shí)開發(fā)者也不能準(zhǔn)確地了解所出現(xiàn)的問題并且再現(xiàn)該問題出現(xiàn)的場(chǎng) 景,導(dǎo)致不能完美地修改軟件以消除其中存在的缺陷。


【發(fā)明內(nèi)容】

[0004] 為了解決上述問題,本發(fā)明的一個(gè)目的是提供一種測(cè)試軟件的方法和設(shè)備,其使 得測(cè)試者能夠準(zhǔn)確地記錄和反饋軟件測(cè)試期間出現(xiàn)的問題以及出現(xiàn)該問題時(shí)的測(cè)試環(huán)境, 從而開發(fā)者能夠容易地了解和再現(xiàn)所述問題出現(xiàn)的場(chǎng)景以準(zhǔn)確地消除軟件中存在的缺陷。
[0005] 根據(jù)本發(fā)明的一個(gè)方面,提供了一種測(cè)試軟件的方法,包括:監(jiān)視在軟件測(cè)試實(shí) 例中是否發(fā)生預(yù)定義的事件;響應(yīng)于發(fā)生預(yù)定義的事件,根據(jù)該事件的性質(zhì)生成軟件測(cè)試 實(shí)例的不同類型的快照,所述快照用于記錄發(fā)生所述預(yù)定義的事件時(shí)的軟件測(cè)試實(shí)例的狀 態(tài);以及在與所述預(yù)定義的事件相關(guān)的信息中存儲(chǔ)所述不同類型的快照。
[0006] 根據(jù)本發(fā)明的另一個(gè)方面,提供了一種測(cè)試軟件的設(shè)備,包括:監(jiān)視裝置,被配置 為監(jiān)視在軟件測(cè)試實(shí)例中是否發(fā)生預(yù)定義的事件;快照裝置,被配置為響應(yīng)于發(fā)生預(yù)定義 的事件,根據(jù)該事件的性質(zhì)生成軟件測(cè)試實(shí)例的不同類型的快照,所述快照用于記錄發(fā)生 所述預(yù)定義的事件時(shí)的軟件測(cè)試實(shí)例的狀態(tài);以及存儲(chǔ)裝置,被配置為在與所述預(yù)定義的 事件相關(guān)的信息中存儲(chǔ)所述不同類型的快照。
[0007] 利用根據(jù)本發(fā)明上述方面的方法和系統(tǒng),在軟件測(cè)試期間,當(dāng)在軟件測(cè)試實(shí)例中 發(fā)生諸如異?;蝈e(cuò)誤之類的事件時(shí),根據(jù)該問題的性質(zhì)(例如,嚴(yán)重性),產(chǎn)生軟件測(cè)試實(shí)例 的不同類型的快照,使得測(cè)試者可以準(zhǔn)確地記錄并反饋所述事件,由此開發(fā)者可以基于所 述快照迅速地再現(xiàn)發(fā)生所述事件的場(chǎng)景,從而準(zhǔn)確地定位并修復(fù)軟件中存在的缺陷。

【專利附圖】

【附圖說明】
[0008] 通過結(jié)合附圖對(duì)本公開示例性實(shí)施方式進(jìn)行更詳細(xì)的描述,本公開的上述以及其 它目的、特征和優(yōu)勢(shì)將變得更加明顯,其中,在本公開示例性實(shí)施方式中,相同的參考標(biāo)號(hào) 通常代表相同部件。
[0009] 圖1示出了適于用來實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算機(jī)系統(tǒng)/服務(wù)器12的框 圖。
[0010] 圖2示意性地示出了指導(dǎo)文件的內(nèi)容。
[0011] 圖3是示出根據(jù)本發(fā)明實(shí)施例的測(cè)試軟件的方法的流程圖。
[0012] 圖4示出了管理者的交互界面(S卩,管理者視圖)的示例。
[0013] 圖5示出了測(cè)試者的交互界面卿,測(cè)試者視圖)的示例。
[0014] 圖6示出了開發(fā)者的交互界面(S卩,開發(fā)者視圖)的示例。
[0015] 圖7示意性地示出當(dāng)在軟件測(cè)試期間發(fā)生某種事件時(shí)測(cè)試者與開發(fā)者的工作流 程。
[0016] 圖8是示出根據(jù)本發(fā)明實(shí)施例的測(cè)試軟件的設(shè)備的框圖。
[0017] 圖9是示出圖8所示的監(jiān)視裝置的詳細(xì)結(jié)構(gòu)的框圖。

【具體實(shí)施方式】
[0018] 下面將參照附圖更詳細(xì)地描述本公開的優(yōu)選實(shí)施方式。雖然附圖中顯示了本公開 的優(yōu)選實(shí)施方式,然而應(yīng)該理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施方 式所限制。相反,提供這些實(shí)施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的 范圍完整地傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0019] 所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,本發(fā)明可以實(shí)現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。 因此,本公開可以具體實(shí)現(xiàn)為以下形式,即:可以是完全的硬件、也可以是完全的軟件(包括 固件、駐留軟件、微代碼等),還可以是硬件和軟件結(jié)合的形式,本文一般稱為"電路"、"模 塊"或"系統(tǒng)"。此外,在一些實(shí)施例中,本發(fā)明還可以實(shí)現(xiàn)為在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì) 中的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)中包含計(jì)算機(jī)可讀的程序代碼。
[0020] 可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀的介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì) 算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是--但不限 于--電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算 機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便 攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ) 器(EPROM或閃存)、光纖、便攜式緊湊磁盤只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、磁存儲(chǔ)器件、 或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程 序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
[0021] 計(jì)算機(jī)可讀的信號(hào)介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào), 其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(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é)合使用的程序。
[0022] 計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括--但不限 于--無線、電線、光纜、RF等等,或者上述的任意合適的組合。
[0023] 可以以一種或多種程序設(shè)計(jì)語言或其組合來編寫用于執(zhí)行本發(fā)明操作的計(jì)算機(jī) 程序代碼,所述程序設(shè)計(jì)語言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語言一諸如Java、Smalltalk、C++, 還包括常規(guī)的過程式程序設(shè)計(jì)語言一諸如" C"語言或類似的程序設(shè)計(jì)語言。程序代碼可以 完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部 分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在 涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過任意種類的網(wǎng)絡(luò)--包括局域網(wǎng)(LAN)或 廣域網(wǎng)(WAN)-連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提 供商來通過因特網(wǎng)連接)。
[0024] 下面將參照本發(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ī)程序 指令通過計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置執(zhí)行,產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的方框 中規(guī)定的功能/操作的裝置。
[0025] 也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在能使得計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置 以特定方式工作的計(jì)算機(jī)可讀介質(zhì)中,這樣,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出一 個(gè)包括實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置(instruction means)的制造品(manufacture)。
[0026] 也可以把計(jì)算機(jī)程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備 上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì) 算機(jī)實(shí)現(xiàn)的過程,從而使得在計(jì)算機(jī)或其它可編程裝置上執(zhí)行的指令能夠提供實(shí)現(xiàn)流程圖 和/或框圖中的方框中規(guī)定的功能/操作的過程。
[0027] 圖1示出了適于用來實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算機(jī)系統(tǒng)/服務(wù)器12的框 圖。圖1顯示的計(jì)算機(jī)系統(tǒng)/服務(wù)器12僅僅是一個(gè)示例,不應(yīng)對(duì)本發(fā)明實(shí)施例的功能和使 用范圍帶來任何限制。
[0028] 如圖1所示,計(jì)算機(jī)系統(tǒng)/服務(wù)器12以通用計(jì)算設(shè)備的形式表現(xiàn)。計(jì)算機(jī)系統(tǒng) /服務(wù)器12的組件可以包括但不限于:一個(gè)或者多個(gè)處理器或者處理單元16,系統(tǒng)存儲(chǔ)器 28,連接不同系統(tǒng)組件(包括系統(tǒng)存儲(chǔ)器28和處理單元16)的總線18。
[0029] 總線18表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲(chǔ)器總線或者存儲(chǔ)器控制器, 外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。舉 例來說,這些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線,微通道體系結(jié)構(gòu)(MAC) 總線,增強(qiáng)型ISA總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局域總線以及外圍組件互連(PCI)總線。
[0030] 計(jì)算機(jī)系統(tǒng)/服務(wù)器12典型地包括多種計(jì)算機(jī)系統(tǒng)可讀介質(zhì)。這些介質(zhì)可以是 任何能夠被計(jì)算機(jī)系統(tǒng)/服務(wù)器12訪問的可用介質(zhì),包括易失性和非易失性介質(zhì),可遷移 的和不可遷移的介質(zhì)。
[0031] 系統(tǒng)存儲(chǔ)器28可以包括易失性存儲(chǔ)器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),例如隨機(jī)存 取存儲(chǔ)器(RAM)30和/或高速緩存存儲(chǔ)器32。計(jì)算機(jī)系統(tǒng)/服務(wù)器12可以進(jìn)一步包括其 它可遷移/不可遷移的、易失性/非易失性計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)。僅作為舉例,存儲(chǔ)系統(tǒng)34 可以用于讀寫不可遷移的、非易失性磁介質(zhì)(圖1未顯示,通常稱為"硬盤驅(qū)動(dòng)器")。盡管圖 1中未示出,可以提供用于對(duì)可遷移非易失性磁盤(例如"軟盤")讀寫的磁盤驅(qū)動(dòng)器,以及對(duì) 可遷移非易失性光盤(例如CD-ROM,DVD-ROM或者其它光介質(zhì))讀寫的光盤驅(qū)動(dòng)器。在這些 情況下,每個(gè)驅(qū)動(dòng)器可以通過一個(gè)或者多個(gè)數(shù)據(jù)介質(zhì)接口與總線18相連。存儲(chǔ)器28可以 包括至少一個(gè)程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個(gè))程序模塊,這些程序模塊被 配置以執(zhí)行本發(fā)明各實(shí)施例的功能。
[0032] 具有一組(至少一個(gè))程序模塊42的程序/實(shí)用工具40,可以存儲(chǔ)在例如存儲(chǔ)器 28中,這樣的程序模塊42包括--但不限于--操作系統(tǒng)、一個(gè)或者多個(gè)應(yīng)用程序、其它 程序模塊以及程序數(shù)據(jù),這些示例中的每一個(gè)或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)。程 序模塊42通常執(zhí)行本發(fā)明所描述的實(shí)施例中的功能和/或方法。
[0033] 計(jì)算機(jī)系統(tǒng)/服務(wù)器12也可以與一個(gè)或多個(gè)外部設(shè)備14 (例如鍵盤、指向設(shè)備、 顯示器24等)通信,還可與一個(gè)或者多個(gè)使得用戶能與該計(jì)算機(jī)系統(tǒng)/服務(wù)器12交互的設(shè) 備通信,和/或與使得該計(jì)算機(jī)系統(tǒng)/服務(wù)器12能與一個(gè)或多個(gè)其它計(jì)算設(shè)備進(jìn)行通信的 任何設(shè)備(例如網(wǎng)卡,調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(I/O)接口 22 進(jìn)行。并且,計(jì)算機(jī)系統(tǒng)/服務(wù)器12還可以通過網(wǎng)絡(luò)適配器20與一個(gè)或者多個(gè)網(wǎng)絡(luò)(例如 局域網(wǎng)(LAN),廣域網(wǎng)(WAN)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖所示,網(wǎng)絡(luò)適配器20 通過總線18與計(jì)算機(jī)系統(tǒng)/服務(wù)器12的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,可以 結(jié)合計(jì)算機(jī)系統(tǒng)/服務(wù)器12使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū) 動(dòng)器、冗余處理單元、外部磁盤驅(qū)動(dòng)陣列、RAID系統(tǒng)、磁帶驅(qū)動(dòng)器以及數(shù)據(jù)備份存儲(chǔ)系統(tǒng)等。 [0034] 下面,將參照附圖來描述根據(jù)本發(fā)明實(shí)施例的測(cè)試軟件的方法和設(shè)備。
[0035] 在軟件編寫完成之后,可以在安裝有操作系統(tǒng)的計(jì)算機(jī)(物理機(jī)或虛擬機(jī))上測(cè)試 該軟件,以檢驗(yàn)在軟件中是否存在缺陷。如果在軟件中存在缺陷,則在測(cè)試過程中會(huì)發(fā)生各 種事件,例如異常、錯(cuò)誤、或者其他類型的問題。在本發(fā)明的實(shí)施例中,可以響應(yīng)于所述事件 的發(fā)生而產(chǎn)生軟件測(cè)試實(shí)例的不同類型的快照,并且將與該事件相關(guān)的信息以分級(jí)的方式 顯示在為軟件的管理者、開發(fā)者和測(cè)試者三者中的至少兩者提供的交互界面上,使得測(cè)試 者能夠準(zhǔn)確地記錄并反饋軟件測(cè)試期間發(fā)生的問題,開發(fā)者能夠根據(jù)該快照迅速地再現(xiàn)發(fā) 生所述事件時(shí)的軟件測(cè)試實(shí)例,從而修改軟件以消除其中的缺陷,而管理者能夠及時(shí)掌握 測(cè)試進(jìn)度,從而提高軟件測(cè)試的效率。所述交互界面可以采用網(wǎng)頁的形式,或者可以采用根 據(jù)需要選擇的任何其他形式。
[0036] 軟件的管理者負(fù)責(zé)組織對(duì)該軟件的測(cè)試工作。具體地,管理者制定軟件的測(cè)試計(jì) 劃,例如測(cè)試時(shí)間表等,并且指定測(cè)試時(shí)應(yīng)當(dāng)使用的測(cè)試用例。管理者可以通過其交互界面 來輸入軟件測(cè)試計(jì)劃,并且將測(cè)試任務(wù)分配給測(cè)試者和開發(fā)者。
[0037] 管理者指定的測(cè)試用例描述了軟件測(cè)試的測(cè)試目標(biāo)、測(cè)試場(chǎng)景、測(cè)試步驟、預(yù)期測(cè) 試結(jié)果等。在自動(dòng)測(cè)試的情況下,可以通過例如解析引擎分析所述測(cè)試用例,以生成機(jī)器可 讀的指導(dǎo)文件以供計(jì)算機(jī)執(zhí)行。通過解析引擎分析測(cè)試用例并且生成指導(dǎo)文件的方法是本 領(lǐng)域公知的,在這里省略其描述。所生成的指導(dǎo)文件可以被部署到操作系統(tǒng)中,以便通過執(zhí) 行該指導(dǎo)文件來執(zhí)行軟件測(cè)試。在手動(dòng)測(cè)試的情況下,可以不生成所述指導(dǎo)文件,而是由測(cè) 試者手動(dòng)執(zhí)行所述測(cè)試步驟。在下文中,以自動(dòng)測(cè)試的情況為例來描述本發(fā)明的實(shí)施例。
[0038] 指導(dǎo)文件可以包含測(cè)試需要的信息。圖2示意性地示出了指導(dǎo)文件的內(nèi)容。如圖 2所示,指導(dǎo)文件可以包含測(cè)試步驟,即根據(jù)測(cè)試用例確定的在進(jìn)行軟件測(cè)試時(shí)需要遵循的 步驟。由于軟件可以包括多個(gè)模塊,因此,指導(dǎo)文件還可以指定在軟件測(cè)試時(shí)要調(diào)用的所述 軟件的一個(gè)或多個(gè)模塊,以測(cè)試這些模塊是否正確。相應(yīng)地,指導(dǎo)文件可以指定對(duì)于每個(gè)模 塊期望獲得的預(yù)期執(zhí)行結(jié)果(預(yù)期值)。此外,指導(dǎo)文件還可以包括描述該指導(dǎo)文件的基本 信息的屬性信息,所述基本信息例如可以包括該指導(dǎo)文件的部署環(huán)境、版本信息等。
[0039] 如圖2所示,指導(dǎo)文件還可以定義一個(gè)或多個(gè)快照觸發(fā)器(snapshot trigger), 用于觸發(fā)產(chǎn)生軟件測(cè)試實(shí)例的一種或多種類型的快照的操作。具體地,每個(gè)快照觸發(fā)器可 以定義一個(gè)觸發(fā)條件和相應(yīng)類型的快照產(chǎn)生操作,使得當(dāng)滿足該觸發(fā)條件時(shí),通過調(diào)用該 快照觸發(fā)器,可以觸發(fā)產(chǎn)生軟件測(cè)試實(shí)例的對(duì)應(yīng)類型的快照的操作。在本發(fā)明的實(shí)施例中, 可以根據(jù)在測(cè)試期間發(fā)生的事件的性質(zhì)來定義不同的快照觸發(fā)器。例如,通過調(diào)用不同的 觸發(fā)器,對(duì)于具有第一性質(zhì)的事件,可以產(chǎn)生軟件測(cè)試實(shí)例的多個(gè)快照,而對(duì)于具有第二性 質(zhì)的事件,可以產(chǎn)生軟件測(cè)試實(shí)例的單個(gè)快照。所述事件的性質(zhì)可以包括事件的嚴(yán)重性、事 件發(fā)生的次數(shù)以及所述事件本身的類型、或者所述事件的其他性質(zhì)。例如,在所述事件的性 質(zhì)是事件的嚴(yán)重性的情況下,可以將事件的嚴(yán)重性分為三個(gè)等級(jí):第一嚴(yán)重性等級(jí)(例如, 嚴(yán)重)、第二嚴(yán)重性等級(jí)(例如,中等)和第三嚴(yán)重性等級(jí)(例如輕微)。相應(yīng)地,可以在指導(dǎo)文 件中定義兩個(gè)快照觸發(fā)器。第一個(gè)快照觸發(fā)器以嚴(yán)重性達(dá)到第一嚴(yán)重性等級(jí)為觸發(fā)條件, 通過調(diào)用該快照觸發(fā)器,可以對(duì)于第一嚴(yán)重性等級(jí)的事件,觸發(fā)產(chǎn)生軟件測(cè)試實(shí)例的多個(gè) 快照的操作。第二個(gè)快照觸發(fā)器以嚴(yán)重性達(dá)到第二嚴(yán)重性等級(jí)為觸發(fā)條件,通過調(diào)用該快 照觸發(fā)器,可以對(duì)于第二嚴(yán)重性等級(jí)的事件,觸發(fā)產(chǎn)生軟件測(cè)試實(shí)例的單個(gè)快照的操作。對(duì) 于輕微事件,可以不產(chǎn)生軟件測(cè)試實(shí)例的快照,因此可以不定義快照觸發(fā)器。例如,可以根 據(jù)所發(fā)生的事件是否影響軟件或模塊功能的實(shí)現(xiàn)和/或是否影響執(zhí)行結(jié)果的正確性來確 定其嚴(yán)重性等級(jí),其中,當(dāng)所述事件不會(huì)影響所述功能的實(shí)現(xiàn)和執(zhí)行結(jié)果的正確性時(shí),可以 將該事件確定為第三嚴(yán)重性等級(jí),當(dāng)所述事件不影響所述功能的實(shí)現(xiàn)但是會(huì)影響執(zhí)行結(jié)果 的正確時(shí),可以將該事件確定為第二嚴(yán)重性等級(jí),當(dāng)所述事件會(huì)導(dǎo)致所述功能不能實(shí)現(xiàn)時(shí), 可以將該事件確定為第一嚴(yán)重性等級(jí)。在其他實(shí)施例中,確定事件的嚴(yán)重性等級(jí)的標(biāo)準(zhǔn)不 限于上述標(biāo)準(zhǔn),而是可以是根據(jù)實(shí)際需要選擇的任何其他標(biāo)準(zhǔn),此外,可以將事件的嚴(yán)重性 分為更多或更少的等級(jí),并且在指導(dǎo)文件中定義相應(yīng)類型的快照觸發(fā)器。所述快照產(chǎn)生操 作的類型也不限于上文所述的兩種類型,而是也可以是根據(jù)實(shí)際需要設(shè)定的其他類型,例 如連續(xù)產(chǎn)生多個(gè)快照的操作和間歇地產(chǎn)生多個(gè)快照的操作等等。
[0040] 測(cè)試者經(jīng)由其交互界面接收管理者分配的任務(wù),并且執(zhí)行測(cè)試操作。具體地,測(cè)試 者可以將要測(cè)試的軟件安裝在操作系統(tǒng)中,從而初始化一個(gè)測(cè)試實(shí)例。此時(shí),可以拍攝該測(cè) 試實(shí)例的快照,作為軟件測(cè)試的起點(diǎn)。此時(shí)拍攝的快照記錄了軟件測(cè)試實(shí)例的當(dāng)前狀態(tài),例 如當(dāng)前執(zhí)行的軟件測(cè)試步驟、軟件/模塊中的相關(guān)變量/參數(shù)的狀態(tài)或值等。該快照可以 采用根據(jù)實(shí)際需要選擇的任何形式。例如,當(dāng)在虛擬機(jī)上創(chuàng)建軟件測(cè)試實(shí)例從而執(zhí)行軟件 測(cè)試時(shí),所述快照可以是數(shù)據(jù)文件,該數(shù)據(jù)文件可以包括指示拍攝該快照時(shí)執(zhí)行的軟件測(cè) 試步驟的信息、以及此時(shí)運(yùn)行所述軟件測(cè)試實(shí)例的虛擬機(jī)的盤鏡像文件等。在其他情況下, 該快照也可以采用屏幕截圖的形式,在該屏幕截圖中記錄指示軟件測(cè)試實(shí)例的當(dāng)前狀態(tài)的 信息。該快照可以被存儲(chǔ)在快照庫(kù)中。產(chǎn)生測(cè)試實(shí)例的快照的方法是本領(lǐng)域公知的,在這 里不再贅述。如下文所述,可以通過快照裝置來產(chǎn)生所述快照。
[0041] 在完成準(zhǔn)備工作之后,可以開始軟件測(cè)試。下面,將參照?qǐng)D3來描述根據(jù)本發(fā)明實(shí) 施例的測(cè)試軟件的方法。如上文所述,以自動(dòng)測(cè)試為例來描述該方法。
[0042] 如圖3所示,在步驟S301,監(jiān)視在軟件測(cè)試實(shí)例中是否發(fā)生預(yù)定義的事件。如上文 所述,所述事件可以是異常、錯(cuò)誤或者其他類型的事件,在下文中,以異常作為所述事件的 示例。可以通過在被測(cè)試的軟件中安裝監(jiān)視插件來執(zhí)行這一監(jiān)視操作,該監(jiān)視插件基于編 程語言框架,使得該插件可以獨(dú)立于軟件的模塊。這樣,可以在測(cè)試開始時(shí)將該插件安裝到 軟件中以便在被激活時(shí)執(zhí)行上述監(jiān)視操作,而不需要修改軟件本身的代碼,并且在軟件測(cè) 試結(jié)束之后卸載該插件。
[0043] 如上文所述,可以通過執(zhí)行指導(dǎo)文件中給出的各個(gè)測(cè)試步驟來測(cè)試所述軟件。在 執(zhí)行所述測(cè)試步驟期間,將調(diào)用在指導(dǎo)文件中指定的一個(gè)或多個(gè)模塊,并且輸出執(zhí)行結(jié)果 (實(shí)際執(zhí)行結(jié)果)??梢酝ㄟ^分析所述實(shí)際執(zhí)行結(jié)果來監(jiān)視在軟件測(cè)試實(shí)例中是否發(fā)生預(yù)定 義的事件。
[0044] 具體地,當(dāng)根據(jù)測(cè)試步驟調(diào)用軟件的某個(gè)模塊時(shí),該模塊將執(zhí)行測(cè)試步驟指定的 操作,并且輸出實(shí)際執(zhí)行結(jié)果??梢越邮赵搶?shí)際執(zhí)行結(jié)果,并且將其與在指導(dǎo)文件中對(duì)于該 模塊指定的預(yù)期執(zhí)行結(jié)果進(jìn)行比較,以確定二者是否一致,從而監(jiān)視在軟件測(cè)試實(shí)例中發(fā) 生的事件。如果實(shí)際執(zhí)行結(jié)果與預(yù)期執(zhí)行結(jié)果一致,則實(shí)際執(zhí)行結(jié)果是正確的,即,沒有發(fā) 生"異常"事件。反之,如果實(shí)際執(zhí)行結(jié)果與預(yù)期執(zhí)行結(jié)果不一致,則該實(shí)際執(zhí)行結(jié)果是錯(cuò)誤 的,即,在軟件測(cè)試期間發(fā)生了"異常"事件。在這里,可以在實(shí)際執(zhí)行結(jié)果與預(yù)期執(zhí)行結(jié)果 相同時(shí),確定它們是一致的,否則確定它們不一致??商鎿Q地,可以在實(shí)際執(zhí)行結(jié)果相對(duì)于 預(yù)期執(zhí)行結(jié)果的偏差小于預(yù)定的可接受范圍時(shí),確定它們是一致的,否則確定它們不一致。 [0045] 當(dāng)確定發(fā)生"異常"事件時(shí),可以記錄與該事件相關(guān)聯(lián)的軟件的模塊以及其中的類 和/或函數(shù)以供以后使用。例如,如果在調(diào)用某個(gè)模塊時(shí)發(fā)生"異常"事件,可以以消息的 形式來記錄該事件,該消息可以采用下表1所示的格式。
[0046] 表 1
[0047] 事件名稱函數(shù)名稱類名稱 輸入 輸出 ... 結(jié)果 異常1 H A XI Y1 ... 不一致
[0048] 在表1中,"事件名稱"表示在調(diào)用所述模塊時(shí)發(fā)生的事件的名稱,"函數(shù)名稱"表 示與該事件相關(guān)聯(lián)的所述模塊的函數(shù),"類名稱"表示與該事件相關(guān)聯(lián)的所述模塊的類,"輸 入值"表示在調(diào)用該模塊時(shí)對(duì)于該模塊的輸入值,"輸出值"表示通過調(diào)用該模塊獲得的輸 出值,"結(jié)果"表示所述輸出值與預(yù)期執(zhí)行結(jié)果的比較結(jié)果。通過這樣的消息,可以將所發(fā)生 的"異常"事件與軟件的各個(gè)組件(模塊/類/函數(shù))相關(guān)聯(lián)。
[0049] 然后,可以確定所發(fā)生的事件是否已經(jīng)被預(yù)先記錄在事件庫(kù)中。具體地,可以將該 事件與在事件庫(kù)中預(yù)先存儲(chǔ)的各個(gè)事件進(jìn)行匹配,以確定該事件是否是在事件庫(kù)中預(yù)定義 的事件。事件庫(kù)是例如由測(cè)試者預(yù)先建立的數(shù)據(jù)庫(kù),其存儲(chǔ)在軟件測(cè)試期間可能出現(xiàn)的各 種類型的事件作為其條目。例如,在所述事件為"異常"的情況下,可以將該"異常"與事件 庫(kù)中預(yù)先存儲(chǔ)的各種"異常"進(jìn)行匹配,以確定該"異常"是否是預(yù)定義的"異常"。
[0050] 如果在事件庫(kù)中不存在與所發(fā)生的事件匹配的條目,則所發(fā)生的事件不是預(yù)定義 的事件,在這種情況下,可以忽略該事件,或者可以將該事件記錄在候選事件庫(kù)中,然后將 其選擇性地添加到上述事件庫(kù)中,以便在以后的測(cè)試中使用。如稍后詳細(xì)描述的,可以通過 自學(xué)習(xí)過程將所述事件選擇性地添加到事件庫(kù)中。
[0051] 另一方面,如果在事件庫(kù)中存在與所發(fā)生的事件匹配的條目,則可以確定所發(fā)生 的事件是預(yù)定義的事件。接下來,在步驟S302,響應(yīng)于發(fā)生該預(yù)定義的事件,根據(jù)該事件的 性質(zhì)而產(chǎn)生軟件測(cè)試實(shí)例的不同類型的快照。所述快照用于記錄發(fā)生所述預(yù)定義的事件時(shí) 的軟件測(cè)試實(shí)例的狀態(tài)。
[0052] 如上文所述,在本發(fā)明的實(shí)施例中,所述事件的性質(zhì)可以包括事件的嚴(yán)重性、事件 發(fā)生的次數(shù)以及所述事件本身的類型、或者所述事件的其他性質(zhì)。例如,在所述事件的性質(zhì) 是事件的嚴(yán)重性的情況下,可以將事件的嚴(yán)重性分為三個(gè)等級(jí):第一嚴(yán)重性等級(jí)(例如,嚴(yán) 重)、第二嚴(yán)重性等級(jí)(例如,中等)和第三嚴(yán)重性等級(jí)(例如輕微)。劃分嚴(yán)重性等級(jí)的標(biāo)準(zhǔn) 可以根據(jù)實(shí)際需要靈活地設(shè)定。當(dāng)確定發(fā)生預(yù)定義的事件時(shí),可以根據(jù)所述標(biāo)準(zhǔn)確定該事 件的嚴(yán)重性等級(jí),然后根據(jù)該嚴(yán)重性等級(jí),通過調(diào)用指導(dǎo)文件中的相應(yīng)的快照觸發(fā)器來產(chǎn) 生軟件測(cè)試實(shí)例的不同類型的快照。具體地,對(duì)于第一嚴(yán)重性等級(jí)的事件,可以執(zhí)行第一類 型的快照產(chǎn)生操作,例如產(chǎn)生對(duì)于軟件測(cè)試實(shí)例的多個(gè)快照,例如在發(fā)生所述事件的時(shí)間 點(diǎn)前后的多個(gè)時(shí)間點(diǎn)處的軟件測(cè)試實(shí)例的多個(gè)快照。對(duì)于第二嚴(yán)重性等級(jí)的事件,可以執(zhí) 行第二類型的快照產(chǎn)生操作,例如產(chǎn)生對(duì)于軟件測(cè)試實(shí)例的單個(gè)快照。對(duì)于第三嚴(yán)重性等 級(jí)的事件,可以不執(zhí)行快照產(chǎn)生操作。在這里,響應(yīng)于發(fā)生預(yù)定義的事件而拍攝的快照可以 采用根據(jù)實(shí)際需要選擇的任何形式。例如,當(dāng)所述軟件測(cè)試實(shí)例在虛擬機(jī)上運(yùn)行以執(zhí)行軟 件測(cè)試時(shí),所述快照可以是數(shù)據(jù)文件,該數(shù)據(jù)文件可以包括指示發(fā)生預(yù)定義的事件時(shí)執(zhí)行 的軟件測(cè)試步驟的信息、以及發(fā)生預(yù)定義的事件時(shí)該虛擬機(jī)的盤鏡像文件。在其他情況下, 該快照可以采用屏幕截圖的形式,在該屏幕截圖中記錄指示發(fā)生預(yù)定義的事件時(shí)軟件測(cè)試 實(shí)例的當(dāng)前狀態(tài)的信息。此外,所述嚴(yán)重性等級(jí)不限于上述三種,并且所執(zhí)行的快照產(chǎn)生操 作的類型也不限于上述兩種。
[0053] 這樣,通過在發(fā)生預(yù)定義的事件(例如異常或錯(cuò)誤)時(shí)產(chǎn)生軟件測(cè)試實(shí)例的快照, 可以及時(shí)準(zhǔn)確地記錄發(fā)生該事件時(shí)的軟件測(cè)試實(shí)例的狀態(tài),例如正在執(zhí)行的測(cè)試步驟、軟 件中的各函數(shù)/變量的狀態(tài)或值等,使得開發(fā)者可以根據(jù)該快照迅速地恢復(fù)發(fā)生所述事件 時(shí)的場(chǎng)景(即,軟件測(cè)試實(shí)例的狀態(tài)),從而定位和解決軟件中的缺陷。此外,通過根據(jù)所發(fā) 生的事件的性質(zhì)產(chǎn)生不同類型的快照,可以使所產(chǎn)生的快照更充分地反映所述事件發(fā)生的 背景。例如,當(dāng)在軟件測(cè)試過程中發(fā)生嚴(yán)重事件時(shí),通過分析發(fā)生所述事件的時(shí)間點(diǎn)前后的 多個(gè)時(shí)間點(diǎn)處的軟件測(cè)試實(shí)例的多個(gè)快照,可以更清楚地了解該事件的整個(gè)發(fā)生過程,從 而準(zhǔn)確地定位和解決軟件中存在的缺陷。
[0054] 接下來,在步驟S303中,在與所述預(yù)定義的事件相關(guān)的信息中存儲(chǔ)所述不同類型 的快照。
[0055] 在發(fā)生所述預(yù)定義的事件之后,可以存儲(chǔ)與所述預(yù)定義的事件相關(guān)的信息,以便 在適當(dāng)?shù)臅r(shí)候呈現(xiàn)給測(cè)試者、開發(fā)者和管理者。為此,可以在與所述預(yù)定義的事件相關(guān)的信 息中存儲(chǔ)所述不同類型的快照。除了所述快照以外,還可以在與所述預(yù)定義的事件相關(guān)的 信息中存儲(chǔ)根據(jù)需要選擇的其他信息,例如指示發(fā)生了所述事件的信息、所述事件的內(nèi)容、 與所述事件相關(guān)聯(lián)的軟件的模塊和代碼等,例如稍后參照?qǐng)D4-6描述的信息??梢砸远喾N 方式存儲(chǔ)所述預(yù)定義的事件相關(guān)的信息。例如,可以將該信息與所述快照相關(guān)聯(lián)地存儲(chǔ)在 快照庫(kù)中,或者可以將該信息存儲(chǔ)在單獨(dú)的數(shù)據(jù)庫(kù)(例如事件庫(kù))中,而且,可以用任何適當(dāng) 格式的數(shù)據(jù)文件來存儲(chǔ)該信息。
[0056] 在本發(fā)明的實(shí)施例中,還可以以分級(jí)的方式,在軟件的開發(fā)者、測(cè)試者和管理者三 者中的至少兩者的交互界面上顯示與所述預(yù)定義的事件相關(guān)的信息。
[0057] 具體地,如上文所述,可以為軟件的開發(fā)者、測(cè)試者和管理者提供交互界面。當(dāng)在 步驟S301中檢測(cè)到諸如異常、錯(cuò)誤之類的事件的發(fā)生時(shí),可以以分級(jí)的方式,在軟件的開 發(fā)者、測(cè)試者和管理者三者中的至少兩者的交互界面上顯示與所述預(yù)定義的事件相關(guān)的信 息,即,根據(jù)三者的不同角色,將與所述預(yù)定義的事件相關(guān)的不同信息顯示在軟件的開發(fā) 者、測(cè)試者和管理者的交互界面上,從而以分級(jí)的方式將所述事件報(bào)告給開發(fā)者、測(cè)試者和 管理者。此外,隨著軟件測(cè)試的進(jìn)行,還可以經(jīng)由所述交互界面將測(cè)試進(jìn)度可視化地呈現(xiàn)給 管理者,使得管理者容易地掌握測(cè)試進(jìn)度。
[0058] 圖4示出了管理者的交互界面的示例。在管理者的交互界面上,除了用于輸入軟 件測(cè)試計(jì)劃和分配測(cè)試任務(wù)的內(nèi)容(未示出)以外,還可以顯示管理者指定的各個(gè)測(cè)試用例 的進(jìn)度。如圖4所示,在管理者的交互界面上,可以顯示管理者指定的多個(gè)測(cè)試用例(在圖4 中示出4個(gè))以及每個(gè)測(cè)試用例的測(cè)試步驟(在圖4中,對(duì)于測(cè)試用例1 一 4,分別示出測(cè)試 步驟1 一 nl、l-n2、l-n3和1-η4)??梢杂弥庇^的方式來顯示所述測(cè)試用例及其操作步驟。 在圖4所示的示例中,用圓圈表示每個(gè)測(cè)試用例的測(cè)試步驟。在管理者的交互界面上,還可 以以多種方式直觀地顯示測(cè)試的進(jìn)度。在圖4所示的示例中,可以用小圓圈表示已經(jīng)完成 的測(cè)試步驟,用大圓圈表示尚未完成的測(cè)試步驟。此外,可以用圓圈的顏色表示在執(zhí)行測(cè)試 步驟時(shí)是否出現(xiàn)問題。例如,當(dāng)在執(zhí)行某個(gè)測(cè)試步驟期間發(fā)生上文所述的事件時(shí),可以將該 測(cè)試步驟所對(duì)應(yīng)的圓圈從白色改變?yōu)榛疑?例如測(cè)試用例1的步驟3和測(cè)試用例3的步驟 5),以便向管理者傳達(dá)這一情況。此外,當(dāng)一個(gè)測(cè)試用例的某個(gè)測(cè)試步驟的完成是執(zhí)行另一 測(cè)試用例的某個(gè)測(cè)試步驟的前提時(shí),如果作為前提的測(cè)試步驟由于發(fā)生所述事件而未能完 成,則除了將表示該測(cè)試步驟的圓圈改為灰色以外,還可以將表示所述另一測(cè)試用例的對(duì) 應(yīng)測(cè)試步驟的圓圈修改為灰色。在圖4的示例中,由于測(cè)試用例2的測(cè)試步驟1的執(zhí)行以測(cè) 試用例1的測(cè)試步驟3的完成為前提,測(cè)試用例1的測(cè)試步驟4的執(zhí)行以測(cè)試用例3的測(cè) 試步驟5的完成為前提,而在測(cè)試用例1的測(cè)試步驟3和測(cè)試用例3的測(cè)試步驟5為由于 發(fā)生了上述事件而未能完成,因此,測(cè)試用例2的測(cè)試步驟1和測(cè)試用例1的測(cè)試步驟4所 對(duì)應(yīng)的圓圈也呈現(xiàn)灰色。通過圖4所示的交互界面,管理者可以容易地了解到已經(jīng)完成測(cè) 試的測(cè)試用例(測(cè)試用例4)、發(fā)生問題的測(cè)試用例(測(cè)試用例1 一 3)以及發(fā)生問題的具體測(cè) 試步驟,從而從整體上掌握軟件測(cè)試進(jìn)度。應(yīng)當(dāng)注意,圖4所示的交互界面只是示例性的, 也可以采用任何其他形式的交互界面,只要該交互界面可以向管理者清楚地呈現(xiàn)上述信息 即可。例如,可以采用除了圓圈以外的其他圖形來表示測(cè)試步驟,并且可以用不同的顏色來 表示測(cè)試步驟是否完成以及是否發(fā)生問題。
[0059] 圖5示出了測(cè)試者的交互界面的示例。如圖5所示,在該交互界面上,除了圖4 所示的內(nèi)容以外,可以顯示更多與測(cè)試有關(guān)的內(nèi)容。具體地,在測(cè)試者的交互界面上,還可 以顯示測(cè)試者負(fù)責(zé)的測(cè)試用例("我的測(cè)試用例")、所述測(cè)試用例對(duì)應(yīng)的測(cè)試實(shí)例("測(cè)試實(shí) 例")及其狀態(tài)("完成")、基于測(cè)試實(shí)例進(jìn)行測(cè)試期間發(fā)生的事件("事件")等等。此外,還可 以在該交互界面上顯示每個(gè)測(cè)試用例對(duì)應(yīng)的指導(dǎo)文件("指導(dǎo)文件"),使得測(cè)試者能夠在必 要時(shí)修改所述指導(dǎo)文件。例如,測(cè)試者可以通過稍后描述的自學(xué)習(xí)過程修改指導(dǎo)文件。通 過顯示這些信息,測(cè)試者可以了解他所負(fù)責(zé)的每個(gè)測(cè)試用例的進(jìn)度,從而可以合理地安排 他的工作,以免在不能執(zhí)行的測(cè)試用例上浪費(fèi)時(shí)間。
[0060] 圖6示出了開發(fā)者的交互界面的示例。如圖6所示,在該交互界面上,可以顯示在 軟件測(cè)試期間發(fā)生的事件(異?;蝈e(cuò)誤)、發(fā)生所述事件的測(cè)試用例、該測(cè)試用例對(duì)應(yīng)的指 導(dǎo)文件和測(cè)試實(shí)例。此外,還可以在開發(fā)者的交互界面上顯示與所述事件相關(guān)聯(lián)的軟件的 模塊以及該模塊的代碼。如在上文中參照表1所述,在發(fā)生所述事件時(shí)記錄與該事件相關(guān) 的信息,可以通過分析這些信息來確定并且顯示與所述事件相關(guān)聯(lián)的軟件的模塊,并且相 應(yīng)地顯示所述模塊的代碼。也就是說,當(dāng)發(fā)生所述事件時(shí),與該事件相關(guān)的軟件模塊及其代 碼可以被自動(dòng)地顯示在開發(fā)者的交互界面上,使得開發(fā)者能夠很容易地定位存在缺陷的模 塊和代碼,從而提高其工作效率。
[0061] 下面描述根據(jù)本發(fā)明實(shí)施例的自學(xué)習(xí)過程。如上文所述,當(dāng)在步驟S301中確定所 發(fā)生的事件不是預(yù)定義的事件時(shí),可以將該事件記錄在候選事件庫(kù)中。然后,例如在測(cè)試完 成之后,可以評(píng)估候選事件庫(kù)中的事件,以便將所述事件選擇性地添加到事件庫(kù)中以供以 后的測(cè)試使用,從而進(jìn)行事件庫(kù)的自學(xué)習(xí)??梢愿鶕?jù)預(yù)定的標(biāo)準(zhǔn)來評(píng)估所述事件,以確定是 否有必要將該事件添加到事件庫(kù)中。所述標(biāo)準(zhǔn)可以是根據(jù)實(shí)際需要預(yù)先選擇的任何適當(dāng)?shù)?標(biāo)準(zhǔn)。例如,所述標(biāo)準(zhǔn)可以是該事件是否會(huì)影響軟件功能的實(shí)現(xiàn)、或者該事件是否會(huì)導(dǎo)致軟 件無法運(yùn)行等等。例如,如果該事件會(huì)影響軟件功能的實(shí)現(xiàn),則可以將該事件添加到事件庫(kù) 中,反之則可以忽略該事件。這樣,在以后的測(cè)試中,當(dāng)發(fā)生該事件時(shí),可以執(zhí)行對(duì)應(yīng)的快照 產(chǎn)生操作,以記錄此時(shí)的軟件測(cè)試實(shí)例的狀態(tài)。
[0062] 此外,還可以根據(jù)在測(cè)試期間發(fā)生的所述非預(yù)定義的事件來修改指導(dǎo)文件。如本 領(lǐng)域所知,如果指導(dǎo)文件撰寫不當(dāng),例如指導(dǎo)文件中的測(cè)試步驟設(shè)置不合理,可能會(huì)導(dǎo)致在 軟件測(cè)試期間發(fā)生諸如異?;蝈e(cuò)誤之類的未預(yù)料到的事件(或問題)。因此,可以分析所發(fā) 生的非預(yù)定義的事件,確定該事件發(fā)生的原因,如果該事件是由于指導(dǎo)文件不適當(dāng)導(dǎo)致的, 則可以修改指導(dǎo)文件。可以由測(cè)試者或開發(fā)者例如使用下文所述的提取裝置進(jìn)行這一修 改。
[0063] 在本發(fā)明的實(shí)施例中,測(cè)試者和開發(fā)者可以在軟件測(cè)試期間更緊密地合作。圖7 示意性地示出了當(dāng)在軟件測(cè)試期間發(fā)生諸如異?;蝈e(cuò)誤之類的事件時(shí)測(cè)試者與開發(fā)者的 工作流程。
[0064] 如圖7所示,假設(shè)在使用測(cè)試用例3測(cè)試軟件期間,在執(zhí)行測(cè)試步驟5時(shí)發(fā)生"異 常"事件。測(cè)試者將與該"異常"事件有關(guān)的信息以及發(fā)生該事件時(shí)的測(cè)試實(shí)例的快照經(jīng) 由測(cè)試者的交互界面發(fā)送給開發(fā)者。如上文所述,在必要時(shí),測(cè)試者可以修改該測(cè)試用例的 指導(dǎo)文件。開發(fā)者經(jīng)由其交互界面接收測(cè)試者發(fā)送的上述信息和快照件,并且基于該信息 和快照定位并修正軟件中存在缺陷的模塊(例如模塊1和5),然后將修正后的測(cè)試實(shí)例返 回給測(cè)試者,使得測(cè)試者基于該測(cè)試實(shí)例重新進(jìn)行基于測(cè)試用例3的軟件測(cè)試,以確認(rèn)開 發(fā)者是否確實(shí)消除了軟件中的缺陷,并且向管理者報(bào)告測(cè)試結(jié)果。此外,在必要時(shí),開發(fā)者 也可以修改該測(cè)試用例的指導(dǎo)文件,并且將修改后的指導(dǎo)文件提供給測(cè)試者以用于軟件測(cè) 試。顯然,通過這樣的工作循環(huán),測(cè)試者和開發(fā)者的工作流程可以被無縫地連接,從而使軟 件測(cè)試工作更高效。
[0065] 此外,通過根據(jù)本發(fā)明實(shí)施例的方法,管理者可以更方便地控制軟件測(cè)試進(jìn)程和 調(diào)整軟件測(cè)試計(jì)劃。如上文所述,管理者可以通過其交互界面制定軟件測(cè)試計(jì)劃,并且將測(cè) 試任務(wù)分配給測(cè)試者,以開始軟件測(cè)試。當(dāng)發(fā)生諸如異?;蝈e(cuò)誤之類的事件時(shí),該事件可以 通過例如嵌入軟件中的監(jiān)視插件而被迅速通知給管理者,使得管理者可以及時(shí)了解軟件測(cè) 試出現(xiàn)的問題,從而安排開發(fā)者處理該問題和/或調(diào)整測(cè)試計(jì)劃。這種雙向交互過程進(jìn)一 步提高了軟件測(cè)試的效率。
[0066] 這樣,通過本發(fā)明的方法,軟件的開發(fā)者、測(cè)試者和管理者被緊密地關(guān)聯(lián)起來。具 體地,由于在發(fā)生預(yù)定義的事件時(shí)產(chǎn)生軟件測(cè)試實(shí)例的快照,并且將與該預(yù)定義的事件相 關(guān)的信息以分級(jí)的方式呈現(xiàn)在開發(fā)者、測(cè)試者和管理者三者中的至少兩者的視圖上,因此, 測(cè)試者能夠正確地監(jiān)視并反饋測(cè)試結(jié)果,開發(fā)者能夠容易地定位和修改軟件中存在的缺 陷,而管理者能夠及時(shí)掌握測(cè)試進(jìn)度,從而加快了 "測(cè)試一發(fā)生事件一產(chǎn)生快照一定位和修 復(fù)問題一測(cè)試"的測(cè)試流程,提高了測(cè)試效率。在本發(fā)明的實(shí)施例中,還可以建立快照庫(kù), 以便將初始化測(cè)試實(shí)例時(shí)產(chǎn)生的快照、以及在后續(xù)的軟件測(cè)試過程中產(chǎn)生的快照或包括所 述快照的、與所述預(yù)定義的事件相關(guān)的信息存儲(chǔ)在快照庫(kù)中。這樣,在必要時(shí),可以從快照 庫(kù)中取出相關(guān)的快照或與所述預(yù)定義的事件相關(guān)的信息,從而恢復(fù)相應(yīng)的測(cè)試實(shí)例。此外, 還可以建立測(cè)試實(shí)例庫(kù),以便將不同進(jìn)度的測(cè)試實(shí)例保存在其中,例如,當(dāng)某個(gè)測(cè)試者基于 第一測(cè)試用例進(jìn)行的軟件測(cè)試通過之后,可以將此時(shí)的測(cè)試實(shí)例保存在測(cè)試實(shí)例庫(kù)中。這 樣,當(dāng)其他測(cè)試者使用以該第一測(cè)試用例為基礎(chǔ)的第二測(cè)試用例測(cè)試軟件時(shí),可以從測(cè)試 實(shí)例庫(kù)中提取完成了第一測(cè)試用例的測(cè)試實(shí)例,并且在此測(cè)試用例的基礎(chǔ)上繼續(xù)測(cè)試所述 軟件,而不需要重新執(zhí)行基于第一測(cè)試用例的軟件測(cè)試,從而加快測(cè)試速度。
[0067] 下面,將參照?qǐng)D8來描述根據(jù)本發(fā)明實(shí)施例的測(cè)試軟件的設(shè)備。該設(shè)備可以執(zhí)行 上文所述的方法。
[0068] 如圖8所示,根據(jù)本發(fā)明實(shí)施例的測(cè)試軟件的設(shè)備80可以包括顯示裝置81、監(jiān)視 裝置82、快照裝置83、存儲(chǔ)裝置84。優(yōu)選地,設(shè)備80還可以包括提取裝置85。
[0069] 顯示裝置81可以分別向軟件的管理者、測(cè)試者和開發(fā)者呈現(xiàn)上文所述的交互界 面,使得這三者可以經(jīng)由交互界面來彼此協(xié)作。
[0070] 監(jiān)視裝置82監(jiān)視在軟件測(cè)試實(shí)例中是否發(fā)生預(yù)定義的事件。如上文所述,所述事 件可以是異常、錯(cuò)誤或者其他類型的事件。如上文所述,監(jiān)視裝置81可以被實(shí)現(xiàn)為監(jiān)視插 件,該監(jiān)視插件基于編程語言框架,使得該插件可以獨(dú)立于軟件的模塊,并且可以在軟件開 始時(shí)安裝到軟件中,以便在被激活時(shí)執(zhí)行上述監(jiān)視操作,或者可以被實(shí)現(xiàn)為獨(dú)立于該軟件 并且監(jiān)視該軟件的運(yùn)行的硬件。
[0071] 圖9示出了監(jiān)視裝置82的詳細(xì)結(jié)構(gòu)。如圖9所示,監(jiān)視裝置82包括監(jiān)視單元821 和確定單元822。
[0072] 監(jiān)視單元821監(jiān)視在軟件測(cè)試實(shí)例中發(fā)生的事件,例如異常或錯(cuò)誤等。
[0073] 如上文所述,通過執(zhí)行指導(dǎo)文件中給出的各個(gè)測(cè)試步驟來測(cè)試所述軟件。在執(zhí)行 所述測(cè)試步驟期間,將調(diào)用在指導(dǎo)文件中指定的模塊,并且輸出實(shí)際執(zhí)行結(jié)果。監(jiān)視單元 821可以接收通過所述模塊獲得的實(shí)際執(zhí)行結(jié)果,并且將其與在指導(dǎo)文件中對(duì)于該模塊指 定的預(yù)期執(zhí)行結(jié)果進(jìn)行比較,以確定二者是否一致。如果實(shí)際執(zhí)行結(jié)果與預(yù)期執(zhí)行結(jié)果一 致,則監(jiān)視單元821可以確定沒有發(fā)生所述事件。反之,如果實(shí)際執(zhí)行結(jié)果與預(yù)期執(zhí)行結(jié)果 不一致,則監(jiān)視單元821可以確定在軟件測(cè)試期間發(fā)生了所述事件。如上文所述,可以在實(shí) 際執(zhí)行結(jié)果與預(yù)期執(zhí)行結(jié)果相同時(shí),或者在實(shí)際執(zhí)行結(jié)果相對(duì)于預(yù)期執(zhí)行結(jié)果的偏差小于 預(yù)定的可接受范圍時(shí),確定它們是一致的。
[0074] 確定單元822確定監(jiān)視單元821檢測(cè)到的事件是否已經(jīng)被預(yù)先記錄在事件庫(kù)中, 并且響應(yīng)于確定該事件已經(jīng)被預(yù)先記錄在事件庫(kù)中,將所述事件確定為預(yù)定義的事件。具 體地,確定單元821可以將該事件與在事件庫(kù)中預(yù)先存儲(chǔ)的各個(gè)事件進(jìn)行匹配,以確定該 事件是否是在事件庫(kù)中預(yù)定義的事件。如果在事件庫(kù)中不存在與所發(fā)生的事件匹配的條 目,則確定單元822可以確定所發(fā)生的事件不是預(yù)定義的事件。在這種情況下,可以忽略該 事件,或者可以將該事件記錄在候選事件庫(kù)中,然后將其選擇性地添加到上述事件庫(kù)中,以 便在以后的測(cè)試中使用。另一方面,如果在事件庫(kù)中存在與所發(fā)生的事件匹配的條目,則確 定單元822可以確定所發(fā)生的事件是預(yù)定義的事件。
[0075] 快照裝置83響應(yīng)于發(fā)生預(yù)定義的事件,根據(jù)該事件的性質(zhì)而產(chǎn)生軟件測(cè)試實(shí)例 的不同類型的快照。所述快照用于記錄發(fā)生所述預(yù)定義的事件時(shí)的軟件測(cè)試實(shí)例的狀態(tài)。
[0076] 如上文所述,在本發(fā)明的實(shí)施例中,所述事件的性質(zhì)可以包括事件的嚴(yán)重性、事件 發(fā)生的次數(shù)、所述事件本身的類型、或者所述事件的其他性質(zhì)。相應(yīng)地,快照裝置83對(duì)于具 有第一性質(zhì)的事件,可以產(chǎn)生軟件測(cè)試實(shí)例的多個(gè)快照,而對(duì)于具有第二性質(zhì)的事件,可以 產(chǎn)生軟件測(cè)試實(shí)例的單個(gè)快照。例如,在所述事件的性質(zhì)是事件的嚴(yán)重性的情況下,可以將 事件的嚴(yán)重性分為三個(gè)等級(jí):第一嚴(yán)重性等級(jí)(例如,嚴(yán)重)、第二嚴(yán)重性等級(jí)(例如,中等) 和第三嚴(yán)重性等級(jí)(例如輕微)。劃分嚴(yán)重性等級(jí)的標(biāo)準(zhǔn)可以根據(jù)實(shí)際需要靈活地設(shè)定。當(dāng) 確定發(fā)生預(yù)定義的事件時(shí),監(jiān)視裝置82可以根據(jù)所述標(biāo)準(zhǔn)確定該事件的嚴(yán)重性等級(jí)。然 后,快照裝置83根據(jù)該嚴(yán)重性等級(jí),通過調(diào)用指導(dǎo)文件中的相應(yīng)的快照觸發(fā)器來產(chǎn)生軟件 測(cè)試實(shí)例的不同類型的快照。具體地,對(duì)于第一嚴(yán)重性等級(jí)的事件,快照裝置83可以執(zhí)行 第一類型的快照產(chǎn)生操作,例如產(chǎn)生對(duì)于軟件測(cè)試實(shí)例的多個(gè)快照(例如在發(fā)生所述事件 的時(shí)間點(diǎn)前后的多個(gè)時(shí)間點(diǎn)處的軟件測(cè)試實(shí)例的多個(gè)快照)。對(duì)于第二嚴(yán)重性等級(jí)的事件, 快照裝置83可以執(zhí)行第二類型的快照產(chǎn)生操作,例如產(chǎn)生對(duì)于軟件測(cè)試實(shí)例的單個(gè)快照。 對(duì)于第三嚴(yán)重性等級(jí)的事件,快照裝置83可以不執(zhí)行快照產(chǎn)生操作。如上文所述,所述快 照可以采用根據(jù)實(shí)際需要選擇的任何形式,在這里不再贅述。此外,所述嚴(yán)重性等級(jí)不限于 上述三種,并且所執(zhí)行的快照產(chǎn)生操作的類型也不限于上述兩種。
[0077] 這樣,通過在發(fā)生預(yù)定義的事件(例如異?;蝈e(cuò)誤)時(shí)使用快照裝置產(chǎn)生軟件測(cè)試 實(shí)例的快照,可以記錄發(fā)生該事件時(shí)的軟件測(cè)試實(shí)例的狀態(tài),使得開發(fā)者可以根據(jù)該快照 迅速地恢復(fù)發(fā)生所述事件時(shí)的場(chǎng)景,從而定位和解決軟件中的缺陷。此外,如上文所述,通 過根據(jù)所發(fā)生的事件的性質(zhì)產(chǎn)生不同類型的快照產(chǎn)生,可以使所產(chǎn)生的快照充分地反映所 述事件發(fā)生的背景,使得開發(fā)者能夠更準(zhǔn)確地定位和解決軟件中存在的缺陷。
[0078] 在產(chǎn)生所述不同類型的快照之后,存儲(chǔ)裝置84可以在與所述預(yù)定義的事件相關(guān) 的信息中存儲(chǔ)所述不同類型的快照。如上文所述,除了所述不同類型的快照以外,存儲(chǔ)裝置 84還可以在與所述預(yù)定義的事件相關(guān)的信息中存儲(chǔ)根據(jù)需要選擇的其他信息,例如指示發(fā) 生了所述事件的信息、所述事件的內(nèi)容、與所述事件相關(guān)聯(lián)的軟件的模塊和代碼等,例如在 上文中參照?qǐng)D4-6描述的信息。存儲(chǔ)裝置84可以以多種方式存儲(chǔ)所述預(yù)定義的事件相關(guān) 的信息。例如,存儲(chǔ)裝置84可以將該信息與所述快照相關(guān)聯(lián)地存儲(chǔ)在快照庫(kù)中,或者可以 將該信息存儲(chǔ)在單獨(dú)的數(shù)據(jù)庫(kù)(例如事件庫(kù))中,而且,存儲(chǔ)裝置84可以用任何適當(dāng)格式的 數(shù)據(jù)文件來存儲(chǔ)該信息。
[0079] 此外,在發(fā)生所述預(yù)定義的事件之后,顯示裝置81還可以以分級(jí)的方式在管理 者、測(cè)試者和開發(fā)者三者中的至少兩者的交互界面(視圖)上顯示與所述預(yù)定義的事件相關(guān) 的信息。這樣,管理者、測(cè)試者和開發(fā)者能夠及時(shí)了解軟件測(cè)試中出現(xiàn)的問題并獲取自己所 需的信息,然后根據(jù)自己的角色而執(zhí)行不同的操作。顯示裝置81顯示的交互界面以及在該 交互界面上顯示內(nèi)容與上文所述相同,在這里不再贅述。
[0080] 提取裝置85可以執(zhí)行自學(xué)習(xí)過程。具體地,當(dāng)監(jiān)視裝置82確定所發(fā)生的事件不 是預(yù)定義的事件時(shí),可以將該事件記錄在候選事件庫(kù)中。在測(cè)試完成之后,測(cè)試者可以評(píng)估 候選事件庫(kù)中的事件。提取裝置85可以根據(jù)測(cè)試者的評(píng)估結(jié)果,從候選事件庫(kù)中選擇性地 提取事件以便將其添加到事件庫(kù)中,以供以后的測(cè)試使用。這樣,在以后的測(cè)試中,該事件 成為預(yù)定義的事件,并且當(dāng)發(fā)生該事件時(shí),可以執(zhí)行對(duì)應(yīng)的快照產(chǎn)生操作,以記錄軟件測(cè)試 實(shí)例的狀態(tài)。
[0081] 提取裝置85還可以用于根據(jù)在測(cè)試期間發(fā)生的所述非預(yù)定義的事件來修改指導(dǎo) 文件。提取裝置85可以根據(jù)測(cè)試者或開發(fā)者的指令,按照上文所述的方式來執(zhí)行這一修 改,在這里不再贅述。
[0082] 利用根據(jù)本發(fā)明實(shí)施例的測(cè)試軟件的設(shè)備,可以在軟件測(cè)試實(shí)例中發(fā)生諸如異常 或錯(cuò)誤之類的事件時(shí),根據(jù)該問題的性質(zhì),產(chǎn)生軟件測(cè)試實(shí)例的不同類型的快照,并且將軟 件測(cè)試實(shí)例的當(dāng)前狀態(tài)顯示在管理者、測(cè)試者和開發(fā)者的視圖上,使得測(cè)試者能夠正確地 監(jiān)視并反饋測(cè)試結(jié)果,開發(fā)者可以基于所述快照迅速地再現(xiàn)發(fā)生所述事件的場(chǎng)景,從而準(zhǔn) 確地定位并修復(fù)軟件中存在的缺陷,而管理者可以及時(shí)掌握測(cè)試進(jìn)度,并且根據(jù)該事件對(duì) 測(cè)試進(jìn)程的影響而調(diào)整軟件測(cè)試計(jì)劃,從而優(yōu)化測(cè)試流程。由此,加快了"測(cè)試一發(fā)生事 件一產(chǎn)生快照一定位和修復(fù)問題一測(cè)試"的測(cè)試流程,提高了測(cè)試效率。
[0083] 附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程 序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以 代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè) 用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所 標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以 基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的 是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行 規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的 組合來實(shí)現(xiàn)。
[0084] 以上已經(jīng)描述了本發(fā)明的各實(shí)施例,上述說明是示例性的,并非窮盡性的,并且也 不限于所披露的各實(shí)施例。在不偏離所說明的各實(shí)施例的范圍和精神的情況下,對(duì)于本技 術(shù)領(lǐng)域的普通技術(shù)人員來說許多修改和變更都是顯而易見的。本文中所用術(shù)語的選擇,旨 在最好地解釋各實(shí)施例的原理、實(shí)際應(yīng)用或?qū)κ袌?chǎng)中的技術(shù)的技術(shù)改進(jìn),或者使本技術(shù)領(lǐng) 域的其它普通技術(shù)人員能理解本文披露的各實(shí)施例。
【權(quán)利要求】
1. 一種測(cè)試軟件的方法,包括: 監(jiān)視在軟件測(cè)試實(shí)例中是否發(fā)生預(yù)定義的事件; 響應(yīng)于發(fā)生預(yù)定義的事件,根據(jù)該事件的性質(zhì)生成軟件測(cè)試實(shí)例的不同類型的快照, 所述快照用于記錄發(fā)生所述預(yù)定義的事件時(shí)的軟件測(cè)試實(shí)例的狀態(tài);以及 在與所述預(yù)定義的事件相關(guān)的信息中存儲(chǔ)所述不同類型的快照。
2. 如權(quán)利要求1所述的方法,還包括: 以分級(jí)的方式在軟件的開發(fā)者、測(cè)試者和管理者三者中的至少兩者的交互界面上顯示 與所述預(yù)定義事件相關(guān)的信息。
3. 如權(quán)利要求1或2所述的方法,其中,監(jiān)視在軟件測(cè)試實(shí)例中是否發(fā)生預(yù)定義的事件 包括: 監(jiān)視在軟件測(cè)試實(shí)例中發(fā)生的事件; 確定該事件是否已經(jīng)被預(yù)先記錄在事件庫(kù)中;以及 響應(yīng)于確定該事件已經(jīng)被預(yù)先記錄在事件庫(kù)中,將所述事件確定為預(yù)定義的事件。
4. 如權(quán)利要求3所述的方法,還包括: 響應(yīng)于確定該事件沒有被預(yù)先記錄在事件庫(kù)中,將該事件確定為非預(yù)定義的事件,并 且將該非預(yù)定義的事件選擇性地添加到事件庫(kù)中。
5. 如權(quán)利要求4所述的方法,還包括:根據(jù)所述非預(yù)定義的事件修改用于測(cè)試該軟件 的指導(dǎo)文件。
6. 如權(quán)利要求1或2所述的方法,其中所述事件是在軟件測(cè)試實(shí)例中發(fā)生的異?;蝈e(cuò) 誤。
7. 如權(quán)利要求1或2所述的方法,其中,所述事件的性質(zhì)包括事件的嚴(yán)重性、事件發(fā)生 的次數(shù)以及所述事件本身的類型,并且其中,所述響應(yīng)于發(fā)生預(yù)定義的事件,根據(jù)該事件的 性質(zhì)生成軟件測(cè)試實(shí)例的不同類型的快照包括: 對(duì)于具有第一性質(zhì)的事件,產(chǎn)生軟件測(cè)試實(shí)例的多個(gè)快照,以及 對(duì)于具有第二性質(zhì)的事件,產(chǎn)生軟件測(cè)試實(shí)例的單個(gè)快照。
8. -種測(cè)試軟件的設(shè)備,包括: 監(jiān)視裝置,被配置為監(jiān)視在軟件測(cè)試實(shí)例中是否發(fā)生預(yù)定義的事件; 快照裝置,被配置為響應(yīng)于發(fā)生預(yù)定義的事件,根據(jù)該事件的性質(zhì)生成軟件測(cè)試實(shí)例 的不同類型的快照,所述快照用于記錄發(fā)生所述預(yù)定義的事件時(shí)的軟件測(cè)試實(shí)例的狀態(tài); 以及 存儲(chǔ)裝置,被配置為在與所述預(yù)定義的事件相關(guān)的信息中存儲(chǔ)所述不同類型的快照。
9. 如權(quán)利要求8所述的設(shè)備,其中還包括: 顯示裝置,以分級(jí)的方式在軟件的開發(fā)者、測(cè)試者和管理者三者中的至少兩者的交互 界面上顯示與所述預(yù)定義事件相關(guān)的信息。
10. 如權(quán)利要求8或9所述的設(shè)備,其中,所述監(jiān)視裝置包括: 監(jiān)視單元,被配置為監(jiān)視在軟件測(cè)試實(shí)例中發(fā)生的事件;以及 確定單元,被配置為確定該事件是否已經(jīng)被預(yù)先記錄在事件庫(kù)中,并且響應(yīng)于確定該 事件已經(jīng)被預(yù)先記錄在事件庫(kù)中,將所述事件確定為預(yù)定義的事件。
11. 如權(quán)利要求9所述的設(shè)備,其中,所述確定單元響應(yīng)于確定該事件沒有被預(yù)先記錄 在事件庫(kù)中,將所述事件確定為預(yù)定義的事件,并且其中, 所述設(shè)備還包括:提取裝置,被配置為響應(yīng)于確定該事件沒有被預(yù)先記錄在事件庫(kù)中 而被確定為非預(yù)定義的事件,并且將該非預(yù)定義的事件選擇性地添加到事件庫(kù)中。
12. 如權(quán)利要求10所述的設(shè)備,其中,所述提取裝置還被配置為根據(jù)所述非預(yù)定義的 事件修改用于測(cè)試該軟件的指導(dǎo)文件。
13. 如權(quán)利要求8或9所述的設(shè)備,其中所述事件是在軟件測(cè)試實(shí)例中發(fā)生的異?;蝈e(cuò) 誤。
14. 如權(quán)利要求8或9所述的設(shè)備,其中,所述事件的性質(zhì)包括事件的嚴(yán)重性、事件發(fā)生 的次數(shù)以及所述事件本身的類型,并且其中,所述快照裝置對(duì)于具有第一性質(zhì)的事件,產(chǎn)生 軟件測(cè)試實(shí)例的多個(gè)快照,并且對(duì)于具有第二性質(zhì)的事件,產(chǎn)生軟件測(cè)試實(shí)例的單個(gè)快照。
【文檔編號(hào)】G06F11/36GK104123219SQ201310154235
【公開日】2014年10月29日 申請(qǐng)日期:2013年4月28日 優(yōu)先權(quán)日:2013年4月28日
【發(fā)明者】李揚(yáng), 趙蘇寧, 趙國(guó)新, 張穎 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1