以前一直有这样一个想法,今天终于付诸实践了。
为了查看web应用有后台错误日志,最基本的测试办法是手工点页面。
但要手工点全站,会比较慢。 最理想的办法是建立一套自动化测试脚本。
但如果没有一套这样的脚本,或者说没有这个脚本还不够完备时,就可以考虑使用爬虫了。 爬虫的好处是它可以递归地找出一个站点的所有链接并跟踪,也就是说能够完整遍历你的网站提供的服务。
所以,你可以一边用爬虫扫,一边盯着你后台的日志文件,看看有没有ERROR Log.
这里推荐一个轻巧的爬虫:skipfish. 它是一个命令行程序,主要用于安全性扫描,不过当然也可以用于健壮性测试:
./skipfish -D my-friend.com -g 1 -m 1 -r 100 -o ~/report-dir http://my.com/index #这是linux版的,windows下也有skipfish.exe #你还可以使用-C参数注入cookie, 方便扫描登录后的页面
扫完之后找出所有错误日志:
cat my.log|grep ERROR|awk '{for (i=5;i<=NF;i++ )printf( "%s ",$i); printf("\n")}' |sort|uniq # 这里从第5列开始看日志,请按你的日志pattern来调整这个值
不过skipfish有个缺点,它对javascript的处理能力;如果你的网站有大量的ajax请求,那skipfish是不够用的,需要另找其它爬虫。