[發明專利]一種程序測試方法、裝置及電子設備有效
| 申請號: | 201810445240.0 | 申請日: | 2018-05-10 |
| 公開(公告)號: | CN110471830B | 公開(公告)日: | 2022-06-21 |
| 發明(設計)人: | 周志剛;陳少杰;張文明 | 申請(專利權)人: | 武漢斗魚網絡科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;H04L67/50;H04L67/30 |
| 代理公司: | 北京眾達德權知識產權代理有限公司 11570 | 代理人: | 劉杰 |
| 地址: | 430000 湖北省武漢市東湖開*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 程序 測試 方法 裝置 電子設備 | ||
本發明實施例公開了一種程序測試方法、裝置及電子設備。本發明實施例方法包括:利用預先編寫好的TCP程序對已安裝客戶端程序接收服務器數據異常情況進行測試;編寫程序讀取配置文件,以進行客戶端程序的設置,對客戶端程序讀取配置文件進行兼容性處理;對系統的讀取文件函數進行HOOK,以修改客戶端程序讀取配置文件的讀取數據,對客戶端程序進行測試。本發明實施例在程序執行過程中,可以系統函數的參數和功能,從而模擬程序錯誤的情況或者各種其他情況,且是基于已經發布的程序,不會對現有程序做任何改動,能夠盡量真實的模擬正常程序版本運行的環境,不會造成程序崩潰等異常情況,測試穩定性和效率高。
技術領域
本發明涉及信息處理技術領域,特別涉及一種程序測試方法、裝置及電子設備。
背景技術
目前,對于程序開發來說,編寫測試代碼是保障程序運行時正確不出問題的好方法。通常我們開發完程序后則編寫單元測試功能。
然而程序功能集成后,想要在現有完成的功能上測試程序各種條件下的程序處理是否能夠正確處理則不是非常方便。例如編寫的一個網絡傳輸控制協議(TransmissionControl Protocol,TCP)的程序,則無法模擬收到的服務器數據包是錯誤的,正確的,或者某些地方是錯誤的情況。同樣的對于例如有些函數執行流程總是能夠獲取到正確的數據,同時也需要模擬出獲取數據是各種錯誤的情況下,程序的執行是否是正常的,不會導致崩潰的發生。例如讀取一個配置文件,傳入的讀取文件路徑是錯誤的,或者讀取的文件是錯誤的等等情況。
目前還沒有一種能夠在已經完整的程序中模擬各種異常情況,同時也不會對正常的代碼進行侵入和干擾,不修改現有功能的代碼,從而盡可能的保障其和正式發布的功能是一致的方法。同時對于程序運行過程中,或者是程序已經發布,發現一個程序的崩潰或者錯誤的情況,非常難解決類似的問題。
發明內容
本發明實施例提供了一種程序測試方法、裝置及電子設備,以解決程序運行過程中,或者是程序已經發布的情況下無法有效模擬進行程序測試的問題。
第一方面,本申請提供了一種程序測試方法,該方法包括:
利用預先編寫好的TCP程序對已安裝客戶端程序接收服務器數據異常情況進行測試,所述TCP程序用于收取服務器下發的數據并處理;
編寫程序讀取配置文件,以進行所述客戶端程序的設置;
對所述客戶端程序讀取配置文件進行兼容性處理;
對系統的讀取文件函數進行HOOK,以修改所述客戶端程序讀取配置文件的讀取數據,對所述客戶端程序進行測試。
進一步的,在利用預先編寫好的TCP程序對已安裝客戶端程序接收服務器數據異常情況進行測試之前,所述方法還包括:
編寫TCP程序;
所述利用預先編寫好的TCP程序對已安裝客戶端程序接收服務器數據異常情況進行測試,包括:
利用所述TCP程序測試所述客戶端程序的容錯性;
對系統的網絡接收數據函數進行HOOK,以對收到的服務器數據進行修改,測試所述客戶端程序對接收的服務器數據的邏輯處理。
進一步的,所述編寫TCP程序,具體包括:
創建網絡套接字socket;
建立與所述服務器的連接;
寫入請求數據并發送給所述服務器;
接收從所述服務器發送的數據。
進一步的,所述對系統的網絡接收數據函數進行HOOK,具體包括:
獲取系統的網絡接收數據函數的函數指針;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢斗魚網絡科技有限公司,未經武漢斗魚網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810445240.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:軟件代碼測試覆蓋率的檢查方法及裝置
- 下一篇:一種兼容測試的自動化方法及裝置





