Web应用程序测试:如何测试网站?测试类型

⚡ 智能摘要

Web 应用程序测试在发布前对网站的功能、可用性、界面、数据库、兼容性、性能、安全性和用户测试进行验证,以便缺陷在测试环境中被发现,而不是在付费用户面前被发现。

  • 🧱 首先要了解建筑结构: 单页应用、多页应用和渐进式应用将风险集中在不同的层面上。
  • 🔗 首先考虑功能性: 证明每个链接、表单、cookie 和端到端工作流程都能正确运行,包括负面路径。
  • 🖥️ 将浏览器与操作系统配对: Chrome浏览器渲染效果存在差异, Firefox, 苹果浏览器, Windows, macOS以及 Linux,因此要涵盖您的实际流量组合。
  • 应在负载状态下测量,而不是在静止状态下测量: 在正常交通流量下进行基准响应时间测试,然后在超过高峰流量后进行压力测试,以找到临界点。
  • 🔐 尽早堵住安全漏洞: 阻止未经授权的页面访问,使空闲会话过期,强制加密页面,并扫描注入漏洞。
  • 🔁 将可重复性工作自动化,其余工作则探索其他方面: 脚本回归测试和跨浏览器测试套件,将测试人员保留用于可用性判断。

在详细介绍 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”文本

可以使用的工具: 粉笔标记, 内容广场和 Clixpy

3. 接口测试

功能和易用性都满足要求后,检查其底层各层之间是否能够相互通信。这里需要测试的三个方面是:应用程序服务器、Web 服务器和数据库服务器。

  • 应用: 测试请求正确发送到数据库,客户端的输出正确显示。任何错误都必须由应用程序捕获,并且只能显示给管理员,而不是最终用户。
  • Web服务器:测试 Web 服务器正在处理所有应用程序请求,没有任何服务拒绝。
  • 数据库服务器 确保发送到数据库的查询给出预期的结果。

测试系统响应 ,尤其是 三层之间的连接 (应用程序、网络和数据库) 不能成立 并向最终用户显示适当的消息。

可以使用的工具: 拉诺雷克斯

4. 数据库测试

数据库是 Web 应用程序的一个关键组件,必须对其进行彻底测试。测试活动包括:

  • 测试执行查询时是否显示任何错误
  • 时间 Integrity 在数据库中创建、更新或删除数据时进行维护。
  • 检查查询的响应时间,并根据需要进行微调。
  • 从数据库检索到的测试数据准确显示在您的 Web 应用程序中

可以使用的工具: QTP, Selenium

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 保护各种规模的企业免受黑客攻击。

Intruder

产品特性

  • 一流的威胁覆盖范围,超过 10,000 次安全检查
  • 检查配置缺陷、缺失补丁、应用程序缺陷(如 SQL 注入和跨站点脚本)等
  • 自动分析并确定扫描结果的优先次序
  • 界面直观,设置快速,可运行首次扫描
  • 主动安全监控最新漏洞
  • AWS, Azure和 Google Cloud 连接器
  • API 与您的 CI/CD 管道集成

访问 Intruder >>

8. 人群测试

您将选择大量人员(众包测试)来执行原本由内部小团队执行的测试。众包测试是一个有趣且新兴的概念,有助于发现许多未被注意到的缺陷。

可以使用的工具: 众包测试平台

Web应用程序测试流程:分步指南

这八种技术会告诉你需要检查哪些内容。下面的流程会告诉你何时运行这些技术。

  1. 收集并明确需求。 列出应用程序必须执行的功能以及其应如何运行。模糊的需求会导致无法测试的预期结果,因此首先要解决这些模糊的需求。这一步骤将 Web 测试置于更广泛的框架内。 软件测试生命周期.
  2. 编写测试计划。 确定采用哪些技术、由谁负责实施、需要哪些工具以及时间表。计划就是你的路线图和预估。
  3. 编写测试用例。 将每个需求转化为具体的步骤和预期结果,涵盖用户意外触发的正常情况和负面情况。
  4. 搭建测试环境。 在预算允许的范围内,尽可能地模拟实际生产环境:相同的浏览器和操作系统组合、可比的数据量、真实的网络速度。
  5. 执行测试。 运行测试用例,记录实际结果与预期结果的对比,并在故障仍可重现时捕获屏幕截图、控制台输出和服务器日志。
  6. 报告和 track缺陷。 记录每个问题的重现步骤和优先级,修复后重新测试,并确认附近没有其他问题。
  7. 完成循环。 编写一份测试总结报告,内容包括测试内容、发现的问题、尚未解决的问题以及需要改进的地方,然后签字确认发布。

⚠️ 制定计划时,不仅要安排考试,还要安排日程: Web 测试是一项艰巨的任务,截止日期压力是首先遇到的障碍,其次是反复的代码修改,这些修改会导致已完成的工作失效。在步骤 2 中定义每个任务,并据此构建工作表。

常见问题

Web 测试针对浏览器和操作系统组合、渲染以及服务器往返通信。 移动测试 添加设备硬件、安装和升级路径、中断(例如通话、电池消耗、手势和应用商店规则)。

浏览器兼容性问题、设备和屏幕多样性、因用户而异的动态页面、频繁的版本更新导致旧缺陷重现以及紧迫的截止日期,这些都是需要考虑的因素。通过实际流量数据进行优先级排序并自动化回归测试,可以有效控制项目范围。

AI 根据需求生成测试用例,在界面更改时自动修复定位器,确定提交后运行测试套件的优先级,并标记视觉差异。 人工智能测试工具 将此方法应用于回归测试和跨浏览器测试。

序号 生成式人工智能测试工具 加快脚本编写和缺陷分类速度,但无法判断工作流程是否令人困惑,也无法确定用户真正关心的是什么。可用性和探索性判断仍然掌握在人类测试人员手中。

是的。 可访问性测试 它属于可用性测试的一部分,负责根据 WCAG 标准检查键盘导航、屏幕阅读器输出、颜色对比度和替代文本。在许多市场,这是法律强制要求,而非可选项目。

总结一下这篇文章: