System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及測試,具體而言,涉及一種測試覆蓋度優化方法、裝置和電子設備。
技術介紹
1、在功能上線時,確認每行改動的代碼是否測試覆蓋完全是上線流程的一個重要環節。目前的實現方式中,是由開發人員根據改動的代碼總結測試場景,測試人員總結輸出測試用例,并依據測試用例進行測試。這種基于人工及歷史經驗方式會常常存在代碼遺漏未覆蓋的場景,一方面,因為開發人員總結的測試場景不一定能全面覆蓋。另一方面,測試人員存在遺漏測試場景未進行測試的問題。總而言之,目前這個環節是靠工作規范來約束的,只要是人為控制,總會出現紕漏。現有的實現方式存在測試場景不全面,進而導致測試覆蓋高難以提升的問題。
技術實現思路
1、本專利技術實施例的目的在于提供一種測試覆蓋度優化方法、裝置和電子設備,用以基于回調語句確定各個變更方法的測試覆蓋情況,進而達到提升測試覆蓋度的效果。
2、第一方面,本專利技術提供一種測試覆蓋度優化方法,所述方法包括:
3、獲得當前版本代碼相較其上一版本代碼所存在的變更位置;
4、基于所述變更位置在所述當前版本代碼中定位出變更方法;
5、在所述變更方法中插入回調語句;
6、針對所述當前版本代碼執行編寫的測試用例,基于所述回調語句的執行情況確定所述變更方法的測試覆蓋情況,所述變更方法的測試覆蓋情況用于指導所述測試用例的調整。
7、在可選的實施方式中,所述獲得當前版本代碼相較其上一版本代碼所存在的變更位置的步驟,包括:
9、針對各個存在差異的文件,確定存在差異的文件中的差異行,將所述差異行的行號按序保存至數組中。
10、在可選的實施方式中,所述基于所述變更位置在所述當前版本代碼中定位出變更方法的步驟,包括:
11、遍歷所述當前版本代碼中的每個文件,并判斷遍歷到的文件是否存在變更;
12、針對存在變更的文件,基于所述變更位置確定所述文件中的變動行號;
13、查找出所述文件中的方法節點,并根據所述變動行號從所述方法節點中確定出變更方法。
14、在可選的實施方式中,所述根據所述變動行號從所述方法節點中確定出變更方法的步驟,包括:
15、針對各所述方法節點,確定所述方法節點的開始行號和結束行號;
16、檢測所述變動行號中是否存在處于所述開始行號與所述結束行號之間的行號,若存在,則確定所述方法節點為變更方法。
17、在可選的實施方式中,所述在所述變更方法中插入回調語句的步驟,包括:
18、確定所述變更方法的開始語句,在所述開始語句中插入回調語句。
19、在可選的實施方式中,所述基于所述回調語句的執行情況確定所述變更方法的測試覆蓋情況的步驟,包括:
20、若產生所述回調語句被調用執行時所返回的信息,判定插入有所述回調語句的變更方法被測試覆蓋;
21、若未產生所述回調語句被調用執行時所返回的信息,則判定插入有所述回調語句的變更方法未被測試覆蓋。
22、在可選的實施方式中,所述方法還包括:
23、統計所有的變更方法以及所有變更方法中被測試覆蓋的變更方法的信息;
24、基于所有的變更方法和被測試覆蓋的變更方法的信息生成覆蓋度報告。
25、在可選的實施方式中,被測試覆蓋的變更方法的信息包括被測試覆蓋的變更方法的編號、被測試覆蓋的次數、被測試覆蓋的發生時間點、被測試覆蓋發生服務器的ip地址。
26、第二方面,本專利技術提供一種測試覆蓋度優化裝置,所述裝置包括:
27、獲得模塊,用于獲得當前版本代碼相較其上一版本代碼所存在的變更位置;
28、定位模塊,用于基于所述變更位置在所述當前版本代碼中定位出變更方法;
29、插入模塊,用于在所述變更方法中插入回調語句;
30、執行模塊,用于針對所述當前版本代碼執行編寫的測試用例,基于所述回調語句的執行情況確定所述變更方法的測試覆蓋情況,所述變更方法的測試覆蓋情況用于指導所述測試用例的調整。
31、第三方面,本專利技術提供一種電子設備,包括:處理器、存儲介質和總線,所述存儲介質存儲有所述處理器可執行的程序指令,當電子設備運行時,所述處理器與所述存儲介質之間通過總線通信,所述處理器執行所述程序指令,以實現如前述實施方式任意一項所述的測試覆蓋度優化方法。
32、本專利技術實施例的有益效果包括,例如:
33、本專利技術提供一種測試覆蓋度優化方法、裝置和電子設備,獲得當前版本代碼相較其上一版本代碼所存在的變更位置,基于變更位置在當前版本代碼中定位出變更方法,在變更方法中插入回調語句。針對當前版本代碼執行編寫的測試用例,基于回調語句的執行情況確定變更方法的測試覆蓋情況,變更方法的測試覆蓋情況用于指導測試用例的調整。本方案中,通過確定出變更方法并在變更方法中插入回調語句,從而能夠明確獲得各個變更方法的測試覆蓋情況,進而基于各變更方法的測試覆蓋情況調整測試用例,從而達到提升測試覆蓋度的效果。
本文檔來自技高網...【技術保護點】
1.一種測試覆蓋度優化方法,其特征在于,所述方法包括:
2.根據權利要求1所述的測試覆蓋度優化方法,其特征在于,所述獲得當前版本代碼相較其上一版本代碼所存在的變更位置的步驟,包括:
3.根據權利要求1所述的測試覆蓋度優化方法,其特征在于,所述基于所述變更位置在所述當前版本代碼中定位出變更方法的步驟,包括:
4.根據權利要求3所述的測試覆蓋度優化方法,其特征在于,所述根據所述變動行號從所述方法節點中確定出變更方法的步驟,包括:
5.根據權利要求1所述的測試覆蓋度優化方法,其特征在于,所述在所述變更方法中插入回調語句的步驟,包括:
6.根據權利要求1所述的測試覆蓋度優化方法,其特征在于,所述基于所述回調語句的執行情況確定所述變更方法的測試覆蓋情況的步驟,包括:
7.根據權利要求1所述的測試覆蓋度優化方法,其特征在于,所述方法還包括:
8.根據權利要求7所述的測試覆蓋度優化方法,其特征在于,被測試覆蓋的變更方法的信息包括被測試覆蓋的變更方法的編號、被測試覆蓋的次數、被測試覆蓋的發生時間點、被測試覆蓋發生
9.一種測試覆蓋度優化裝置,其特征在于,所述裝置包括:
10.一種電子設備,其特征在于,包括:處理器、存儲介質和總線,所述存儲介質存儲有所述處理器可執行的程序指令,當電子設備運行時,所述處理器與所述存儲介質之間通過總線通信,所述處理器執行所述程序指令,以實現如權利要求1-8任意一項所述的測試覆蓋度優化方法。
...【技術特征摘要】
1.一種測試覆蓋度優化方法,其特征在于,所述方法包括:
2.根據權利要求1所述的測試覆蓋度優化方法,其特征在于,所述獲得當前版本代碼相較其上一版本代碼所存在的變更位置的步驟,包括:
3.根據權利要求1所述的測試覆蓋度優化方法,其特征在于,所述基于所述變更位置在所述當前版本代碼中定位出變更方法的步驟,包括:
4.根據權利要求3所述的測試覆蓋度優化方法,其特征在于,所述根據所述變動行號從所述方法節點中確定出變更方法的步驟,包括:
5.根據權利要求1所述的測試覆蓋度優化方法,其特征在于,所述在所述變更方法中插入回調語句的步驟,包括:
6.根據權利要求1所述的測試覆蓋度優化方法,其特征在于,所述基于所述回調語句的執...
【專利技術屬性】
技術研發人員:李達,劉文長,楊健,何琦,王發修,高斌,
申請(專利權)人:成都新希望金融信息有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。