《Web测试囧事》——1.2 索引值计算错误使资源缩略图显示和大图展现不一致

简介:

本节书摘来自华章计算机《Web测试囧事》一书中的第1章,第1.2节,作者 黄勇 雷辉 徐潇 杨雪敏,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.2 索引值计算错误使资源缩略图显示和大图展现不一致

业务方希望在商品展示的页面,不仅能添加展示图片,还可以展示关于商品的视频(见图1-3)。
image
image

小蔡按照通常的步骤编写完测试用例,开始使用标准测试数据执行测试。小蔡首先发现点击右下角链接时,本应该显示第1张图片或者视频,但是打开的却是第2张图片或者视频。

小蔡觉得这可能是开发人员在处理图片和视频展示的数组时,使用的是自然数计数,从1开始作为第1个数据项,而非计算机程序数组中通常使用的把从0开始计数作为第一个数据项。当小蔡把这一问题上报之后,开发人员发现确实是这个原因,并进行了快速修正。

小蔡在开发人员新发布的包上又一次进行了测试,这次测试用例基本没有什么问题,她就开始在类真实环境中执行探索性测试,结果发现在某些商品页面进行图片和视频跳转时,出现图片或视频显示错误或者显示成空白的问题。

在老牛的协助下,小蔡发现了问题出现的两个规律:① 当从第n张图片切换到视频的时候,系统显示的并不是用户期待的第1个视频,而是第n个视频;②当商品的图片和视频数量不一致,从数量多的资源切换到另一个数量少的资源时,内容就会出现空白。

小蔡和老牛都觉得出现问题的原因比较明确了,是因为在图片和视频跳转时,打开资源的索引值并没有清零,而是保存着前一个元素的索引值。

为什么这个问题在测试环境中没有发现,而在类真实环境中才被发现?原来最初小蔡在测试环境中执行测试用例的时候,使用的是基本测试数据,图片和视频都只有两个,而且两张图片和两个视频的内容分别都是一样的,因此不会出现这个问题。

小蔡和老牛商量了下,决定为了避免遗漏这样的问题,需要丰富测试环境的测试数据,使得测试数据更像真实数据,这样测试结果才更为准确 。

同时他们认为这个问题在开发人员的开发过程中也是不应该引入的,因为这样的错误比较初级。于是小蔡和开发人员进行了沟通,发现引入该问题的根源在于开发人员的疏忽。由于图片的文件格式和视频的文件格式不同,所以开发人员使用了两个库来支持图片和视频的打开,但是两个库之间的跳转需要通过在两个库之间传递参数来实现,然而开发人员并没有仔细检查两个库之间所传递的参数,导致并不需要被传递的索引值也传递到另一个库中。

老牛带着小蔡和开发人员立下一个约定:在使用第三方库实现功能时,一定要把使用的函数方法中的所有参数都核对清楚。

image
image
image
image

相关文章
|
2月前
|
Web App开发 前端开发 JavaScript
探索Python科学计算的边界:利用Selenium进行Web应用性能测试与优化
【10月更文挑战第6天】随着互联网技术的发展,Web应用程序已经成为人们日常生活和工作中不可或缺的一部分。这些应用不仅需要提供丰富的功能,还必须具备良好的性能表现以保证用户体验。性能测试是确保Web应用能够快速响应用户请求并处理大量并发访问的关键步骤之一。本文将探讨如何使用Python结合Selenium来进行Web应用的性能测试,并通过实际代码示例展示如何识别瓶颈及优化应用。
125 5
|
22天前
|
Web App开发 测试技术 数据安全/隐私保护
自动化测试的魔法:使用Python进行Web应用测试
【10月更文挑战第32天】本文将带你走进自动化测试的世界,通过Python和Selenium库的力量,展示如何轻松对Web应用进行自动化测试。我们将一起探索编写简单而强大的测试脚本的秘诀,并理解如何利用这些脚本来确保我们的软件质量。无论你是测试新手还是希望提升自动化测试技能的开发者,这篇文章都将为你打开一扇门,让你看到自动化测试不仅可行,而且充满乐趣。
|
2月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
68 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
25天前
|
Web App开发 设计模式 JavaScript
自动化测试之美:如何利用Selenium实现Web应用的高效测试
【10月更文挑战第29天】在软件开发的世界中,测试是确保产品质量的关键步骤。本文将带你了解如何使用Selenium这一强大的自动化测试工具,提高Web应用测试的效率和准确性。通过实际案例,我们将探索Selenium的核心功能及其在现代软件开发中的应用,旨在帮助读者掌握自动化测试的精髓,从而提升软件测试工作的整体效能。
28 0
|
3月前
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
101 10
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
|
2月前
|
安全 Linux Shell
Kali渗透测试:使用Metasploit对Web应用的攻击
Kali渗透测试:使用Metasploit对Web应用的攻击
|
3月前
|
前端开发 机器人 测试技术
【RF案例】Web自动化测试弹窗处理
在进行Web自动化测试时,常会遇到不同类型的弹窗,如ajax、iframe、新窗口及alert/Confirm等。这些弹窗可通过Selenium进行定位与处理。其中,ajax弹窗直接定位处理;iframe需先选中再操作;新窗口类似iframe处理;而alert/Confirm则需特殊方法应对。在Robot Framework中,需先定义并获取窗口后使用特定关键字处理。此外,还有部分div弹窗需在消失前快速定位。希望本文能帮助大家更好地处理各类弹窗。
49 6
【RF案例】Web自动化测试弹窗处理
|
2月前
|
监控 Java Maven
springboot学习二:springboot 初创建 web 项目、修改banner、热部署插件、切换运行环境、springboot参数配置,打包项目并测试成功
这篇文章介绍了如何快速创建Spring Boot项目,包括项目的初始化、结构、打包部署、修改启动Banner、热部署、环境切换和参数配置等基础操作。
149 0
|
2月前
|
安全 Java Linux
Kali渗透测试:通过Web应用程序实现远程控制
Kali渗透测试:通过Web应用程序实现远程控制
|
4月前
|
前端开发 JavaScript 大数据
React与Web Workers:开启前端多线程时代的钥匙——深入探索计算密集型任务的优化策略与最佳实践
【8月更文挑战第31天】随着Web应用复杂性的提升,单线程JavaScript已难以胜任高计算量任务。Web Workers通过多线程编程解决了这一问题,使耗时任务独立运行而不阻塞主线程。结合React的组件化与虚拟DOM优势,可将大数据处理等任务交由Web Workers完成,确保UI流畅。最佳实践包括定义清晰接口、加强错误处理及合理评估任务特性。这一结合不仅提升了用户体验,更为前端开发带来多线程时代的全新可能。
84 1