从功能测试角度谈大数据测试

大数据,已经成为了一个时代的代名词,当今的互联网属于大数据时代,大数据时代的到来,颠覆了以往对数据的惯性思考方式,要保证数据执行,软件质量,测试质量,数据使用场景等,都需要重新变换一个新的角度,对软件进行更全方面的思考。

之前大数据很少有测试,开发会觉得:测试环境又没有那么多数据,你怎么测?抛开大数据的数据量大的特点,究其根本,他也是为业务服务的,有一句话我非常赞同: 一切技术都是为业务服务,脱离业务的技术一文不值,这句话在大数据时代的今天,依然适用,并且会一直适用下去。测试的工作就是要保证数据的正确性,业务逻辑正确。大数据脚本也有输入、输出,这有点类似与功能测试中的后台逻辑测试,没有界面,一切都是后台服务器处理的,测试人员必须要清楚整个处理流程,每个数据的流转,每个步骤的输入和输出,才能判断最后的输出结果是否正确,对于大数据测试也是一样,我们要清楚每个脚本的功能,每个脚本的输入和输出,整体数据流转过程,来判断大数据实现的功能是否正确。

一个数据脚本或者一段数据计算逻辑,在大数据下运行正确的前提,必须是其功能是正确的,这也是我们测试人员首先要保证的,今天我想从功能测试的角度,讨论大数据的功能测试要怎么做,用例怎么设计,才能覆盖面更广,更好的保证其正确性。

  1、编写测试用例

功能测试编写测试用例的常用方法:等价类、边界值(这两个方法估计做测试的都知道),同样适用于大数据测试编写用例,与通常意义上的功能测试不同的是,他的输入不再是一个输入框,而是一个数据库字段或者一个有特殊意义的数据集(包含多个数据)。

我们先回顾一下等价类和边界值两种常用的功能测试设计用例的方法。首先划分等价类:是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.边界值是对等价类的补充,其测试用例来自于每个等价类用例的边界。

那么这两种方法如何用在大数据测试用例的编写上呢?

拿我们之前测试的一个大数据脚本举例,脚本的主要功能是统计某家店铺某一天的订单量,根据设置的每个商品不同的返利规则,计算店铺每天的利润。

首先输入分析条件:

1、指定店铺

2、指定某一天

3、不同时间,不同的商品,不同的返点

商品1:2016.12.6  13:00:00------2016.12.6  15:00:00 返利为5%

商品2:2016.12.7  00:00:00------2016.12.7  23:59:59  返利为15%

所有商品,除指定时间外, 返利均为1%

他的等价类不再是一个输入,而是一个条件,满足这个条件的我们划到有效等价类上,不满足这个条件的,我们划分到无效等价类上,而在条件边界上的数据则是我们的边界值。

用例划分结果:

其他编写功能测试用例的方法,如场景分析法、分支覆盖法,也同样可以用在编写大数据测试用例中,任何测试都不能脱离实际业务,单纯的测试数据,或者单纯的测试输入,没什么意义,我们必须结合不同的场景,设计更全面、更有效率的测试用例。

 

2、准备测试数据

根据编写的测试用例,准备不同类型的测试数据,这个也与功能测试一样,测试数据不在数量的多少,而在于覆盖的全面性,如果你准备了几千条数据,但是数据类型都一样,覆盖的代码分支也都是一条,那这些数据只有一条能称之为有效测试数据,其他的全部是无效测试数据。

其中准备测试数据,可以有几种方法:

1)自己写sql单条插入

2)使用存储过程

3)从线上导导出数据,直接导入到测试环境。

同时要注意,准备测试数据时,尽量和实际数据保持一致,如时间的值,精确到时分秒还是只到年月日,还有金额保留几位小数等。

 

3、执行测试脚本,检查测试结果

准备好测试数据后,就可以执行测试脚本,脚本可能是在hadoop平台上,也可能是在其他平台上,但这些都只是一个操作,类似我们学习一个工具怎么使用,知道怎么运行脚本后,接下来的工作就又回归到测试上来,这时候测试人员要做的事情就是利用准备好的数据,执行脚本,检查预期结果和实际结果是否一致,判断脚本逻辑是否正确,这完全是我们功能测试的工作一模一样。

所以,不管什么类型的测试,其测试过程都是通用的,测试方法都是可借鉴的,我们储备了足够多的测试基础和测试方法,就可以轻松应对各种不同的测试。

时间: 2024-10-09 08:46:50

从功能测试角度谈大数据测试的相关文章

从性能的角度谈SQL Server聚集索引键的选择

简介 在SQL Server中,数据是按页进行存放的.而为表加上聚集索引后,SQL Server对于数据的查找就是按照聚集索引的列作为关键字进行了.因此对于聚集索引的选择对性能的影响就变得十分重要了.本文从旨在从性能的角度来谈聚集索引的选择,但这仅仅是从性能方面考虑.对于有特殊业务要求的表,则需要按实际情况进行选择. 聚集索引所在的列或列的组合最好是唯一的 这个原因需要从数据的存放原理来谈.在SQL Server中,数据的存放方式并不是以行(Row)为单位,而是以页为单位.因此,在查找数据时,S

大数据测试类型&大数据测试步骤

大数据是一个大的数据集合,通过传统的计算技术无法进行处理.这些数据集的测试需要使用各种工具.技术和框架进行处理.大数据涉及数据创建.存储.检索.分析,而且它在数量.多样性.速度方法都很出色. 什么是大数据? 大数据是一个大的数据集合,通过传统的计算技术无法进行处理.这些数据集的测试需要使用各种工具.技术和框架进行处理.大数据涉及数据创建.存储.检索.分析,而且它在数量.多样性.速度方法都很出色. 大数据测试类型 测试大数据应用程序更多的是验证其数据处理,而不是测试软件产品的个别功能.当涉及到大数

有关大数据测试

测试大数据应用程序更多的是验证其数据处理,而不是测试软件产品的个别功能.当涉及到大数据测试时,性能和功能测试是关键. 在大数据测试中,QA工程师使用集群和其他组件来验证对TB级数据的成功处理.因为处理非常快,所以它需要高水平的测试技能. 大数据应用程序的测试更多的是去验证其数据处理而不是验证其单一的功能特色.当然在大数据测试时,功能测试和性能测试是同样很关键的.对于大数据测试工程师而言,如何高效正确的验证经过大数据工具/框架成功处理过的至少百万兆字节的数据将会是一个巨大的挑战.因为大数据高效的处

大数据测试

什么是大数据 大数据是指无法在一定时间范围内用传统的计算机技术进行处理的海量数据集. 对于大数据的测试则需要不同的工具.技术.框架来进行处理. 大数据的体量大.多样化和高速处理所涉及的数据生成.存储.检索和分析使得大数据工程师需要掌握极其高的技术功底. 需要你学习掌握更多的大数据技术.Hadoop.Mapreduce等等技术. 大数据测试策略 大数据应用程序的测试更多的是去验证其数据处理而不是验证其单一的功能特色. 当然在大数据测试时,功能测试和性能测试是同样很关键的. 对于大数据测试工程师而言

大数据测试笔记(1)-测试的3条建议

大数据,咋一听起来都觉得很神秘,很高大上,从2013年开始听得越来越多,什么数据挖掘,数据分析.机器学习.算法,让我等听起来天马行空,雾里看花,有幸接触到了大数据项目,让我拨开云雾,原来大数据其实简单,真的简单,大量数据嘛,就是我们说的大数据,基于数据分析,获得有价值的信息. 目前我理解大数据,有数据采集.数据存储.数据分析.数据应用,前两者是基础,后两者是价值,采集存储数据不是目的,利用数据分析有价值的信息,才是我们选择的. 我们不展开聊,作为测试,我关心的是我要测试什么,如何测试,怎么衡量产

每天4亿行SQLite订单大数据测试(源码)

SQLite单表4亿订单,大数据测试 SQLite作为嵌入式数据库的翘楚,广受欢迎!新生命团队自2010年以来,投入大量精力对SQLite进行学习研究,成功应用于各系统非致命数据场合. SQLite极致性能 关闭同步,Synchronous=Off,提升性能.添删改操作时不必同步等待写入磁盘,操作系统会延迟若干毫秒批量写入 设置WAL模式,Journal Mode=WAL,减少锁定.写入向前日志模式,避免多线程访问时锁定数据库,写入时不必使用排它锁影响其它线程读取,而是把事务操作写入到WAL文件

浅谈大数据技术

忽如一夜春风来,无人不谈大数据.大数据就像前两年的云计算一样,是一个时下被炒得很火的概念.那么什么是大数据,大数据是如何定义的,大数据处理技术有哪些,大数据能给我们带来什么益处?虽然我不知道现在这些概念是如何被炒作的,但是作为一名互联网行业的从业者,作为一个大数据技术的实践者,根据自己的理解和经验发表一点浅显的认识,理解肯定有不到位之处请大家批评指正. 无论是大数据技术还是云计算技术,其实这些技术都不是突然冒出来的,而是随着互联网技术的发展,人们把现有的技术加以整合,总结,概括出来并冠一个新名字

modelsim中的文件操作—— 大数据测试

在modelsim中不可避免的需要进行文件操作,在窗口中查看代码的操作情况,下面是我自己M序列实验中的一段测试代码 1 integer i,j ,k,m; 2 3 integer m_dataFILE , 4 indataFILE , 5 oudataFILE ; 6 7 reg [3:0] i_data[0:9999] ; 8 9 10 initial 11 begin 12 m_dataFILE = $fopen ("./m_data.dat"); // m序列存储文件 13 in

【若泽大数据实战第一天】大数据测试平台搭建

若泽大数据测试平台环境搭建 一.介质需求: 虚拟机:VMwareWorkstation  14.1.1.28517 大小:465.2MB 操作系统:CentOS-6.5-x86_64-bin-DVD1.iso 大小:4.16GB 二.测试环境搭建: 1.虚拟机安装: 打开VMware Workstation Pro 点击 :''下一步 '' 勾选''我接受许可协议中的条款(A)'' 点击 :''下一步 '' 我E盘是SSD 点击: ''下一步 '' 取消''√''选项 点击 ''下一步 '' 点