[發明專利]用于針對軟件測試和軟件監控進行數據注入和數據提取的動態探測器的方法和系統無效
| 申請號: | 200680034911.X | 申請日: | 2006-09-22 |
| 公開(公告)號: | CN101268448A | 公開(公告)日: | 2008-09-17 |
| 發明(設計)人: | 喬納斯·本特松;邁克爾·羅森伯格 | 申請(專利權)人: | LM愛立信電話有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京三友知識產權代理有限公司 | 代理人: | 李輝 |
| 地址: | 瑞典斯*** | 國省代碼: | 瑞典;SE |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 針對 軟件 測試 監控 進行 數據 注入 提取 動態 探測器 方法 系統 | ||
技術領域
本發明涉及軟件測試,具體地說,涉及一種對軟件進行動態探測的方法。
背景技術
對軟件開發者來說,其中一個最重要的要求是軟件可靠。可靠性是指軟件在指定環境中指定時間在無故障的情況下運行的能力。為了確保足夠高級別的可靠性,必須在軟件發布之前進行徹底的測試和調試。通常,針對作為整體的整個軟件程序、以及組成軟件程序的單獨功能組件(例如,功能調用、子程序)進行測試。典型的是,針對該軟件和/或一個或更多個功能組件所要求的變量生成包含一系列值的測試向量。選擇變量值來代表各類想要在其中運行該軟件的使用條件和環境。然后向軟件和/或一個或更多個功能組件應用該測試向量,觀察并記錄變量值。
經常進行的一類測試稱為回歸分析(或者,有時稱為驗證測試)。回歸分析包括針對為了修正已知問題而修改了的軟件而進行的選擇性再測試。進行選擇性再測試是為了確保已修正了識別出的問題,并且確保沒有其他以前正常工作的功能組件由于此次修復而出現故障。這種類型的測試是確保修改的代碼仍然符合其指定要求并且未修改代碼沒有受到維護活動影響的基本質量控制措施。
一般來說,回歸分析中的重要特征,特別是在軟件測試中的回歸分析中的重要特征是觀察從測試向量產生的變量值的能力。早期對軟件和/或其功能組件的變量值進行觀察的嘗試包括在其源代碼中手動設定斷點及其他陷阱(trap)。最近,例如來自Texas?Instruments的Code?ComposerStudioTM和來自National?Instruments的LabVIEWTM的軟件開發工具,包括可以在測試條件下插入到代碼中的軟件探測器。該軟件探測器允許在軟件執行時實時地觀察測試下的代碼中的變量。然而,這些新近的方案僅基于從測試下的代碼中獲得變量值(例如,這樣可以對它們進行分析)。這些方案不允許在執行軟件期間改變變量值。換句話說,這些現有軟件探測器只是單行或單向探測器,即,只允許數據從測試下的代碼流向測試系統。這些軟件探測器不允許對數據傳輸方向進行逆轉,以使得數據從測試系統流入測試下的代碼中。
另一些探測器是雙向的,即,這些探測器允許數據從測試下的代碼流向測試系統,并且允許數據從測試系統流向測試下的代碼。可以在2003年5月1日提交的、發明名稱為“BI-DIRECTIONAL?PROBING?OFSOFTWARE”的共有美國申請第10/428733號中找到雙向探測器的示例,其以引用的方式并入于此。
然而,在現有方案中,單向探測器和雙向探測器二者都以靜態模式工作,這意味著需要在測試下的軟件的編譯期間確定探測器。如果不在編譯期間引入探測器,則引入探測器的唯一方式是對測試下的軟件進行重新“建立”(rebuild),這種情況是不理想的。并且,即使在探測器不工作時,也仍然消耗少量存儲量,對于整個系統來說,所述少量存儲量可能合計為相當數量的存儲量。
因此,需要這樣一種探測器,其可以在運行期間被安裝到測試下的軟件中,而在編譯期間不被安裝到測試下的軟件中,從而可以根據需要來引入或去除探測器,并且僅被安裝時的探測器消耗存儲量。
發明內容
本發明提供了一種測試其中具有多個軟件模塊的軟件的方法。該方法包括以下步驟:執行所述軟件,該軟件包括由該軟件使用的多個軟件模塊,并且確定多個軟件模塊中彼此直接鏈接的兩個軟件模塊。在執行所述軟件時,在兩個確定出的軟件模塊之間插入探測器。所述探測器將在確定出的所述兩個軟件模塊之間交換的數據輸出給測試系統,從而從所述軟件中提取數據。
根據本發明的另一種實施方式,提供了一種用于測試軟件的系統,該系統包括:測試下的軟件,該軟件中具有多個軟件模塊;至少一個應用程序,該至少一個應用程序耦合到所述測試下的軟件;以及測試器單元,用于控制所述至少一個應用程序,以使得將測試器單元配置為使所述至少一個應用程序執行所述測試下的軟件,該測試下的軟件包括由該測試下的軟件使用的任意軟件模塊。該測試器單元還配置為確定由所述測試下的軟件使用的軟件模塊中彼此直接通信的兩個軟件模塊,當執行所述測試下的軟件時,在兩個確定出的軟件模塊之間插入探測器,并經由所述探測器輸出在確定出的所述兩個軟件模塊之間交換的數據,從而從所述測試下的軟件中提取數據。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于LM愛立信電話有限公司,未經LM愛立信電話有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200680034911.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:燃料電池組和燃料電池系統
- 下一篇:帶有副軸齒輪傳動裝置的多級變速器





