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

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 软件测试技术实战 设计、工具及管理》联载-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的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
1月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
60 4
|
2月前
|
测试技术 持续交付 UED
软件测试的艺术:确保质量的实战策略
在软件开发的舞台上,测试是那把确保每个功能如交响乐般和谐奏响的指挥棒。本文将深入探讨软件测试的重要性、基本类型以及如何设计高效的测试策略。我们将通过一个实际的代码示例,展示如何运用这些策略来提升软件质量和用户体验。
|
1月前
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
|
2月前
|
前端开发 JavaScript 测试技术
前端测试技术中,如何提高集成测试的效率?
前端测试技术中,如何提高集成测试的效率?
|
1月前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
224 17
Selenium:强大的 Web 自动化测试工具
|
2月前
|
机器学习/深度学习 人工智能 算法
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
BALROG 是一款用于评估大型语言模型(LLMs)和视觉语言模型(VLMs)在复杂动态环境中推理能力的基准测试工具。它通过一系列挑战性的游戏环境,如 NetHack,测试模型的规划、空间推理和探索能力。BALROG 提供了一个开放且细粒度的评估框架,推动了自主代理研究的进展。
59 3
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
|
2月前
|
监控 测试技术 开发工具
移动端性能测试工具
移动端性能测试工具
73 2
|
2月前
|
安全 前端开发 测试技术
如何选择合适的自动化安全测试工具
选择合适的自动化安全测试工具需考虑多个因素,包括项目需求、测试目标、系统类型和技术栈,工具的功能特性、市场评价、成本和许可,以及集成性、误报率、社区支持、易用性和安全性。综合评估这些因素,可确保所选工具满足项目需求和团队能力。
|
2月前
|
安全 网络协议 关系型数据库
最好用的17个渗透测试工具
渗透测试是安全人员为防止恶意黑客利用系统漏洞而进行的操作。本文介绍了17款业内常用的渗透测试工具,涵盖网络发现、无线评估、Web应用测试、SQL注入等多个领域,包括Nmap、Aircrack-ng、Burp Suite、OWASP ZAP等,既有免费开源工具,也有付费专业软件,适用于不同需求的安全专家。
366 2
|
2月前
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具