[發(fā)明專利]程序的代碼段測試方法、裝置和系統(tǒng)有效
| 申請?zhí)枺?/td> | 201310752450.1 | 申請日: | 2013-12-31 |
| 公開(公告)號: | CN103761184B | 公開(公告)日: | 2017-01-04 |
| 發(fā)明(設(shè)計)人: | 馮蛟;麻先盛 | 申請(專利權(quán))人: | 華為技術(shù)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 深圳市深佳知識產(chǎn)權(quán)代理事務(wù)所(普通合伙)44285 | 代理人: | 王仲凱 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 程序 代碼 測試 方法 裝置 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明屬于計算機(jī)程序領(lǐng)域,尤其涉及程序的代碼段測試方法、裝置和系統(tǒng)。
背景技術(shù)
隨著目前軟件系統(tǒng)的復(fù)雜度不斷提高,使軟件測試的重要性也得到了進(jìn)一步的體現(xiàn)。
現(xiàn)有技術(shù)中,在對二進(jìn)制的程序映像進(jìn)行測試的方式包括,在程序的內(nèi)部嵌入測試模塊,即,通過運(yùn)行特定的代碼段來進(jìn)行程序測試。
發(fā)明人經(jīng)過研究發(fā)現(xiàn),上述現(xiàn)有技術(shù)中的程序測試方式,需要增加新的測試模塊,這樣會使得程序的邏輯的復(fù)雜度進(jìn)一步提高,進(jìn)而就有可能引入新的缺陷;這樣,在發(fā)生缺陷時,就難以定位缺陷到底是測試對象,即,被測試代碼段自身的問題還是由于測試模塊的加入造成的,即,現(xiàn)有技術(shù)中的程序測試方式會使得程序的復(fù)雜度增加,由于測試模塊本身就有可能引入額外的缺陷,從而對原有程序造成干擾。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了程序的代碼段測試方法和裝置,以減少對原有程序的干擾目的。
第一方面,本發(fā)明提供了一種程序的代碼段測試方法,包括:
在對被測程序進(jìn)行測試時,在所述被測程序中調(diào)用被測試代碼段的位置,設(shè)置斷點(diǎn)/跳轉(zhuǎn)處理單元;
運(yùn)行所述被測程序,當(dāng)所述被測程序執(zhí)行至調(diào)用所述被測試代碼段位置時,所述斷點(diǎn)/跳轉(zhuǎn)處理單元中斷所述被測試代碼段的執(zhí)行流程,并將所述被測程序的執(zhí)行跳轉(zhuǎn)至測試流程;
在執(zhí)行所述測試流程中,運(yùn)行測試代碼段,并獲取測試結(jié)果。
在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述被測試代碼段的代碼類型包括:
二進(jìn)制程序映像。
結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述被測程序包括:
操作系統(tǒng)程序或應(yīng)用程序。
結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式中,在第三種可能的實(shí)現(xiàn)方式中,所述斷點(diǎn)/跳轉(zhuǎn)處理單元包括:
通過設(shè)置斷點(diǎn)、探針、動態(tài)修改代碼段或虛擬執(zhí)行中的一種或任意組合實(shí)現(xiàn)。
在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述獲取測試結(jié)果后,還包括:
測試流程結(jié)束后,恢復(fù)所述被測程序程的執(zhí)行。
結(jié)合第一方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述測試流程包括:
構(gòu)造和檢查測試環(huán)境;
調(diào)用所述被測試代碼段;
所述被測試代碼段執(zhí)行完畢后,進(jìn)行所述測試環(huán)境結(jié)果的檢查和記錄。
結(jié)合第一方面的第四種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述測試流程包括:
構(gòu)造和檢查測試環(huán)境;
調(diào)用所述被測試代碼段的副本;
所述被測試代碼段的副本執(zhí)行完畢后,進(jìn)行所述測試環(huán)境結(jié)果的檢查和記錄。
結(jié)合第一方面的第五種或第六種可能的實(shí)現(xiàn)方式,在第七種實(shí)現(xiàn)方式中,還包括:
恢復(fù)被中斷的所述被測程序的執(zhí)行前,清理所述測試環(huán)境。
結(jié)合第一方面的第六種可能的實(shí)現(xiàn)方式,在第八種可能的實(shí)現(xiàn)方式中,所述構(gòu)造和檢查測試環(huán)境前,還包括:
當(dāng)所述被測試代碼段的副本不存在時,創(chuàng)建所述被測試代碼段的副本。
結(jié)合第一方面的第八種可能的實(shí)現(xiàn)方式,在第九種可能的實(shí)現(xiàn)方式中,所述被測試代碼段的副本包括:
與所述被測試代碼段邏輯功能等效的代碼段。
第二方面,本發(fā)明提供一種程序的代碼段測試裝置,包括:
斷點(diǎn)設(shè)置單元,用于在對被測程序進(jìn)行測試時,在所述被測程序中調(diào)用被測試代碼段的位置,設(shè)置斷點(diǎn)/跳轉(zhuǎn)處理單元;
所述斷點(diǎn)/跳轉(zhuǎn)處理單元,用于當(dāng)所述被測程序執(zhí)行至調(diào)用所述被測試代碼段位置時,所述斷點(diǎn)/跳轉(zhuǎn)處理單元中斷所述被測試代碼段的執(zhí)行流程,并將所述被測程序的執(zhí)行跳轉(zhuǎn)至測試流程;
測試單元,用于在執(zhí)行所述測試流程中,運(yùn)行測試代碼段,并獲取測試結(jié)果。
在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述被測試代碼段的代碼類型包括:
二進(jìn)制程序映像。
結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述被測程序包括:
操作系統(tǒng)程序或應(yīng)用程序序。
結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述斷點(diǎn)/跳轉(zhuǎn)處理單元包括:
斷點(diǎn)、探針、動態(tài)修改代碼段或虛擬執(zhí)行中的一種或任意組合。
在第二方面的第四種可能的實(shí)現(xiàn)方式中,還包括:
恢復(fù)單元,用于通過所述斷點(diǎn)/跳轉(zhuǎn)處理單元,恢復(fù)所述被測程序程的執(zhí)行。
結(jié)合第二方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述測試單元,包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華為技術(shù)有限公司,未經(jīng)華為技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310752450.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





