软件测试技术实战 设计、工具及管理》联载-26

简介: 软件测试技术实战 设计、工具及管理》联载-26

第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步骤一中,除了可以检查新旧产品在功能上的差异外,还可以检测性能上的差异。


顾翔凡言:

不是好的工作会给你带来好的心情,而是好的心情会给你带来好的工作。

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
3月前
|
数据采集 JSON JavaScript
Cypress 插件实战:让测试更稳定,不再“偶尔掉链子”
本文分享如何通过自定义Cypress插件解决测试不稳定的痛点。插件可实现智能等待、数据预处理等能力,替代传统硬性等待,有效减少偶发性失败,提升测试效率和可维护性。文内包含具体实现方法与最佳实践。
|
4月前
|
存储 关系型数据库 测试技术
玩转n8n测试自动化:核心节点详解与测试实战指南
n8n中节点是自动化测试的核心,涵盖触发器、数据操作、逻辑控制和工具节点。通过组合节点,测试工程师可构建高效、智能的测试流程,提升测试自动化能力。
|
4月前
|
机器学习/深度学习 人工智能 测试技术
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
EdgeMark是一个面向嵌入式AI的自动化部署与基准测试系统,支持TensorFlow Lite Micro、Edge Impulse等主流工具,通过模块化架构实现模型生成、优化、转换与部署全流程自动化,并提供跨平台性能对比,助力开发者在资源受限设备上高效选择与部署AI模型。
424 9
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
|
3月前
|
人工智能 自然语言处理 JavaScript
Playwright MCP在UI回归测试中的实战:构建AI自主测试智能体
Playwright MCP结合AI智能体,革新UI回归测试:通过自然语言驱动浏览器操作,降低脚本编写门槛,提升测试效率与覆盖范围。借助快照解析、智能定位与Jira等工具集成,实现从需求描述到自动化执行的闭环,推动测试迈向智能化、民主化新阶段。
|
4月前
|
人工智能 数据可视化 测试技术
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
551 11
|
4月前
|
Java 测试技术 API
自动化测试工具集成及实践
自动化测试用例的覆盖度及关键点最佳实践、自动化测试工具、集成方法、自动化脚本编写等(兼容多语言(Java、Python、Go、C++、C#等)、多框架(Spring、React、Vue等))
206 6
|
4月前
|
人工智能 Java 测试技术
单元测试覆盖率的自动控制技术
Jacoco是Java程序覆盖率工具,可以在pom.xml通过配置来自动控制程序的覆盖率
117 5
|
5月前
|
算法 测试技术 API
从自学到实战:一位测试工程师的成长之路
在技术快速发展的今天,自动化测试已成为提升职场竞争力的关键技能。本文讲述了一位测试工程师从自学到实战的成长之路,分享他在学习UI、APP和API自动化过程中遇到的挑战,以及如何通过实际项目磨炼技术、突破瓶颈。他从最初自学的迷茫,到实战中发现问题、解决问题,再到得到导师指导,逐步掌握测试开发的核心思维,并向测试平台建设方向迈进。文章总结了他从理论到实践、从执行到思考的转变经验,强调了实战、导师指导和技术服务于业务的重要性。最后,邀请读者分享自己的技术突破故事,共同交流成长。
|
12月前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
7月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1097 23