51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2347|回复: 2
打印 上一主题 下一主题

【讨论】【难题】一个测试问题,个人觉得有难度,请高手各抒己见

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-3-18 22:36:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
不知道发这里合适不合适,我看这里人气最旺就放这里了,如果不合适我再发到别的板块,请版主手下留情。
我这里有一个实际问题的简化,相信还是有一定难度的,请大家一起讨论一下。
数据库中两个表,表A和表B,主键分别为Aid和Bid,其中都有一个字段为time,现在要分别清洗表A和表B(所谓清洗是指把非法字段和空记录删除),然后通过time字段将表A和表B做拼接,得到表C。表A和表B都很大,假设都有上亿条记录。做这个并不难,但是保证不出问题就比较困难了。
我个人觉得困难的几点:1.这两个表都是n多年前的表,可能有各种各样的无效数据,怎样保证清洗干净而不会把有用数据清洗掉;2.拼接过程怎样保证数据的一致性;3.数据可能是乱序的
问题:1.如何验证清洗和拼接的正确性和完备性?用什么测试工具如何测试?
           2.如果表A中的time字段有重复的就选Aid最大的一个做链接,其余的抛弃,这样又如何测试呢?
           3.如果表A和表B还以每天还在动态增加数据又该如何?
      
相信这个问题还是有一定的价值的,请各路高手各抒己见,相信对自己也是个提高的机会。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2018-2-28 18:04
  • 签到天数: 40 天

    连续签到: 1 天

    [LV.5]测试团长

    2#
    发表于 2008-3-19 06:46:42 | 只看该作者
    1. 正确性要求怎样?完备性要求怎样?以上两个问题无论如何都需要明确。测试工具一般是自己通过写SQL做的,完成后对比验证清洗和拼接的正确性。测试的时候采用业务数据抽样做。
    2. 这个应该不是测试的问题,而是清洗方法的问题吧,A-time如果存在重复,肯定是数据库设计存在漏洞,即使修补过来了,可能存在垃圾数据,用个SQL语句检查下就好了。
    3. 动态新增数据不是大问题,关键是当你执行这些SQL时,保证数据库是增量的即可。到时候完成之后再把对应增量部分的内容加入到新数据库即可。这里的关键前提是增量的新数据必须严格按照最新的要求完成。切忌A-Time重复等情况。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2008-3-19 08:45:52 | 只看该作者
    多谢了。
    我再解释一下问题:
    正确性是指清洗时没有清洗掉有用数据,拼接时没有拼接错;
    完备性是指应该拼接的都拼接上了,不该拼接的都没有拼接上。

    讨论:
    1.你说的自己写sql语句,我也想到了,可是是什么思路呢?清洗如何验证?拼接如何验证?是验证统计信息(比较记录条数)?还是逐个比对?具体如何做?
    2.其实这里还有一个问题,就是历史遗留的垃圾数据问题,究竟什么样的记录是垃圾数据我们也不清楚,(比如哪个字段出现了不应该出现的值,只能等业务确认,所以如何识别这些垃圾数据也很成问题,现在的问题是开发识别不过来,推给测试这个工作了)
    2.抽样数据的问题,现在开发时就是抽样的数据,测试其中的一项工作就是尽量扩大抽样范围,因为抽样很有可能有些情况被跳过了。
    3.增量问题。增量有一个问题就是时间乱序,比如说10号出现的增量可能是8号那天的数据,所以和9号的乱序了。这个我们如何检验开发写的程序没问题?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-22 10:41 , Processed in 0.061774 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表