《Web测试囧事》——第1章 功能测试:技术篇 1.1 输入框中输入超过最大允许值造成页面跳转溢出

简介:

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

第1章

功能测试:技术篇

提到测试,大家首先会想到的就是功能性的测试,因为只有保证了产品的基本功能和流程,产品才具备给用户提供使用价值的能力,从而才有可能确定产品的核心竞争力。基于这一点,不仅测试人员和开发人员,还有产品经理、项目经理、业务方对功能完备性和正确性的重视程度也往往都是最高的。这也使得功能测试成为任何测试类型的基础。

在进行功能测试时,我们会使用诸如边界值分析、等价类划分、因果分析、组合测试(Pairwise Testing)等测试方法来设计和规划测试用例,但是这些方法大多都是从书本上学来或者从别的渠道了解到的理论方法。而实际上在一个真实的项目中如何运用,或者如何在特定的场景和情境下使用这些方法,去充分发挥这些测试方法的作用,并帮助我们高效地设计和执行测试用例却是更重要的问题。

正因如此,我们在功能测试部分并没有介绍这些方法是什么,而重点在于展示在一个具体的场景下,读者应该如何思考,怎么把理论知识和实际工作结合起来,以发现和避免可能遇到的陷阱。

功能测试部分的故事篇幅都会比较长,希望读者能够每读完一个故事,都留出一段时间进行思索和回味,从而理解故事的核心,触类旁通。

为了让每一章的故事更凝练,我们把功能测试部分分成了4章,分别是:技术篇、测试覆盖篇、测试实践篇和业务需求篇。这4章从Web开发流行的各种技术(例如响应式设计、特性开关、虚拟化等)、测试技术(例如实例化需求、集成测试、契约测试等)、测试实践(例如探索性测试、回顾会议、缺陷大扫除等)和业务需求(例如用户的并发操作、关联操作以及产品功能的一致性等)方面向读者全方位展示功能测试范畴中的常见问题和解决办法,更重要的是指引大家从一步一步的分析中得到解决问题的思路。

本章(技术篇)介绍了在开发和测试的技术方面引起的11个功能测试问题,现在大家和我们一起来看看这些丰富多彩的故事。

1.1 输入框中输入超过最大允许值造成页面跳转溢出

作为计算机系毕业生的小蔡,一直觉得学校里学的理论知识和现在的测试工作差距太大,在实际的工作中也没有什么作用,直到有一天她碰到这么一个有趣的问题。

小蔡负责测试的是一个Web产品,基于不同的搜索条件会显示大量的结果。由于搜索结果太多,所以页面有分页功能,为了方便用户快捷跳转到特定的页面,开发人员特意设计了一个页面快速跳转的功能(见图1-1)。

image

在设计测试用例的时候小蔡就留心了,因为很多测试理论的书籍都描述过,对于输入框可以进行的验证点很多,比如:特殊字符、超长字符、负值、0值和null值,以及很大的数值等。小蔡发现,对于大部分的测试用例,开发人员都处理得很好,没有发现缺陷,她也就松了口气。

但是,当她测试到输入大数值的测试用例时,由于不确定多大的数值会出错,也不能拿到代码,小蔡就探索性地选了一个数值:9 999 999 999(10个“9”)。当输入10个“9”点击“确定”按钮时,突然页面崩溃了!她仔细回想刚才的测试过程:100以内的小数值,以及输入小于等于搜索结果页面数的数值等情况,测试结果都很正常。那到底数值大到什么程度的时候页面会崩溃呢?一时想不到更好的办法,小蔡只好硬着头皮尝试着定位出错的数值范围。

image
image
image

发现了这个隐藏的缺陷,小蔡很有成就感,但又觉得如果能早点知道代码的逻辑,可能自己就不会花这么长的时间了。同时,小蔡一直觉得计算机的理论知识不会应用到测试实践中,可没想到这次多亏了学校中学到的这些基础知识,不只是int32,232,甚至还有二分查找算法也给了自己解决问题的灵感。没有这些知识,定位问题就更困难了。

image
image
image
image

相关文章
|
2月前
|
安全 测试技术 网络安全
如何在Python Web开发中进行安全测试?
如何在Python Web开发中进行安全测试?
|
2月前
|
安全 关系型数据库 测试技术
学习Python Web开发的安全测试需要具备哪些知识?
学习Python Web开发的安全测试需要具备哪些知识?
43 4
|
1月前
|
Web App开发 IDE JavaScript
Selenium IDE:Web自动化测试的得力助手
Selenium IDE:Web自动化测试的利器。作为开源工具,Selenium IDE支持录制与回放用户操作,适用于Chrome、Firefox等多浏览器,简化了测试流程,提升了效率,降低了自动化测试的门槛。它还支持导出多种编程语言的脚本,便于测试集成与复用。
120 31
Selenium IDE:Web自动化测试的得力助手
|
1月前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
225 17
Selenium:强大的 Web 自动化测试工具
|
1月前
|
Web App开发 IDE JavaScript
Selenium IDE:Web自动化测试的得力助手
Selenium IDE是开源的Web自动化测试工具,适用于Chrome、Firefox等多款浏览器。它提供简单的录制与回放功能,用户可通过录制浏览器操作自动生成测试脚本,支持导出为多种编程语言,便于非专业测试人员快速上手,有效提升测试效率与质量。
314 6
Selenium IDE:Web自动化测试的得力助手
|
2月前
|
人工智能 安全 物联网
区块链技术的未来展望:去中心化金融(DeFi)与Web 3.0的融合
区块链技术的未来展望:去中心化金融(DeFi)与Web 3.0的融合
|
2月前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
56 6
|
2月前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
45 4
|
2月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
70 3
|
2月前
|
缓存 安全 前端开发
构建高效Web应用的五大关键技术
【10月更文挑战第42天】在数字化浪潮中,Web应用已成为企业与用户互动的重要桥梁。本文将深入探讨提升Web应用性能和用户体验的五项核心技术,包括前端优化、后端架构设计、数据库管理、安全性增强以及API开发的最佳实践。通过这些技术的应用,开发者可以构建出更快、更稳定且更安全的Web应用,满足现代网络环境的需求。

热门文章

最新文章