小工具之崩潰模擬工具

發表于:2016-03-03來源:搜狗測試作者:Deadwalk點擊數: 標簽:工具
在功能測試的過程中,我們可能會有一類這樣的測試需求:測試被測軟件的異常處理模塊,確保異常處理模塊工作正常。例如:搜狗瀏覽器開發的過程中,加入了 Exception handle的處理機制

  在功能測試的過程中,我們可能會有一類這樣的測試需求:測試被測軟件的異常處理模塊,確保異常處理模塊工作正常。例如:搜狗瀏覽器開發的過程中,加入了 Exception handle的處理機制,無論是主進程還是子進程,當程序出現異常崩潰時,搜狗瀏覽器可以彈出異常對話框,同時在%temp%目錄下生成se.zip的崩潰信息文件并上傳,以便開發人員可以快速定位崩潰原因進行修復。同樣,如QQ、Word等軟件都有類似的機制。

  現在問題來了,為了驗證崩潰處理機制正常,我們如何構造程序崩潰的情況呢?

  在項目早期,我們可能掌握著數量可觀的崩潰BUG,所以回答以上問題很容易。但是隨著崩潰BUG逐步地修復,以上問題就變得很難處理了。

  本次分享,小編將介紹搜狗同學自己做的一款崩潰模擬工具,使用它可以對任意指定進程進行崩潰模擬操作。

  PS:感興趣的各位讀者也可以去Git上下載源碼進行修改。

  程序下載地址:

  http://url.cn/ekZwQ3

  源碼下載地址:

  https://github.com/sogou/Test-InjectDll.git

  源碼解讀:

  崩潰模擬過程大致是:

  1.向指定進程(如搜狗瀏覽器)注入一段執行代碼,使得該進程執行LoadLibrary加載指定的一個DLL文件(如InjectDll.dll)。

  2.該Dll被上述的指定進程加載后,啟動一個線程,在該線程中執行能夠造成程序崩潰的操作(如除0操作)。

  注入代碼執行LoadLibrary的實現:

  Dll加載并構造崩潰的實現:

  工具使用方法:

  示例:小編現在要構造搜狗瀏覽器主進程的崩潰

原文轉自:http://www.testwo.com/article/601

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97