云计算、大数据的软件测试方法-软件测试技术实战(9)

发表于:2017-7-19 10:21

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

 作者:顾翔    来源:51Testing软件测试网原创

  第6章 云计算大数据软件测试方法
  云计算和大数据是当前最热门的话题和技术,IT时代也将逐步转入到DT时代。这是个历史性的转变,同时对从事软件测试行业的人来说也是一个巨大的挑战。如何测试大数据产品和云端软件产品呢?由于云计算与大数据的测试仍在研究中,这里只简单介绍基于云和大数据产品应该如何测试以及应注意的事项。本章的内容共分以下4部分。
  · 对大数据软件产品进行测试的方法。
  · 云测试中应注意的13个问题。
  · 云计算的优缺点。古人云:知己知彼,百战不殆。只有了解了云计算的优缺点,才能更好地测试云端的软件产品。
  · 对云端软件测试产品的文档、环境、数据如何进行管理。
  关于大数据的知识,请参见参考文献【32】;关于云计算的知识,请参见本篇附录C。
  6.1  如何对大数据软件产品进行软件测试
  6.1.1  前言
  本节仅考虑大数据产品的系统以及验收阶段的测试,不考虑单元及集成阶段的测试。
  6.1.2  新产品的软件测试
  案例6-1:小象网。
  小象网是专门从事儿童用品的网上超市,随着大数据的普及,小象网决定推出一个新功能:根据登录用户的历史购物情况以及购买同类产品用户的购物情况,对单一用户进行定向产品推荐。这个功能的实现无疑需要用到大数据的技术,但是,黑盒软件测试工程师无需了解开发工程师是如何实现的,只需考虑:对这个用户推荐的产品是否合理。比如,这个用户家里有个男孩,经常在小象网上买一些男孩类的产品,而网站推荐的产品是一条裙子,这显然是不合适的。
  这里采用基于场景的测试法(对于场景的设计方法,参见本篇第3.2节"基于场景的测试")进行测试,可以设计以下几个用户场景:
  (1)顾客小王曾经为他的宝宝购买10个汽车模型玩具,其他产品从来没有购买过。现在网站添加一款新的汽车模型玩具,测试该产品是否推荐给顾客小王。
  (2)顾客小张在小象网上曾经购买过一条连衣裙,而购买这条连衣裙的其他4名顾客还购买了芭比娃娃玩具。当顾客小张再次登录小象网时,测试该网站是否也给她推荐了芭比娃娃玩具。
  (3)然后逐步增加难度。比如,顾客小李在小象网上为她的小公主购买衣服、玩具、幼儿食品3类产品;顾客小张和顾客小李在网上购买的产品类型差不多。检查系统能否把小张和小李归为一类人群,即把小张购买的一些产品介绍给小李;并把小李购买的一些产品介绍给小张。
  (4)最后逐步增加用户以及产品的数量设计更复杂的测试用例
  (5)当产品的数量与客户的数量达到一定数量级别后,可以把系统放在真实环境下进行软件测试,用户数据来自于正式的用户环境,但是这时在页面上的接口不要放开,在真实数据环境下进行测试,这时可能还会发现一些软件缺陷。
  (6)当通过以上5个测试步骤后,认为产品可以正式上线了。这时正式打开这个功能,同时给用户提供一个使用该功能的反馈渠道,从而使得用户在实际使用过程中遇到的一些问题,可以通过反馈渠道反馈。
  6.1.3  老产品的升级测试
  大数据产品往往有两种部署场景。
  (1)系统输出数据放在本地,而云端仅用来计算、存储log等信息。
  (2)所有工作都在云端进行,输出数据也放在云端。
  首先来看情形(1)。
  步骤一,我们首先在云端部署一套新的系统,然后把输入的数据源同时引入新的系统和旧的系统中。运行一段时间后,比较新旧两套系统的差异。
  步骤二,如果测试步骤一的场景没有问题,仍旧把新系统的输出数据放入云端,先把20%的输入信息流引入到新系统中,80%的数据引入到旧系统。没有问题再逐步把40%的新数据引入到新系统中(注意,更换前要把之前旧系统中的数据先导入到新系统中)。测试没有问题后再逐步增加到60%、80%,一直逐步增加到100%,在此过程中如果发现问题,应及时进行修复甚至回退。
  步骤三,如果100%的信息在新系统中运行没有问题,就把云端输出数据迁移到本地。停止旧系统运行,启动新系统(迁移前,注意对旧系统进行备份,一旦迁移出问题,可以立即恢复回来)。
  情形(2)与情形(1)基本类似,但是没有步骤三。在情形(2)步骤一中,除了可以检查新旧产品在功能上的差异外,还可以检测性能上的差异。
  6.2  云计算软件测试应注意的问题
  云计算是目前比较热门的技术。关于云计算的定义,业界有各种各样的定义标准,并且每个标准都有一定的意义。到目前为止,关于云计算的定义已超过100种。在这里给出CSA(Cloud Security Alliance)云计算安全联盟在Security Guidance For Critical Area of Focus In Cloud Computing V3.0中的定义:
  "云计算的本质是一种服务提供模型,通过这种模型可以随时、随地、按需地通过网络访问共享资源池的资源,这个资源池的内容包括计算资源、网络资源、存储资源等,这些资源能够被动态地分配和调整,在不同用户之间灵活划分。凡是符合这些特征的IT服务都可以被称作云计算服务。"
  对云计算进行软件测试需要注意哪些问题?下面会详细介绍。
本文选自《软件测试技术实战-设计、工具及管理》第六章,本站经人民邮电出版社和作者的授权。
版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号