小工具之崩溃模拟工具

2016-03-02   出处: 搜狗测试  作/译者: Deadwalk

在功能测试的过程中,我们可能会有一类这样的测试需求:测试被测软件的异常处理模块,确保异常处理模块工作正常。例如:搜狗浏览器开发的过程中,加入了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加载并构造崩溃的实现:




工具使用方法:

示例:小编现在要构造搜狗浏览器主进程的崩溃




声明:本文为本站编辑转载,文章版权归原作者所有。文章内容为作者个人观点,本站只提供转载参考(依行业惯例严格标明出处和作译者),目的在于传递更多专业信息,普惠测试相关从业者,开源分享,推动行业交流和进步。 如涉及作品内容、版权和其它问题,请原作者及时与本站联系(QQ:1017718740),我们将第一时间进行处理。本站拥有对此声明的最终解释权!欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,与我们的编辑和其他窝友交流。
352° /3519 人阅读/1 条评论 发表评论

皮皮  2017-05-10

请问 有这个.exe文件吗 上面的链接过期了 ,麻烦能再分享一下吗


登录 后发表评论
最新文章