两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

判斷應(yīng)用程序測試覆蓋范圍的方法及程序測試設(shè)備與流程

文檔序號:11829421閱讀:412來源:國知局
判斷應(yīng)用程序測試覆蓋范圍的方法及程序測試設(shè)備與流程

本發(fā)明涉及計算機技術(shù)領(lǐng)域,尤其涉及一種判斷應(yīng)用程序測試覆蓋范圍的方法及其設(shè)備。



背景技術(shù):

現(xiàn)如今,各種終端應(yīng)用影響著人們的日常生活,為用戶提供便利,因此對于終端應(yīng)用的程序進行測試尤為重要。目前對于程序進行測試的過程是通過人為手動進行測試,然而人為手動測試容易造成對某段代碼的重復(fù)測試或者所進行的測試未覆蓋到某段代碼,降低了對程序的測試效果以及測試效率,進而對后續(xù)的程序開發(fā)造成了影響。



技術(shù)實現(xiàn)要素:

本發(fā)明實施例提供一種判斷應(yīng)用程序測試覆蓋范圍的方法及程序測試設(shè)備,可以提升對程序的測試效果以及測試效率。

本發(fā)明實施例第一方面提供了一種判斷應(yīng)用程序測試覆蓋范圍的方法,可包括:

當對目標程序進行測試時,與所述目標程序中的目標函數(shù)建立鏈接關(guān)系;

基于所述鏈接關(guān)系,獲取所述目標函數(shù)的起始位置信息;

按照所述起始位置信息對所述目標程序進行插樁測試。

本發(fā)明實施例第二方面提供了一種程序測試設(shè)備,可包括:

關(guān)系建立單元,用于當對目標程序進行測試時,與所述目標程序中的目標函數(shù)建立鏈接關(guān)系;

信息獲取單元,用于基于所述鏈接關(guān)系,獲取所述目標函數(shù)的起始位置信息;

程序測試單元,用于按照所述起始位置信息對所述目標程序進行插樁測試。

在本發(fā)明實施例中,當需要對目標程序進行測試時,通過與所述目標程序中的目標函數(shù)建立鏈接關(guān)系,可以基于該鏈接關(guān)系獲取目標函數(shù)的起始位置信 息,最終按照起始位置信息對目標程序進行插樁測試。實現(xiàn)了對目標程序的自動測試,通過基于鏈接關(guān)系獲取目標函數(shù)的起始位置信息,保證了對程序進行覆蓋測試的全面性,避免了對后續(xù)的程序開發(fā)的影響,提升了對程序的測試效果和測試效率。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本發(fā)明實施例提供的一種判斷應(yīng)用程序測試覆蓋范圍的方法的流程示意圖;

圖2是本發(fā)明實施例提供的另一種判斷應(yīng)用程序測試覆蓋范圍的方法的流程示意圖;

圖3是本發(fā)明實施例提供的一種程序測試設(shè)備的結(jié)構(gòu)示意圖;

圖4是本發(fā)明實施例提供的信息獲取單元的結(jié)構(gòu)示意圖;

圖5是本發(fā)明實施例提供的另一種程序測試設(shè)備的結(jié)構(gòu)示意圖;

圖6是本發(fā)明實施例提供的又一種程序測試設(shè)備的結(jié)構(gòu)示意圖。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

本發(fā)明實施例提供的判斷應(yīng)用程序測試覆蓋范圍的方法可以應(yīng)用于對系統(tǒng)平臺的應(yīng)用程序進行插樁測試的場景,例如:對于針對IOS系統(tǒng)平臺、Android系統(tǒng)平臺等,當對目標程序進行測試時,程序測試設(shè)備可以與所述目標程序中的目標函數(shù)建立鏈接關(guān)系,基于所述鏈接關(guān)系,所述程序測試設(shè)備獲取所述目標函數(shù)的起始位置信息,所述程序測試設(shè)備按照所述起始位置信息對所述目標程序進行插樁測試的場景等。實現(xiàn)了對目標程序的自動測試,通過基于鏈接關(guān) 系獲取目標函數(shù)的起始位置信息,保證了對程序進行覆蓋測試的全面性,避免了對后續(xù)的程序開發(fā)的影響,提升了對程序的測試效果和測試效率。

本發(fā)明實施例涉及的程序測試設(shè)備可以包括:平板電腦、智能手機、筆記本電腦、掌上電腦、個人計算機以及移動互聯(lián)網(wǎng)設(shè)備(MID)等具備程序處理功能的終端設(shè)備。

下面將結(jié)合附圖1和附圖2,對本發(fā)明實施例提供的判斷應(yīng)用程序測試覆蓋范圍的方法進行詳細介紹。

請參見圖1,為本發(fā)明實施例提供了一種判斷應(yīng)用程序測試覆蓋范圍的方法的流程示意圖。如圖1所示,本發(fā)明實施例的所述方法可以包括以下步驟S101-步驟S103。

S101,當對目標程序進行測試時,與所述目標程序中的目標函數(shù)建立鏈接關(guān)系;

具體的,當需要對目標程序進行測試時,程序測試設(shè)備可以與所述目標程序中的目標函數(shù)建立鏈接關(guān)系,優(yōu)選的,所述程序測試設(shè)備可以創(chuàng)建一個前端進程,該前端進程優(yōu)選為對目標程序進行輸入的接口,測試人員可以通過該前端進程將需要測試的目標程序進行輸入,所述程序測試設(shè)備可以獲取所述目標程序,并與所述目標程序中的目標函數(shù)建立鏈接關(guān)系。例如:所述程序測試設(shè)備可以調(diào)用Clang工具建立一個前端進程,Clang是一個C語言、C++、Objective-C、Objective-C++語言的輕量級編譯器,并通過Clang工具與所述目標函數(shù)建立鏈接關(guān)系。

可以理解的是,所述目標程序可以包含一個或多個函數(shù),因此所述目標函數(shù)可以為一個或多個函數(shù)。對于多個函數(shù),所述程序測試設(shè)備需要分別與所述多個函數(shù)建立鏈接關(guān)系。

通過與目標函數(shù)建立鏈接關(guān)系,可以便于實現(xiàn)后續(xù)對目標函數(shù)進行預(yù)處理、編譯處理等過程,提高了對目標程序進行測試的準確性。

S102,基于所述鏈接關(guān)系,獲取所述目標函數(shù)的起始位置信息;

具體的,基于所述鏈接關(guān)系,所述程序測試設(shè)備可以獲取所述目標函數(shù)的起始位置信息,優(yōu)選的,所述程序測試設(shè)備可以基于所述鏈接關(guān)系對所述目標函數(shù)進行預(yù)處理,并在預(yù)處理后生成所述目標函數(shù)對應(yīng)的抽象語法樹(Abstract Syntax Tree,AST),所述預(yù)處理可以包括預(yù)編譯過程以及翻譯過程,所述程序測試設(shè)備基于所述鏈接關(guān)系對所述目標函數(shù)進行預(yù)編譯處理,并對預(yù)編譯處理后的目標函數(shù)進行翻譯,最終生成所述目標函數(shù)對應(yīng)的AST。所述程序測試設(shè)備獲取所述目標函數(shù)對應(yīng)的AST,并對所述AST進行編譯以獲取所述目標函數(shù)的起始位置信息。可以理解的是,所述起始位置信息包括所述目標函數(shù)的首字符的位置坐標以及所述目標函數(shù)中開始運行的位置坐標,例如:所述目標函數(shù)的起始大括號的位置坐標等。

S103,按照所述起始位置信息對所述目標程序進行插樁測試;

具體的,所述程序測試設(shè)備按照所述起始位置信息對所述目標程序進行插樁測試,進一步的,對于多個目標函數(shù),所述程序測試設(shè)備按照每個目標函數(shù)的起始位置信息進行插樁,并依次進行測試,即對所述目標程序進行測試。

在本發(fā)明實施例中,當需要對目標程序進行測試時,通過與所述目標程序中的目標函數(shù)建立鏈接關(guān)系,可以基于該鏈接關(guān)系獲取目標函數(shù)的起始位置信息,最終按照起始位置信息對目標程序進行插樁測試。實現(xiàn)了對目標程序的自動測試,通過基于鏈接關(guān)系獲取目標函數(shù)的起始位置信息,保證了對程序進行覆蓋測試的全面性,避免了對后續(xù)的程序開發(fā)的影響,提升了對程序的測試效果和測試效率。

請參見圖2,為本發(fā)明實施例提供了另一種判斷應(yīng)用程序測試覆蓋范圍的方法的流程示意圖。如圖2所示,本發(fā)明實施例的所述方法可以包括以下步驟S201-步驟S206。

S201,當對目標程序進行測試時,定位并獲取所述目標程序的頭文件目錄;

具體的,當需要對目標程序進行測試時,程序測試設(shè)備需要定位并獲取目標程序的頭文件目錄,假設(shè)系統(tǒng)中默認的頭文件目錄為“/usr/include”,而在所述目標程序中未查找到,則需要進行頭文件目錄的重定位,所述程序測試設(shè)備可以將所定位的多個頭文件目錄進行輸出,并由用戶自行分析,并最終確定所述目標程序的頭文件目錄,所述程序測試設(shè)備獲取用戶所確定的所述目標程序的頭文件目錄,優(yōu)選的,所述程序測試設(shè)備還可以將獲取的所述目標程序的頭文件目錄輸出為一個變量,并根據(jù)該變量生成一個插件。

S202,與所述目標程序中的目標函數(shù)建立鏈接關(guān)系;

具體的,程序測試設(shè)備可以與所述目標程序中的目標函數(shù)建立鏈接關(guān)系,優(yōu)選的,所述程序測試設(shè)備可以創(chuàng)建一個前端進程,該前端進程優(yōu)選為對目標程序進行輸入的接口,測試人員可以通過該前端進程將需要測試的目標程序進行輸入,所述程序測試設(shè)備可以獲取所述目標程序,并與所述目標程序中的目標函數(shù)建立鏈接關(guān)系。例如:所述程序測試設(shè)備可以調(diào)用Clang工具建立一個前端進程,Clang是一個C語言、C++、Objective-C、Objective-C++語言的輕量級編譯器,并通過Clang工具與所述目標函數(shù)建立鏈接關(guān)系。

可以理解的是,所述目標程序可以包含一個或多個函數(shù),因此所述目標函數(shù)可以為一個或多個函數(shù)。對于多個函數(shù),所述程序測試設(shè)備需要分別與所述多個函數(shù)建立鏈接關(guān)系。

通過對目標程序的頭文件目錄進行定位和獲取,以及與目標函數(shù)建立鏈接關(guān)系,可以便于實現(xiàn)后續(xù)對目標函數(shù)進行預(yù)處理、編譯處理等過程,提高了對目標程序進行測試的準確性。

S203,基于所述鏈接關(guān)系對所述目標函數(shù)進行預(yù)處理,并在預(yù)處理后生成所述目標函數(shù)對應(yīng)的AST;

具體的,所述程序測試設(shè)備可以基于所述鏈接關(guān)系對所述目標函數(shù)進行預(yù)處理,并在預(yù)處理后生成所述目標函數(shù)對應(yīng)的AST,所述預(yù)處理可以包括預(yù)編譯過程以及翻譯過程,所述程序測試設(shè)備基于所述鏈接關(guān)系對所述目標函數(shù)進行預(yù)編譯處理,并對預(yù)編譯處理后的目標函數(shù)進行翻譯,最終生成所述目標函數(shù)對應(yīng)的AST。

S204,對所述AST進行編譯以獲取所述目標函數(shù)的起始位置信息;

具體的,所述程序測試設(shè)備獲取所述目標函數(shù)對應(yīng)的AST,并對所述AST進行編譯以獲取所述目標函數(shù)的起始位置信息??梢岳斫獾氖?,所述起始位置信息包括所述目標函數(shù)的首字符的位置坐標以及所述目標函數(shù)中開始運行的位置坐標,例如:所述目標函數(shù)的起始大括號的位置坐標等。

S205,基于所述連接關(guān)系,獲取所述目標函數(shù)的結(jié)束位置信息;

具體的,所述程序測試設(shè)備在獲取所述起始位置信息的同時還可以獲取所述目標函數(shù)對應(yīng)的結(jié)束位置信息,所述結(jié)束位置信息包括所述目標函數(shù)的末字符的位置坐標以及所述目標函數(shù)中結(jié)束運行的位置坐標,例如:所述目標函數(shù)的結(jié)束大括號的位置坐標等。通過獲取所述目標函數(shù)的結(jié)束位置信息,可以便 于測試人員對所述目標函數(shù)的測試結(jié)果進行分析以及進行評價,保證測試的效果以及有效性。

S206,按照所述起始位置信息對所述目標程序進行插樁測試;

具體的,所述程序測試設(shè)備按照所述起始位置信息對所述目標程序進行插樁測試,進一步的,對于多個目標函數(shù),所述程序測試設(shè)備按照每個目標函數(shù)的起始位置信息進行插樁,并依次進行測試,即對所述目標程序進行測試。

在本發(fā)明實施例中,當需要對目標程序進行測試時,通過與所述目標程序中的目標函數(shù)建立鏈接關(guān)系,可以基于該鏈接關(guān)系獲取目標函數(shù)的起始位置信息,最終按照起始位置信息對目標程序進行插樁測試。實現(xiàn)了對目標程序的自動測試,通過基于鏈接關(guān)系獲取目標函數(shù)的起始位置信息,保證了對程序進行覆蓋測試的全面性,避免了對后續(xù)的程序開發(fā)的影響,提升了對程序的測試效果和測試效率;通過對目標程序的頭文件目錄進行定位和獲取,以及與目標函數(shù)建立鏈接關(guān)系,可以便于實現(xiàn)后續(xù)對目標函數(shù)進行預(yù)處理、編譯處理等過程,提高了對目標程序進行測試的準確性;通過獲取所述目標函數(shù)的結(jié)束位置信息,可以便于測試人員對所述目標函數(shù)的測試結(jié)果進行分析以及進行評價,保證測試的效果以及有效性。

下面將結(jié)合附圖3-附圖5,對本發(fā)明實施例提供的程序測試設(shè)備進行詳細介紹。需要說明的是,附圖3-附圖5所示的程序測試設(shè)備,用于執(zhí)行本發(fā)明圖1和圖2所示實施例的方法,為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分,具體技術(shù)細節(jié)未揭示的,請參照本發(fā)明圖1和圖2所示的實施例。

請參見圖3,為本發(fā)明實施例提供了一種程序測試設(shè)備的結(jié)構(gòu)示意圖。如圖3所示,本發(fā)明實施例的所述程序測試設(shè)備1可以包括:關(guān)系建立單元11、信息獲取單元12和程序測試單元13。

關(guān)系建立單元11,用于當對目標程序進行測試時,與所述目標程序中的目標函數(shù)建立鏈接關(guān)系;

具體實現(xiàn)中,當需要對目標程序進行測試時,所述關(guān)系建立單元11可以與所述目標程序中的目標函數(shù)建立鏈接關(guān)系,優(yōu)選的,所述關(guān)系建立單元11可以創(chuàng)建一個前端進程,該前端進程優(yōu)選為對目標程序進行輸入的接口,測試人員可以通過該前端進程將需要測試的目標程序進行輸入,所述關(guān)系建立單元11可 以獲取所述目標程序,并與所述目標程序中的目標函數(shù)建立鏈接關(guān)系。例如:所述關(guān)系建立單元11可以調(diào)用Clang工具建立一個前端進程,Clang是一個C語言、C++、Objective-C、Objective-C++語言的輕量級編譯器,并通過Clang工具與所述目標函數(shù)建立鏈接關(guān)系。

可以理解的是,所述目標程序可以包含一個或多個函數(shù),因此所述目標函數(shù)可以為一個或多個函數(shù)。對于多個函數(shù),所述關(guān)系建立單元11需要分別與所述多個函數(shù)建立鏈接關(guān)系。

通過與目標函數(shù)建立鏈接關(guān)系,可以便于實現(xiàn)后續(xù)對目標函數(shù)進行預(yù)處理、編譯處理等過程,提高了對目標程序進行測試的準確性。

信息獲取單元12,用于基于所述鏈接關(guān)系,獲取所述目標函數(shù)的起始位置信息;

具體實現(xiàn)中,基于所述鏈接關(guān)系,所述信息獲取單元12可以獲取所述目標函數(shù)的起始位置信息,優(yōu)選的,所述信息獲取單元12可以基于所述鏈接關(guān)系對所述目標函數(shù)進行預(yù)處理,并在預(yù)處理后生成所述目標函數(shù)對應(yīng)的AST,所述預(yù)處理可以包括預(yù)編譯過程以及翻譯過程,所述信息獲取單元12基于所述鏈接關(guān)系對所述目標函數(shù)進行預(yù)編譯處理,并對預(yù)編譯處理后的目標函數(shù)進行翻譯,最終生成所述目標函數(shù)對應(yīng)的AST。所述信息獲取單元12獲取所述目標函數(shù)對應(yīng)的AST,并對所述AST進行編譯以獲取所述目標函數(shù)的起始位置信息??梢岳斫獾氖牵銎鹗嘉恢眯畔ㄋ瞿繕撕瘮?shù)的首字符的位置坐標以及所述目標函數(shù)中開始運行的位置坐標,例如:所述目標函數(shù)的起始大括號的位置坐標等。

所述信息獲取單元12在獲取所述起始位置信息的同時還可以獲取所述目標函數(shù)對應(yīng)的結(jié)束位置信息,所述結(jié)束位置信息包括所述目標函數(shù)的末字符的位置坐標以及所述目標函數(shù)中結(jié)束運行的位置坐標,例如:所述目標函數(shù)的結(jié)束大括號的位置坐標等。通過獲取所述目標函數(shù)的結(jié)束位置信息,可以便于測試人員對所述目標函數(shù)的測試結(jié)果進行分析以及進行評價,保證測試的效果以及有效性。

具體的,請一并參見圖4,為本發(fā)明實施例提供了信息獲取單元的結(jié)構(gòu)示意圖。如圖4所示,所述信息獲取單元12可以包括:

語法樹生成子單元121,用于基于所述鏈接關(guān)系對所述目標函數(shù)進行預(yù)處理, 并在預(yù)處理后生成所述目標函數(shù)對應(yīng)的AST;

具體實現(xiàn)中,所述語法樹生成子單元121可以基于所述鏈接關(guān)系對所述目標函數(shù)進行預(yù)處理,并在預(yù)處理后生成所述目標函數(shù)對應(yīng)的AST,所述預(yù)處理可以包括預(yù)編譯過程以及翻譯過程,所述語法樹生成子單元121基于所述鏈接關(guān)系對所述目標函數(shù)進行預(yù)編譯處理,并對預(yù)編譯處理后的目標函數(shù)進行翻譯,最終生成所述目標函數(shù)對應(yīng)的AST。

信息獲取子單元122,用于對所述AST進行編譯以獲取所述目標函數(shù)的起始位置信息;

具體實現(xiàn)中,所述信息獲取子單元122獲取所述目標函數(shù)對應(yīng)的AST,并對所述AST進行編譯以獲取所述目標函數(shù)的起始位置信息。可以理解的是,所述起始位置信息包括所述目標函數(shù)的首字符的位置坐標以及所述目標函數(shù)中開始運行的位置坐標,例如:所述目標函數(shù)的起始大括號的位置坐標等。

程序測試單元13,用于按照所述起始位置信息對所述目標程序進行插樁測試;

具體實現(xiàn)中,所述程序測試單元13按照所述起始位置信息對所述目標程序進行插樁測試,進一步的,對于多個目標函數(shù),所述程序測試單元13按照每個目標函數(shù)的起始位置信息進行插樁,并依次進行測試,即對所述目標程序進行測試。

在本發(fā)明實施例中,當需要對目標程序進行測試時,通過與所述目標程序中的目標函數(shù)建立鏈接關(guān)系,可以基于該鏈接關(guān)系獲取目標函數(shù)的起始位置信息,最終按照起始位置信息對目標程序進行插樁測試。實現(xiàn)了對目標程序的自動測試,通過基于鏈接關(guān)系獲取目標函數(shù)的起始位置信息,保證了對程序進行覆蓋測試的全面性,避免了對后續(xù)的程序開發(fā)的影響,提升了對程序的測試效果和測試效率;通過獲取所述目標函數(shù)的結(jié)束位置信息,可以便于測試人員對所述目標函數(shù)的測試結(jié)果進行分析以及進行評價,保證測試的效果以及有效性。

請參見圖5,為本發(fā)明實施例提供了另一種程序測試設(shè)備1的結(jié)構(gòu)示意圖。如圖5所示,本發(fā)明實施例的所述程序測試設(shè)備11可以包括:關(guān)系建立單元11、信息獲取單元12、程序測試單元13和目錄獲取單元14;其中,關(guān)系建立單元11、信息獲取單元12和程序測試單元13的具體結(jié)構(gòu)可以參見圖3所示實施例 的描述,在此不進行贅述。

目錄獲取單元14,用于當對目標程序進行測試時,定位并獲取所述目標程序的頭文件目錄;

具體實現(xiàn)中,當需要對目標程序進行測試時,程序測試設(shè)備1需要定位并獲取目標程序的頭文件目錄,假設(shè)系統(tǒng)中默認的頭文件目錄為“/usr/include”,而在所述目標程序中未查找到,則需要進行頭文件目錄的重定位,所述程序測試設(shè)備1可以將所定位的多個頭文件目錄進行輸出,并由用戶自行分析,并最終確定所述目標程序的頭文件目錄,所述目錄獲取單元14獲取用戶所確定的所述目標程序的頭文件目錄,優(yōu)選的,所述目錄獲取單元14還可以將獲取的所述目標程序的頭文件目錄輸出為一個變量,并根據(jù)該變量生成一個插件。

在本發(fā)明實施例中,當需要對目標程序進行測試時,通過與所述目標程序中的目標函數(shù)建立鏈接關(guān)系,可以基于該鏈接關(guān)系獲取目標函數(shù)的起始位置信息,最終按照起始位置信息對目標程序進行插樁測試。實現(xiàn)了對目標程序的自動測試,通過基于鏈接關(guān)系獲取目標函數(shù)的起始位置信息,保證了對程序進行覆蓋測試的全面性,避免了對后續(xù)的程序開發(fā)的影響,提升了對程序的測試效果和測試效率;通過對目標程序的頭文件目錄進行定位和獲取,以及與目標函數(shù)建立鏈接關(guān)系,可以便于實現(xiàn)后續(xù)對目標函數(shù)進行預(yù)處理、編譯處理等過程,提高了對目標程序進行測試的準確性;通過獲取所述目標函數(shù)的結(jié)束位置信息,可以便于測試人員對所述目標函數(shù)的測試結(jié)果進行分析以及進行評價,保證測試的效果以及有效性。

請參見圖6,為本發(fā)明實施例提供了又一種程序測試設(shè)備的結(jié)構(gòu)示意圖。如圖6所示,所述程序測試設(shè)備1000可以包括:至少一個處理器1001,例如CPU,至少一個網(wǎng)絡(luò)接口1004,用戶接口1003,存儲器1005,至少一個通信總線1002。其中,通信總線1002用于實現(xiàn)這些組件之間的連接通信。其中,用戶接口1003可以包括顯示屏(Display)、鍵盤(Keyboard),可選用戶接口1003還可以包括標準的有線接口、無線接口。網(wǎng)絡(luò)接口1004可選的可以包括標準的有線接口、無線接口(如WI-FI接口)。存儲器1005可以是高速RAM存儲器,也可以是非不穩(wěn)定的存儲器(non-volatile memory),例如至少一個磁盤存儲器。存儲器1005可選的還可以是至少一個位于遠離前述處理器1001的存儲裝置。如圖6所示, 作為一種計算機存儲介質(zhì)的存儲器1005中可以包括操作系統(tǒng)、網(wǎng)絡(luò)通信模塊、用戶接口模塊以及測試應(yīng)用程序。

在圖6所示的程序測試設(shè)備1000中,用戶接口1003主要用于為用戶提供輸入的接口,獲取用戶輸入的數(shù)據(jù);而處理器1001可以用于調(diào)用存儲器1005中存儲的測試應(yīng)用程序,并具體執(zhí)行以下操作:

當對目標程序進行測試時,與所述目標程序中的目標函數(shù)建立鏈接關(guān)系;

基于所述鏈接關(guān)系,獲取所述目標函數(shù)的起始位置信息;

按照所述起始位置信息對所述目標程序進行插樁測試。

在一個實施例中,所述處理器1001在執(zhí)行與所述目標程序中的目標函數(shù)建立鏈接關(guān)系之前,還執(zhí)行以下操作:

定位并獲取所述目標程序的頭文件目錄。

在一個實施例中,所述處理器1001在執(zhí)行基于所述鏈接關(guān)系,獲取所述目標函數(shù)的起始位置信息時,具體執(zhí)行以下操作:

基于所述鏈接關(guān)系對所述目標函數(shù)進行預(yù)處理,并在預(yù)處理后生成所述目標函數(shù)對應(yīng)的AST;

對所述AST進行編譯以獲取所述目標函數(shù)的起始位置信息。

在一個實施例中,所述處理器1001在執(zhí)行基于所述鏈接關(guān)系對所述目標函數(shù)進行預(yù)處理,并在預(yù)處理后生成所述目標函數(shù)對應(yīng)的AST時,具體執(zhí)行以下操作:

基于所述鏈接關(guān)系對所述目標函數(shù)進行預(yù)編譯處理,并對預(yù)編譯處理后的目標函數(shù)進行翻譯,以生成所述目標函數(shù)對應(yīng)的AST。

在一個實施例中,所述處理器1001還執(zhí)行以下操作:

基于所述連接關(guān)系,獲取所述目標函數(shù)的結(jié)束位置信息。

在本發(fā)明實施例中,當需要對目標程序進行測試時,通過與所述目標程序中的目標函數(shù)建立鏈接關(guān)系,可以基于該鏈接關(guān)系獲取目標函數(shù)的起始位置信息,最終按照起始位置信息對目標程序進行插樁測試。實現(xiàn)了對目標程序的自動測試,通過基于鏈接關(guān)系獲取目標函數(shù)的起始位置信息,保證了對程序進行覆蓋測試的全面性,避免了對后續(xù)的程序開發(fā)的影響,提升了對程序的測試效果和測試效率;通過對目標程序的頭文件目錄進行定位和獲取,以及與目標函數(shù)建立鏈接關(guān)系,可以便于實現(xiàn)后續(xù)對目標函數(shù)進行預(yù)處理、編譯處理等過程, 提高了對目標程序進行測試的準確性;通過獲取所述目標函數(shù)的結(jié)束位置信息,可以便于測試人員對所述目標函數(shù)的測試結(jié)果進行分析以及進行評價,保證測試的效果以及有效性。

本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。

以上所揭露的僅為本發(fā)明較佳實施例而已,當然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
同心县| 弥勒县| 太谷县| 清涧县| 集贤县| 成武县| 黄陵县| 松阳县| 长治县| 夏邑县| 和田市| 泰宁县| 彭山县| 娱乐| 天门市| 金昌市| 屏南县| 白银市| 西乡县| 农安县| 蓝田县| 类乌齐县| 无为县| 霍城县| 千阳县| 遂昌县| 岱山县| 全椒县| 定兴县| 长垣县| 贵州省| 和田市| 原平市| 寻甸| 吴忠市| 阜阳市| 新沂市| 高陵县| 松阳县| 长垣县| 梅州市|