深入探究数据测试之一:数据测试概论

发表于:2012-12-18 11:03

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:circleoflife    来源:51Testing软件测试网采编

  前两天在阿里技术嘉年华上分享了一个有关《报表类型的数据测试》的话题,发现很多人的遇到了我之前测试时候遇到的问题,我相信我们之前走过的弯路,以及最后的解决方案和经验,就可以帮助大家构建出更好的数据测试用例

  所以我决定写一系列关于数据测试的文章,帮助大家避免我们曾经遇到过的问题,建立起强壮的自动化测试用例。

  这系列文章不是:

  1、我们不针对敏捷测试,不专门讲持续集成等战略上的概念,战略上讲,这些东西很重要,但是依然要落在每一个强壮和易维护的自动化测试用例上。

  2、我们不推荐框架,更多的讲思想和做法。因为我们在开始做这些工作之前,并没有在市面上找到合适的解决我们问题的框架,所以我们只能从头开始。好处是可以从很基本的方面理解我们的思想,坏处是没有现成可用的工具。不过不用担心,我们非常乐意把自己的框架开源出来,但是要整理一下。

  3、我们不讲UI的测试,因为我们的数据测试会更加专注于数据,如果你要测试UI上的数据,那么请先学习UI自动化测试框架,把这些数据获取好。

  这系列文章会:

  1、用我们实际中的例子对数据测试进行系统的讲解。如果你可以从我的例子中找到平时工作的影子,那么你一定会有所收获。

  2、文章中不仅仅会涉及数据测试方面的内容,为了讲明白我为什么这么设计框架,我可能还会提及其他自动化测试方面的东西,略嫌啰嗦请海涵。

  那么言归正传,什么是数据测试呢?

  数据测试不是一种测试方法,而是一种针对特定的被测对象所采取的一系列方法,提高这些被测对象测试效率的方法。

  我定义我们的被测对象是:一切以数据计算和变化为过程的,可以以只对数据进行对比来测试的系统。

  我和你一样讨厌晦涩的定义,我以几个例子来解释:

  1、我们团队的最著名产品:量子恒道店铺统计,整体来说,因为有很多UI方面的测试,这些测试很多地方不能单靠数据来验证,所以整体来说量子店铺统计不是数据测试的被测对象;但是我们拆开来看,量子恒道的所有后台计算,都是数据测试的被测对象,因为他们从数据开始,经过计算,生成的都是数据。

  2、一个负责在网络集群之间传递消息的消息中间件,不是数据测试的被测对象。他们虽然输入是数据,输出依然是数据,也可能进行了数据的计算,但是测试重点在于网络的可用和稳定,数据测试不是我们的测试重点,所以不是。

  3、Hadoop, hive, storm等平台本身不是我们的被测试对象,但是基于这些平台写的应用,全部可以是数据测试的被测试对象。

  4、某网站的OpenAPI,可以是数据测试对象,因为用户都是从http请求请求数据,经过数据库,然后通过http响应返回相应的数据。

  5、一个MVC架构的网站,除掉V之后的部分是吗?大部分情况,是的,但是如果这个网站的M和C层组成的是一套完整的增删改查业务体系的话,我并不推荐数据测试的方法,原因见文章:《用白盒的思想黑盒的测试

  6、某银行的数据库搬迁服务,是数据测试对象。

  总之一句话,当测试人员的关注点在于数据是否正确,而不是其他流程、UI、性能等地方的时候,那么你就需要数据测试了。

  不知道你有没有找到自己工作中的数据被测对象呢?

  (未完待续)

《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • fengshuai198904
    2012-12-18 13:26:18

    老师,能否谈谈数据测试的有效方法,改进过程。我测试bi一年多了,没有找到更快更好的测试方法,没有改进测试过程。欢迎老师谈谈。QQ646865846

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号