摘要
我们经常碰到这样的情况:明明数据库里面已经有数据了,但是当我们去对应页面去查询的时候,却发现是空的,这时候我们就需要去后台查看日志了,然后根据日志的sql语句来构造数据了。
1、在前台页面执行查询操作
登录测试环境的前台页面,然后进入测试页面,点击页面右上角的"condition"按钮,然后在弹出页面设置Month from为:2015-01,再点击"OK"按钮,此时我们可以看到查询结果为空。
2、在数据库里面执行查询操作
登录测试环境的数据库,然后分别查询BI_DW_RTS_COUNTRY_D和BI_DW_RTS_COUNTRY_M这2个表(这2张表分别对应日表和月表),查询结果如下:
可以看到这2个表里面都是有数据的
3、在后台查看日志
登录测试环境的后台,输入logs进入:/opt/mcb/app/tomcat6/logs这个目录下,然后输入:tail -f catalina.out.xxx查看当天的最新日志信息,截图如下:
4、把查询语句拷入数据库并修改
将日志里面的sql语句拷到数据库里面,然后把里面的?用后面的参数代替,再执行查询操作,此时可以看到查询结果是空的,说明和页面的查询结果是一致的。
说明一下:0表示第一个参数,1表示第二个参数,依次类推。
5、构造数据
根据日志里面的sql语句可以判断出该页面主要涉及到的表是:DW_RTS_COUNTRY_M,所以我们需要编辑这个表,将CUST_CARRIAD_CD的值改为ACCLK,BIZ_PKG的值改为1,依次类推,修改过后的结果如下图所示:
6、检查前台页面与数据库记录是否一致
数据构造完了以后在数据库里面再次执行查询语句,此时可以查到记录数不再为0了,然后进入到对应的前台页面去执行查询操作,此时也能查到数据了。
说明一下:如果在前台页面执行查询操作的时候,后台日志报错了,很有可能是代码写的有问题,要找开发确认一下。
出自《51测试天地》原创测试文章系列(四十五)
点击左下角“阅读原文”查看全文内容!