如何对大数据软件产品进行测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何对大数据软件产品进行测试
前言
本文仅考虑大数据产品的系统以及验收阶段的测试,而不考虑单元及集成阶段的测试,我认为大数据产品在单元及集成阶段的测试应该与普通产品的测试没有多大区别。
案例
本文以该案例作为讨论对象:小x网是专门从事儿童用品的网上超市,随着大数据的
普及,小x网决定在网站内推出一个新功能:即根据某人的历史购物情况以及购买同类产
品人的购物情况,对单一用户进行定向产品推荐。这个功能的实现无疑需要用到大数据的
技术,但是作为一门黑盒测试工程师,我们无需了解开发人员是如何用什么技术实现的,
而我们只需要考虑的问题是:对这个客户推荐的产品是否合理。比如这个用户家里有个男孩,经常在小象网上买一些男孩类的产品,而你推荐的产品而是一条裙子,这显而易见是
不合适的。
对产品刚下线时的测试:
这个时候我们需要基于场景简单的设计一些测试用例,进行测试,比如:
1.顾客王斌曾经为他的宝宝购买十个汽车模型玩具,其他产品从来没有购买过。现在
添加一条新的汽车模型玩具产品,测试是否可以推荐给了顾客王斌;
2.顾客李湘在大象网上曾经购买了一条连衣裙给她的宝贝女儿,而购买这条连衣裙的
其他4名顾客还给他们家公主购买了芭比娃娃玩具。当顾客李湘再次登录大象网,看看我们是否给李湘推荐了芭比娃娃玩具。
3.然后我们可以逐步增加难度,比如顾客李悦在大象网上为她公主购买衣服,玩具,
幼儿食品三类产品;顾客张蕾和顾客李悦在网上购买的产品类型差不多。检查系统能否把
张蕾和李悦归为一类人群,即把张蕾购买的一些产品介绍给李悦;而把李悦购买的一些产
品介绍给张蕾。
4.最后我们逐步增加用户以及产品的数量来,设计更加复杂的测试用例,在这里希望
大家自己考虑。
5.当产品的数量与客户的数量达到一定的数量级别,我们可以把系统放在正式环境下
进行测试(当然需要用到云),用户数据来自于正式的用户环境,但是这时在页面上的接
口不要放开,在正式环境下来进行测试,这个时候我们可能会发现一些软件缺陷。
6.当我们通过以上5步,认为产品可以正式上线了,通过网页上打开这个功能。给用
户提供一个使用该功能的反馈渠道,用户在实际使用过程中使用会遇到一写问题,通过反
馈渠道反馈给我们,我们客户以及时修复。
对升级产品进行测试:
大数据产品往往有两种部署场景:
1)处理出来的数据放在本地,而云端仅仅用来计算,存储log等信息;
2)所有处理都在云端进行处理,处理出来的数据也放在云端
首先让我们来看看情形1)如何来进行测试和版本更新。
步骤一,这种情况我们首先在云端部署一套新的系统,然后把输入数据源同时引入新的系统与老的系统。运行一段时间后比较新旧两套系统的差异,新系统应该优于老系统;若更仔细些我们可以比对新老数据库中的数据情况。
步骤二,如果我们测试步骤一的场景没有问题,我们仍旧把新系统的数据放入云端,先把20%的输入信息流引入到新系统中,80%的数据引入到老系统;没有问题再逐步把40%的新数据引入到新系统中(注意引入之前要把测试20%数据引入到新系统时候的80%引入到老系统中的数据先引入到新系统中);测试没有问题再逐步增加到60%,80%,一直逐步增加到100%的数据引入到新系统,在此过程中如果发现问题及时修复。
步骤三,如果100%的信息在新系统中运行没有问题。我们把云端数据迁移到本地。
停止老系统,启动新系统(在迁移前,注意对老系统进行备份,一旦迁移出问题可以立即回复回来)
对于情形2)与情形1)基本上类似,并且没有步骤三。在情形2)步骤一,我们处理可以检查新旧产品在功能上的差异以外,还可以检测性能上的差异。