Web应用程序测试:如何测试网站?测试类型
在详细介绍 Web 测试的类型之前,让我们先快速定义一下 Web 测试,看看它在交付周期中的位置。
什么是Web应用程序测试?
网络应用测试网站测试,或称网络应用程序测试,是指在网站或应用程序正式上线并向公众开放之前,检查其是否存在潜在漏洞。网站测试主要检查网站或应用程序的功能、可用性、安全性、兼容性和性能。
在此阶段,将检查诸如 Web 应用程序安全性、网站功能、残疾用户和普通用户的访问以及处理流量的能力等问题。
网站并非单个程序,而是一个技术栈:HTML、CSS 等。 Java浏览器中的脚本,加上 APIs 以及服务器上的数据库。即使某一层单独测试通过,一旦与相邻层通信,仍然可能出现故障,因此 Web 测试需要其他辅助技术。
你需要测试的 Web 应用程序类型
在选择技术之前,先确定你所处的架构。架构决定了缺陷集中在哪里,以及如何在客户端和服务端之间分配工作。
| 卓越 | 它的行为方式 | 这对测试意味着什么 |
|---|---|---|
| 单页应用程序(SPA) | 加载一次,然后更新视图,无需重新加载整个页面。 Gmail 这样做是可行的。 | 大部分逻辑都发送到浏览器端:重点关注 Java脚本状态、动态渲染和客户端会话。 |
| 多页应用程序 (MPA) | 许多页面是通过不同的路径访问的。 URLs,服务器端渲染。常见于电子商务和新闻网站。 | 导航路径众多:对每条路线、表单和重定向进行端到端测试。 |
| 渐进式Web应用程序(PWA) | 它像原生应用一样运行,使用服务工作线程、清单文件和应用外壳。 | 添加离线行为、过期缓存、推送通知和安装提示。 |
大多数产品都混合了这些图案。请确认您遇到的情况是哪一种,然后按照以下八种方法进行操作。
如何测试 Web 应用程序或网站
在软件工程中,可以根据您的 Web 测试要求执行以下测试类型/技术。
每项技术都可以手动运行或通过脚本运行,而这种选择对成本的影响大于对覆盖范围的影响。
| 方面 | 手动测试 | 自动化测试 |
|---|---|---|
| 最适合 | 可用性和 探索 检查 | 回归测试、跨浏览器测试、负载测试 |
| 重复跑的速度 | 缓慢;每个周期都需要重复努力 | 速度快;该剧集可按需重播。 |
| 成本概况 | 前期价格低,每次发行价格都会上涨 | 前期投入较高,然后是脚本维护 |
1.网站功能测试
网站功能测试 是一个包含多个测试参数的过程,例如用户界面、API、数据库测试、安全测试、客户端和服务器测试以及基本网站功能。功能测试非常方便,它允许用户执行手动和自动测试。它用于测试网站上每个功能的功能。
网络测试活动包括:
《测试》(Test) 所有 链接 网页中的链接是否正常工作,并确保没有损坏的链接。需要检查的链接包括:
- 传出链接
- 内部链接
- Anchor 链接
- Mail链接
测试表格 正常运行。这将包括:
- 表单上的脚本检查工作正常。例如,如果用户未填写表单中的必填字段,则会显示错误消息。
- 检查是否正在填充默认值
- 提交后,表单中的数据将提交到实时数据库或链接到有效的电子邮件地址
- 表格经过优化格式化,更易于阅读
测试 Cookies 工作正常。Cookie 是网站用来记录活跃用户会话的小文件,因此您无需在每次访问网站时都登录。Cookie 测试将包括
- 当清除缓存或达到过期时间时,测试 cookie(会话)会被删除。
- 删除 cookie(会话)并测试下次访问该网站时是否要求输入登录凭据。
测试 HTML 和 CSS 确保搜索引擎可以轻松抓取您的网站。这将包括
- 检查语法错误
- Readable 色彩方案
- 标准合规性。确保遵守 W3C、OASIS、IETF、ISO、ECMA 或 WS-I 等标准。
测试业务工作流程– 这将包括
- 测试您的端到端工作流/业务场景,让用户通过一系列网页来完成。
- 也要测试负面场景,这样当用户执行意外步骤时,Web 应用程序中会显示适当的错误消息或帮助。
可以使用的工具: QTP , IBM 合理的 , Selenium
2. 可用性测试
可用性测试 已经成为任何基于 Web 的项目的重要组成部分。它可以 由测试人员进行 喜欢你 或一个小型焦点小组 与 Web 应用程序的目标受众相似。
《测试》(Test) 网站 导航:
- 您网站上不同页面的菜单、按钮或链接应在所有网页上清晰可见且一致
《测试》(Test) 这个 内容:
- 内容应该清晰易读,没有拼写或语法错误。
- 如果存在图像,则应包含“alt”文本
3. 接口测试
功能和易用性都满足要求后,检查其底层各层之间是否能够相互通信。这里需要测试的三个方面是:应用程序服务器、Web 服务器和数据库服务器。
- 应用: 测试请求正确发送到数据库,客户端的输出正确显示。任何错误都必须由应用程序捕获,并且只能显示给管理员,而不是最终用户。
- Web服务器:测试 Web 服务器正在处理所有应用程序请求,没有任何服务拒绝。
- 数据库服务器 确保发送到数据库的查询给出预期的结果。
测试系统响应 ,尤其是 三层之间的连接 (应用程序、网络和数据库) 不能成立 并向最终用户显示适当的消息。
可以使用的工具: 拉诺雷克斯
4. 数据库测试
数据库是 Web 应用程序的一个关键组件,必须对其进行彻底测试。测试活动包括:
- 测试执行查询时是否显示任何错误
- 时间 Integrity 在数据库中创建、更新或删除数据时进行维护。
- 检查查询的响应时间,并根据需要进行微调。
- 从数据库检索到的测试数据准确显示在您的 Web 应用程序中
5. 兼容性测试
兼容性测试确保您的 Web 应用程序在不同设备上都能正确显示和运行。这包括:
浏览器兼容性测试:同一个网站在不同浏览器上的显示效果会有所不同。您需要测试您的 Web 应用程序是否在各个浏览器上正确显示, Java脚本、AJAX 和身份验证运行正常。您还可以检查 电话 浏览器兼容性。
按钮、文本字段等 Web 元素的渲染会随着 运行系统. 确保您的网站能够很好地适应各种组合 Opera系统,如 Windows、Linux、Mac 和浏览器,例如 Firefox、Internet Explorer、Safari 等。
可以使用的工具: Dynatrace
6. 性能测试
这将确保您的网站在各种负载下都能正常运行。测试活动包括但不限于:
- 不同连接速度下的网站应用程序响应时间
- 负载测试你的 Web 应用程序以确定其在正常和峰值负载下的行为
- 对您的网站进行压力测试,以确定在高峰时段超出正常负载时的断点。
- 测试如果由于峰值负载而发生崩溃,站点如何从此类事件中恢复
- 确保启用 gzip 压缩、浏览器和服务器端缓存等优化技术,以减少加载时间
可以使用的工具: Loadrunner, JMeter
7. 安全测试
安全测试 对于存储信用卡等敏感客户信息的电子商务网站来说,测试至关重要。测试活动包括:
- 测试不应允许未经授权访问安全页面
- 如果没有适当的访问权限,则不应下载受限文件
- 用户长时间不活动后检查会话会自动终止
- 使用 SSL 证书时,网站应重定向到加密的 SSL 页面。
Intruder
Intruder 是一款功能强大的漏洞扫描器,可帮助您发现潜伏在 Web 应用程序和底层基础设施中的众多漏洞。提供业界领先的安全检查、持续监控和易于使用的平台, Intruder 保护各种规模的企业免受黑客攻击。
产品特性
- 一流的威胁覆盖范围,超过 10,000 次安全检查
- 检查配置缺陷、缺失补丁、应用程序缺陷(如 SQL 注入和跨站点脚本)等
- 自动分析并确定扫描结果的优先次序
- 界面直观,设置快速,可运行首次扫描
- 主动安全监控最新漏洞
- AWS, Azure和 Google Cloud 连接器
- API 与您的 CI/CD 管道集成
8. 人群测试
您将选择大量人员(众包测试)来执行原本由内部小团队执行的测试。众包测试是一个有趣且新兴的概念,有助于发现许多未被注意到的缺陷。
可以使用的工具: 众包测试平台
Web应用程序测试流程:分步指南
这八种技术会告诉你需要检查哪些内容。下面的流程会告诉你何时运行这些技术。
- 收集并明确需求。 列出应用程序必须执行的功能以及其应如何运行。模糊的需求会导致无法测试的预期结果,因此首先要解决这些模糊的需求。这一步骤将 Web 测试置于更广泛的框架内。 软件测试生命周期.
- 编写测试计划。 确定采用哪些技术、由谁负责实施、需要哪些工具以及时间表。计划就是你的路线图和预估。
- 编写测试用例。 将每个需求转化为具体的步骤和预期结果,涵盖用户意外触发的正常情况和负面情况。
- 搭建测试环境。 在预算允许的范围内,尽可能地模拟实际生产环境:相同的浏览器和操作系统组合、可比的数据量、真实的网络速度。
- 执行测试。 运行测试用例,记录实际结果与预期结果的对比,并在故障仍可重现时捕获屏幕截图、控制台输出和服务器日志。
- 报告和 track缺陷。 记录每个问题的重现步骤和优先级,修复后重新测试,并确认附近没有其他问题。
- 完成循环。 编写一份测试总结报告,内容包括测试内容、发现的问题、尚未解决的问题以及需要改进的地方,然后签字确认发布。
⚠️ 制定计划时,不仅要安排考试,还要安排日程: Web 测试是一项艰巨的任务,截止日期压力是首先遇到的障碍,其次是反复的代码修改,这些修改会导致已完成的工作失效。在步骤 2 中定义每个任务,并据此构建工作表。


