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

軟件的測試方法及裝置制造方法

文檔序號:6508535閱讀:210來源:國知局
軟件的測試方法及裝置制造方法
【專利摘要】本發(fā)明公開一種軟件的測試方法,包括:偵測到軟件測試指令時,對當前版本軟件的源代碼進行靜態(tài)分析,獲得靜態(tài)分析結果,同時獲取當前版本軟件與上一版本軟件的差異文件信息;根據所述當前版本軟件與前一版本軟件的差異文件信息,對所述靜態(tài)分析結果進行過濾,獲得差異文件對應的靜態(tài)分析結果;根據差異文件對應的靜態(tài)分析結果,產生bug單。對應地,本發(fā)明還公開了一種軟件的測試裝置。本實施例中通過對源代碼進行靜態(tài)分析獲得靜態(tài)分析結果,同時獲取當前版本與上一版本之間的差異文件信息,以過濾獲得差異文件對應的靜態(tài)分析結果,然后再根據靜態(tài)分析結果自動產生bug單,實現(xiàn)了靜態(tài)分析的自動化,提高了軟件測試效率。
【專利說明】軟件的測試方法及裝置

【技術領域】
[0001]本發(fā)明涉及計算機【技術領域】,尤其涉及一種軟件的測試方法及裝置。

【背景技術】
[0002]軟件的代碼量往往會非常龐大,則在軟件測試時對整個工程的源代碼全部做一次靜態(tài)掃描將會非常耗時。同時,一次全量掃描得到的缺陷數也會非常多。因此,如果是在項目即將發(fā)布時才統(tǒng)一來做靜態(tài)分析,并將所有的缺陷一次性提交給開發(fā)人員,這樣勢必降低軟件的研發(fā)效率和質量。因此亟需一種能提高軟件測試效率的靜態(tài)分析方法。


【發(fā)明內容】

[0003]本發(fā)明實施例提供一種軟件的測試方法及裝置,旨在提高軟件測試的效率。
[0004]本發(fā)明實施例提供了一種軟件的測試方法,包括:
[0005]偵測到軟件測試指令時,對當前版本軟件的源代碼進行靜態(tài)分析,獲得靜態(tài)分析結果,同時獲取當前版本軟件與上一版本軟件的差異文件信息;
[0006]根據所述當前版本軟件與前一版本軟件的差異文件信息,對所述靜態(tài)分析結果進行過濾,獲得差異文件對應的靜態(tài)分析結果;
[0007]根據差異文件對應的靜態(tài)分析結果,產生漏洞單。
[0008]本發(fā)明實施例技術方案還提供了一種軟件的測試裝置,包括:
[0009]信息獲取模塊,用于偵測到軟件測試指令時,對當前版本軟件的源代碼進行靜態(tài)分析,獲得靜態(tài)分析結果,同時獲取當前版本軟件與上一版本軟件的差異文件信息;
[0010]信息匹配模塊,用于根據所述當前版本軟件與前一版本軟件的差異文件信息,對所述靜態(tài)分析結果進行過濾,獲得差異文件對應的靜態(tài)分析結果;
[0011]信息處理模塊,用于根據差異文件對應的靜態(tài)分析結果,產生漏洞單。
[0012]本實施例中通過對源代碼進行靜態(tài)分析獲得靜態(tài)分析結果,同時獲取當前版本與上一版本之間的差異文件信息,以過濾獲得差異文件對應的靜態(tài)分析結果,然后再根據靜態(tài)分析結果自動產生漏洞單,實現(xiàn)了靜態(tài)分析的自動化,提高了軟件測試效率。

【專利附圖】

【附圖說明】
[0013]圖1是本發(fā)明軟件的測試方法第一實施例的流程示意圖;
[0014]圖2是本發(fā)明軟件的測試方法中對差異文件的靜態(tài)分析結果進行處理的流程示意圖;
[0015]圖3是本發(fā)明軟件的測試方法第二實施例的流程示意圖;
[0016]圖4是本發(fā)明軟件的測試裝置第一實施例的功能模塊示意圖;
[0017]圖5是本發(fā)明軟件的測試裝置中信息處理模塊的功能模塊示意圖;
[0018]圖6是本發(fā)明軟件的測試裝置第二實施例的功能模塊示意圖。
[0019]本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結合實施例,參照附圖做進一步說明。

【具體實施方式】
[0020]以下結合說明書附圖及具體實施例進一步說明本發(fā)明的技術方案。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0021]本發(fā)明的主要思想是在對源代碼差異進行靜態(tài)分析時,可以先獲得當前版本的源代碼的靜態(tài)分析結果,并根據當前版本與上一版本的差異文件信息過濾獲得差異文件對應的靜態(tài)分析結果。然后判斷靜態(tài)分析結果是屬于歷史缺陷還是新增缺陷,并根據判斷結果產生相應的漏洞(bug)單,供代碼開發(fā)人員查看并解決。因此,本發(fā)明實現(xiàn)了靜態(tài)分析的自動化,提高了軟件測試的效率。
[0022]為便于理解,以下先介紹與本發(fā)明相關的技術名詞:
[0023]靜態(tài)分析:是指在不運行代碼的方式下,通過詞法分析、語法分析、控制流分析等技術對代碼進行掃描,驗證代碼是否滿足規(guī)范性、安全性、可靠性、可維護性等指標,從而檢查出代碼所潛在的缺陷的一種軟件測試方法。該靜態(tài)分析可以調用現(xiàn)有技術常用的靜態(tài)分析工具進行。
[0024]bug單:用于跟蹤軟件缺陷的發(fā)現(xiàn)時間、負責人、詳細描述、是否解決的記錄。
[0025]參照圖1,提出本發(fā)明軟件的測試方法第一實施例的流程。該實施例的軟件的測試分析方法包括以下步驟:
[0026]步驟S110、偵測到軟件測試指令時,對當前版本軟件的源代碼進行靜態(tài)分析,獲得靜態(tài)分析結果;
[0027]步驟S120、獲取當前版本軟件與上一版本軟件的差異文件信息;
[0028]本發(fā)明的軟件測試方法用于對持續(xù)集成(continuous integrat1n,Cl)平臺提交的軟件安裝包自動進行軟件測試,分析該軟件安裝包存在的缺陷,并根據缺陷,生成相應的bug單。該軟件測試指令可以由用戶觸發(fā)。例如用戶將Cl平臺編譯生成的軟件安裝包調取至該軟件測試系統(tǒng),并啟動軟件測試功能。當然,該軟件測試指令也可以由軟件測試系統(tǒng)自動觸發(fā)。例如,一旦Cl平臺編譯生成軟件安裝包時,就觸發(fā)產生軟件測試指令。通過與Cl平臺進行關聯(lián),在Cl平臺生成軟件安裝包時即觸發(fā)軟件測試,從而實現(xiàn)了軟件編譯及測試的自動化。
[0029]由于Cl平臺在對源代碼編譯成功后將生成軟件安裝包,每個軟件安裝包對應一個版本號。版本號一般格式為主版本號.子版本號[.編譯版本號[.修正版本號]]。當每個軟件安裝包的源代碼經過修改,并進行編譯后,將為軟件安裝包生成一新的版本號。而根據版本號可以區(qū)分不同版本的軟件安裝包。因此,偵測到軟件測試指令時,則調用相應的靜態(tài)分析工具,對當前版本的軟件安裝包的所有代碼進行靜態(tài)分析,獲得靜態(tài)分析結果。同時調用相應的差異分析工具,獲取當前版本的軟件安裝包與上一版本的軟件安裝包之間的差異文件信息。上述靜態(tài)分析步驟與差異分析步驟可以同時進行,也可以先后順序進行,且兩者的順序并不限定。
[0030]步驟S130、根據所述當前版本與上一版本的差異文件信息,對所述靜態(tài)分析結果進行過濾,獲得差異文件對應的靜態(tài)分析結果;
[0031]本實施例中,靜態(tài)分析結果為一缺陷列表,其包括文件名、行號、缺陷類型、缺陷信息等。在獲得靜態(tài)分析結果及差異文件之后,將差異文件信息中的差異文件名與靜態(tài)分析結果中的文件名進行匹配,獲得差異文件對應的靜態(tài)分析結果。然后將過濾后獲得的差異文件對應的靜態(tài)分析結果按照文件名、缺陷行號、缺陷類型及缺陷信息進行格式化,以生成缺陷列表。
[0032]步驟S140、根據差異文件對應的靜態(tài)分析結果,產生相應的bug單。
[0033]過濾出差異文件對應的靜態(tài)分析結果,則可以判斷靜態(tài)分析結果中的缺陷是歷史缺陷還是新增缺陷,然后再根據判斷結果,產生相應的bug單。
[0034]本實施例中通過對源代碼進行靜態(tài)分析獲得靜態(tài)分析結果,同時獲取當前版本與上一版本之間的差異文件信息,以過濾獲得差異文件對應的靜態(tài)分析結果,然后再根據靜態(tài)分析結果自動產生bug單,實現(xiàn)了靜態(tài)分析的自動化,提高了軟件測試效率。
[0035]參照圖2,上述步驟S140進一步包括:
[0036]步驟S141、判斷該靜態(tài)分析結果中的缺陷是新增缺陷還是歷史缺陷;當該靜態(tài)分析結果中的缺陷是新增缺陷時則轉入步驟S142,當該靜態(tài)分析結果中的缺陷是歷史缺陷時則轉入步驟S143 ;
[0037]新增缺陷是指新增加的源代碼所產生的缺陷,歷史缺陷是指上一版本的源代碼存在的缺陷,仍然存在于當前版本的源代碼中。當該軟件安裝包是最初的版本,且第一次經過靜態(tài)分析,則其通過靜態(tài)分析后產生的缺陷均是新增缺陷。當該軟件安裝包是經過修改的版本,則判斷靜態(tài)分析結果中的缺陷是否針對源代碼的新增、修改行所產生的缺陷。當靜態(tài)分析結果中的缺陷是對源代碼的新增、修改行所產生的缺陷時,則該缺陷是新增缺陷;否則該缺陷是歷史缺陷。
[0038]步驟S142、根據該缺陷的信息,產生相應的bug單;
[0039]當判斷缺陷是新增缺陷時,則根據該新增缺陷,生成相應的bug單。該產生的bug單將涵蓋缺陷的信息,例如差異文件名、行號、缺陷類型及缺陷描述。生成bug單后,可以通過郵件、短信等方式發(fā)送至相應的開發(fā)人員,以提醒其及時解決。當然,該bug單也可以上傳至其bug系統(tǒng)中,一旦開發(fā)人員登錄該bug系統(tǒng)時,即可自動彈出bug信息,以提醒開發(fā)人員及時解決。
[0040]步驟S143、對該缺陷對應的bug單進行更新;
[0041]當判斷該缺陷是歷史缺陷時,則對靜態(tài)分析結果對應的bug單進行更新。具體為:根據靜態(tài)分析結果中缺陷的差異文件名信息,獲取對應的bug單,并根據該缺陷的其他信息,對bug單的信息進行相應的更新。例如,某差異文件的一缺陷所對應的行號是18行,而該差異文件對應的bug單描述的缺陷所對應的行號是12行,則將該bug單中的行號更新為18行。
[0042]本發(fā)明實施例不但實現(xiàn)了新增缺陷的自動提單,而且還對歷史缺陷進行更新處理,以避免產生重復的bug單,既節(jié)省人力成本,而且提高了軟件代碼的開發(fā)效率,縮短了軟件開發(fā)的周期。
[0043]參照圖3,提出本發(fā)明源代碼差異的靜態(tài)分析方法第二實施例。該實施例的源代碼差異的靜態(tài)分析方法包括以下步驟:
[0044]步驟S110、偵測到軟件測試指令時,對當前版本軟件的源代碼進行靜態(tài)分析,獲得靜態(tài)分析結果;
[0045]步驟S120、獲取當前版本軟件與上一版本軟件的差異文件信息;
[0046]步驟S130、根據所述當前版本軟件與上一版本軟件的差異文件信息,對所述靜態(tài)分析結果進行過濾,獲得差異文件對應的靜態(tài)分析結果;
[0047]步驟S150、若靜態(tài)分析結果中不存在差異文件對應的靜態(tài)分析結果,則獲取該差異文件對應的bug單,并將該bug單的狀態(tài)設置為關閉;
[0048]步驟S140、根據差異文件對應的靜態(tài)分析結果,產生bug單。
[0049]上述步驟S130的獲得差異文件對應的靜態(tài)分析結果中,若某差異文件與靜態(tài)分析結果沒有匹配成功,即靜態(tài)分析結果中的缺陷不存在該差異文件對應的缺陷,則表示該差異文件的缺陷已經被解決。此時若該差異文件對應的bug存在,則將該缺陷對應的bug單關閉,從而可以避免已解決bug重復產生而使開發(fā)人員進行重復的工作的問題,進一步節(jié)省人力成本,而且提高了軟件代碼的開發(fā)效率,縮短了軟件開發(fā)的周期。
[0050]上述步驟SllO中靜態(tài)分析功能可以為集成在軟件測試系統(tǒng)中的子功能,也可以設置在軟件測試外部的功能模塊,而供軟件測試系統(tǒng)調用。具體為,上述步驟SllO包括:
[0051]步驟Al、獲取當前版本的全部源代碼;
[0052]在偵測到靜態(tài)分析指令時,則根據當前版本獲取對應的軟件安裝包的全部代碼。由于每個軟件安裝包附帶的描述文件中具有一個字段,該字段用于描述該安裝包對應于代碼資料庫中的具體版本,因此根據描述信息即可從代碼資料庫中獲取相應的源代碼。
[0053]步驟A2、調用靜態(tài)掃描工具對所述當前版本的全部代碼進行掃描,獲得靜態(tài)分析結果。
[0054]上述步驟S120中差異文件信息的獲取可以為集成在軟件測試系統(tǒng)中的子功能,也可以設置在軟件測試外部的功能模塊,而供軟件測試系統(tǒng)調用。具體為,上述步驟S120包括:
[0055]步驟B1、獲取當前版本號及上一版本號;
[0056]獲取該軟件安裝包的版本號,并根據該版本號,獲取上一版本號。
[0057]步驟B2、根據當前版本號與上一版本號,獲取兩者之間的差異文件列表;
[0058]具體地,根據當前版本號與上一版本號,可以調用源代碼管理工具提供的比對命令可計算出兩者之間的變更文件列表,該源代碼管理工具可以是版本管理(Subvers1n,SVN), clearcase等。以SVN為例,其相應執(zhí)行代碼如下:
[0059]svn diff
[0060]old=http://svn.com/test—rep/test—proj/trunk@19435[0061 ] new=http://svn.com/test—rep/test—proj/trunk@19445
[0062]username testuser
[0063]password testpwd
[0064]no-auth-cache
[0065]non-1nteractive
[0066]summarize
[0067]步驟B3、根據差異文件列表,獲取相應的差異文件,并分析獲得差異文件的差異信肩、O
[0068]上述差異文件列表記錄了差異文件及其存儲地址,因此根據該存儲地址可以獲取相應的差異文件,即編譯文件對應的源代碼文件。然后對該源代碼文件進行分析,以獲得差異文件的差異信息。例如,當前版本的文件A的源代碼與上一版本的文件A的源代碼相比,存在新增行、刪除行或者修改行,則記錄該文件A為差異文件,并對文件A中存在差異的具體代碼行進行記錄。
[0069]對應上述方法實施例,提出本發(fā)明一種軟件的測試裝置的一實施例的功能模塊。參照圖4,本發(fā)明實施例的軟件的測試裝置包括:
[0070]信息獲取模塊110,用于偵測到軟件測試指令時,對當前版本軟件的源代碼進行靜態(tài)分析,獲得靜態(tài)分析結果,同時獲取當前版本軟件與上一版本軟件的差異文件信息;
[0071]信息匹配模塊120,用于根據所述當前版本軟件與前一版本軟件的差異文件信息,對所述靜態(tài)分析結果進行過濾,獲得差異文件對應的靜態(tài)分析結果;
[0072]信息處理模塊130,用于根據差異文件對應的靜態(tài)分析結果,產生bug單。
[0073]上述信息獲取模塊110中,偵測到軟件測試指令時,則調用相應的靜態(tài)分析工具,對當前版本的軟件安裝包的所有代碼進行靜態(tài)分析,獲得靜態(tài)分析結果。同時調用相應的差異分析工具,獲取當前版本的軟件安裝包與上一版本的軟件安裝包之間的差異文件信息。關于靜態(tài)分析及差異分析的處理過程可參照前面方法實施例所述,在此就不再贅述。
[0074]本實施例中,靜態(tài)分析結果為一缺陷列表,其包括文件名、行號、缺陷類型、缺陷信息等。在獲得靜態(tài)分析結果及差異文件之后,信息匹配模塊120則將差異文件信息中的差異文件名與靜態(tài)分析結果中的文件名進行匹配,獲得差異文件對應的靜態(tài)分析結果,然后對該差異文件對應的靜態(tài)分析結果按照文件名、缺陷行號、缺陷類型及缺陷信息進行格式化,生成缺陷列表。然后信息處理模塊130可以判斷靜態(tài)分析結果中的缺陷是歷史缺陷還是新增缺陷,然后再根據判斷結果,產生相應的bug單。
[0075]本實施例中通過對源代碼進行靜態(tài)分析獲得靜態(tài)分析結果,同時獲取當前版本與上一版本之間的差異文件信息,以過濾獲得差異文件對應的靜態(tài)分析結果,然后再根據靜態(tài)分析結果自動產生bug單,實現(xiàn)了靜態(tài)分析的自動化,提高了軟件測試效率。
[0076]進一步的,參照圖5,上述信息處理模塊130包括:
[0077]缺陷類型判斷單元131,用于判斷差異文件對應的靜態(tài)分析結果中的缺陷是歷史缺陷還是新增缺陷;
[0078]歷史缺陷處理單元132,用于當差異文件對應的靜態(tài)分析結果中的缺陷是歷史缺陷,則對該缺陷的信息進行更新,然后根據更新后的缺陷信息,產生相應的bug單;
[0079]新增缺陷處理單元133,用于當差異文件對應的靜態(tài)分析結果中的缺陷是新增缺陷,則根據該缺陷的信息,產生相應的bug單。
[0080]新增缺陷是指新增加的源代碼所產生的缺陷,歷史缺陷是指上一版本的源代碼存在的缺陷,仍然存在于當前版本的源代碼中。當該軟件安裝包是最初的版本,且第一次經過靜態(tài)分析,則其通過靜態(tài)分析后產生的缺陷均是新增缺陷。當該軟件安裝包是經過修改的版本,則判斷靜態(tài)分析結果中的缺陷是否針對源代碼的新增、修改行所產生的缺陷。當靜態(tài)分析結果中的缺陷是對源代碼的新增、修改行所產生的缺陷時,則該缺陷是新增缺陷;否則該缺陷是歷史缺陷。
[0081]當判斷缺陷是新增缺陷時,新增缺陷處理單元133則根據該新增缺陷,生成相應的bug單。該產生的bug單將涵蓋缺陷的信息,例如差異文件名、行號、缺陷類型及缺陷描述。生成bug單后,可以通過郵件、短信等方式發(fā)送至相應的開發(fā)人員,以提醒其及時解決。當然,該bug單也可以上傳至其bug系統(tǒng)中,一旦開發(fā)人員登錄該bug系統(tǒng)時,即可自動彈出bug信息,以提醒開發(fā)人員及時解決。
[0082]當判斷該缺陷是歷史缺陷時,歷史缺陷處理單元132則對靜態(tài)分析結果對應的bug單進行更新。具體為:根據靜態(tài)分析結果中缺陷的差異文件名信息,獲取對應的bug單,并根據該缺陷的其他信息,對bug單的信息進行相應的更新。例如,某差異文件的一缺陷所對應的行號是18行,而該差異文件對應的bug單描述的缺陷所對應的行號是12行,則將該bug單中的行號更新為18行。
[0083]本發(fā)明實施例不但實現(xiàn)了新增缺陷的自動提單,而且還對歷史缺陷進行更新處理,以避免產生重復的bug單,既節(jié)省人力成本,而且提高了軟件代碼的開發(fā)效率,縮短了軟件開發(fā)的周期。
[0084]進一步的,上述信息處理模塊130還包括:
[0085]狀態(tài)設置單元134,用于若差異文件對應的靜態(tài)分析結果不存在,則獲取差異文件對應的bug單,并將其狀態(tài)設置為關閉。
[0086]上述信息匹配模塊120獲得差異文件對應的靜態(tài)分析結果中,若某差異文件與靜態(tài)分析結果沒有匹配成功,即靜態(tài)分析結果中的缺陷不存在該差異文件對應的缺陷,則表示該差異文件的缺陷已經被解決。此時若該差異文件對應的bug存在,狀態(tài)設置單元134將該缺陷對應的bug單關閉,從而可以避免已解決bug重復產生而使開發(fā)人員進行重復的工作的問題,進一步節(jié)省人力成本,而且提高了軟件代碼的開發(fā)效率,縮短了軟件開發(fā)的周期。
[0087]進一步的,參照圖6,上述軟件的測試裝置還包括:
[0088]指令觸發(fā)模塊140,用于當Cl平臺自動編譯源代碼后產生軟件安裝包時,則觸發(fā)產生軟件測試指令。
[0089]上述軟件測試指令可以由用戶觸發(fā)或者由軟件測試系統(tǒng)自動觸發(fā)。例如,例如,該軟件測試裝置中的指令觸發(fā)模塊與Cl平臺關聯(lián),一旦Cl平臺編譯生成軟件安裝包時,則指令觸發(fā)模塊140就觸發(fā)產生軟件測試指令。通過與Cl平臺進行關聯(lián),在Cl平臺生成軟件安裝包時即觸發(fā)軟件測試,從而實現(xiàn)了軟件編譯及測試的自動化。
[0090]需要說明的是,在本文中,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
[0091 ] 上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
[0092]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品存儲在一個存儲介質(如R0M/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,月艮務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
[0093]以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制其專利范圍,凡是利用本發(fā)明說明書及附圖內容所作的等效結構或等效流程變換,直接或間接運用在其他相關的【技術領域】,均同理包括在本發(fā)明的專利保護范圍內。
【權利要求】
1.一種軟件的測試方法,其特征在于,包括: 偵測到軟件測試指令時,對當前版本軟件的源代碼進行靜態(tài)分析,獲得靜態(tài)分析結果,同時獲取當前版本軟件與上一版本軟件的差異文件信息; 根據所述當前版本軟件與前一版本軟件的差異文件信息,對所述靜態(tài)分析結果進行過濾,獲得差異文件對應的靜態(tài)分析結果; 根據差異文件對應的靜態(tài)分析結果,產生漏洞單。
2.根據權利要求1所述的軟件的測試方法,其特征在于,所述根據差異文件對應的靜態(tài)分析結果,產生漏洞單包括: 判斷差異文件對應的靜態(tài)分析結果中的缺陷是歷史缺陷還是新增缺陷; 當差異文件對應的靜態(tài)分析結果中的缺陷是歷史缺陷,則對該缺陷對應漏洞單進行更新; 當差異文件對應的靜態(tài)分析結果中的缺陷是新增缺陷,則根據該缺陷的信息,產生相應的漏洞單。
3.根據權利要求1或2所述的軟件的測試方法,其特征在于,還包括: 若差異文件對應的靜態(tài)分析結果不存在,則獲取差異文件對應的漏洞單,并將其狀態(tài)設置為關閉。
4.根據權利要求1所述的軟件的測試方法,其特征在于,還包括: 當持續(xù)集成平臺自動編譯源代碼后產生軟件安裝包時,觸發(fā)產生軟件測試指令。
5.根據權利要求1所述的軟件的測試方法,其特征在于,所述根據當前版本軟件與前一版本軟件的差異文件信息,對所述靜態(tài)分析結果進行過濾,獲得差異文件對應的靜態(tài)分析結果包括: 將差異文件信息中的差異文件名與靜態(tài)分析結果中的文件名進行匹配,獲得差異文件對應的靜態(tài)分析結果。
6.根據權利要求1所述的軟件的測試方法,其特征在于,所述將差異文件信息中的差異文件名與靜態(tài)分析結果中的文件名進行匹配,獲得差異文件對應的靜態(tài)分析結果之后還包括: 對所述差異文件對應的靜態(tài)分析結果按照文件名、缺陷行號、缺陷類型及缺陷信息進行格式化,生成缺陷列表。
7.一種軟件的測試裝置,其特征在于,包括: 信息獲取模塊,用于偵測到軟件測試指令時,對當前版本軟件的源代碼進行靜態(tài)分析,獲得靜態(tài)分析結果,同時獲取當前版本軟件與上一版本軟件的差異文件信息; 信息匹配模塊,用于根據所述當前版本軟件與前一版本軟件的差異文件信息,對所述靜態(tài)分析結果進行過濾,獲得差異文件對應的靜態(tài)分析結果; 信息處理模塊,用于根據差異文件對應的靜態(tài)分析結果,產生漏洞單。
8.根據權利要求7所述的軟件的測試裝置,其特征在于,所述信息處理模塊包括: 缺陷類型判斷單元,用于判斷差異文件對應的靜態(tài)分析結果中的缺陷是歷史缺陷還是新增缺陷; 歷史缺陷處理單元,用于當差異文件對應的靜態(tài)分析結果中的缺陷是歷史缺陷,則對該缺陷的信息進行更新,然后根據更新后的缺陷信息,產生相應的漏洞單; 新增缺陷處理單元,用于當差異文件對應的靜態(tài)分析結果中的缺陷是新增缺陷,則根據該缺陷的信息,產生相應的漏洞單。
9.根據權利要求7或8所述的軟件的測試裝置,其特征在于,所述信息處理模塊包括: 狀態(tài)設置單元,用于若差異文件對應的靜態(tài)分析結果不存在,則獲取差異文件對應的漏洞單,并將其狀態(tài)設置為關閉。
10.根據權利要求7所述的軟件的測試裝置,其特征在于,還包括: 指令觸發(fā)模塊,用于當持續(xù)集成平臺自動編譯源代碼后產生軟件安裝包時,則觸發(fā)產生軟件測試指令。
11.根據權利要求7所述的軟件的測試裝置,其特征在于,所述信息匹配模塊用于: 將差異文件信息中的差異文件名與靜態(tài)分析結果中的文件名進行匹配,獲得差異文件對應的靜態(tài)分析結果。
12.根據權利要求11所述的軟件的測試裝置,其特征在于,所述信息匹配模塊還用于: 對所述差異文件對應的靜態(tài)分析結果按照文件名、缺陷行號、缺陷類型及缺陷信息進行格式化,生成缺陷列表。
【文檔編號】G06F11/36GK104424088SQ201310367642
【公開日】2015年3月18日 申請日期:2013年8月21日 優(yōu)先權日:2013年8月21日
【發(fā)明者】陳祎, 羅俊, 李超 申請人:騰訊科技(深圳)有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1