Web应用程序测试:如何测试一个网站?

在详细阐述网络测试类型之前,我们先快速定义一下网络测试。

什么是网络测试?

网络测试,或网站测试,是在您的Web应用程序或网站上线并向公众开放之前,检查其是否存在潜在错误的过程。网络测试检查Web应用程序或网站的功能性、可用性、安全性、兼容性和性能。

在此阶段,将检查诸如Web应用程序安全性、网站功能、残疾人及普通用户的访问情况以及处理流量的能力等问题。

如何测试Web应用程序或网站

在软件工程中,可根据您的网络测试需求执行以下测试类型/技术。

1. 网站功能测试

网站功能测试是一个过程,包括用户界面、API、数据库测试、安全测试、客户端和服务器测试以及基本网站功能等多个测试参数。功能测试非常方便,它允许用户执行手动和自动化测试。它的执行是为了测试网站上每个功能的功能性。

基于Web的测试活动包括

测试您网页中的所有链接是否正常工作,并确保没有死链接。需要检查的链接包括 –

  • 出站链接
  • 内部链接
  • 锚点链接
  • 电子邮件链接

测试表单是否按预期工作。这包括-

  • 表单上的脚本检查是否按预期工作。例如:如果用户未填写表单中的必填字段,则会显示错误消息。
  • 检查默认值是否已填充
  • 提交后,表单中的数据是否提交到实时数据库或链接到有效的电子邮件地址
  • 表单是否经过优化格式以提高可读性

测试 Cookie 是否按预期工作。Cookie 是网站使用的小文件,主要用于记住活跃用户会话,这样您就不必每次访问网站时都登录。Cookie 测试将包括

  • 测试 Cookie(会话)是否在缓存清除时或达到有效期时被删除。
  • 删除 Cookie(会话),然后测试您下次访问网站时是否会要求输入登录凭据。

测试 HTML 和 CSS 以确保搜索引擎可以轻松抓取您的网站。这包括

  • 检查语法错误
  • 可读的配色方案
  • 符合标准。确保遵循 W3C、OASIS、IETF、ISO、ECMA 或 WS-I 等标准。

测试业务工作流程——这将包括

  • 测试您的端到端工作流程/业务场景,该场景将引导用户通过一系列网页完成操作。
  • 同时测试负面场景,例如当用户执行意外步骤时,您的Web应用程序中会显示适当的错误消息或帮助。

可使用的工具QTP、IBM Rational、Selenium

2. 可用性测试

可用性测试已成为任何基于Web项目的重要组成部分。它可以通过像您这样的测试人员或一个类似于Web应用程序目标受众的小型焦点小组进行

测试网站导航

  • 您网站上的菜单、按钮或指向不同页面的链接应该在所有网页上清晰可见且保持一致

测试 内容

  • 内容应清晰易读,没有拼写或语法错误。
  • 如果存在图片,应包含“alt”文本

可使用的工具ChalkmarkContentsquare 和 Clixpy

3. 界面测试

这里需要测试的三个领域是——应用程序、Web和数据库服务器

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

测试系统响应,当三层(应用程序、Web 和数据库)之间的连接无法建立时,并向最终用户显示适当的消息。

可使用的工具Ranorex

4. 数据库测试

数据库是您的Web应用程序的一个关键组件,必须彻底测试。测试活动将包括-

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

可使用的工具QTPSelenium

5. 兼容性测试

兼容性测试确保您的网络应用程序在不同设备上正确显示。这包括-

浏览器兼容性测试:同一网站在不同浏览器中显示会有所不同。您需要测试您的Web应用程序是否在各种浏览器中正确显示,JavaScript、AJAX和身份验证是否正常工作。您还可以检查移动浏览器兼容性。

Web元素(如按钮、文本字段等)的渲染会随着操作系统的变化而变化。确保您的网站在Windows、Linux、Mac等各种操作系统以及Firefox、Internet Explorer、Safari等浏览器组合下都能正常运行。

可使用的工具Dynatrace

6. 性能测试

这将确保您的网站在所有负载下都能正常工作。软件测试活动将包括但不限于 –

  • 网站应用程序在不同连接速度下的响应时间
  • 对您的网络应用程序进行负载测试,以确定其在正常和峰值负载下的行为
  • 对您的网站进行压力测试,以确定在高峰时段超出正常负载时其崩溃点。
  • 测试由于峰值负载导致的崩溃,以及网站如何从这种事件中恢复
  • 确保启用 gzip 压缩、浏览器和服务器端缓存等优化技术,以减少加载时间

可使用的工具LoadrunnerJMeter

7. 安全测试

安全测试对于存储敏感客户信息(如信用卡)的电子商务网站至关重要。测试活动将包括-

  • 测试不应允许未经授权访问安全页面
  • 未经适当授权,受限文件不应可下载
  • 检查会话在用户长时间不活动后是否自动终止
  • 使用SSL证书时,网站应重定向到加密的SSL页面。

入侵者

Intruder 是一款强大的漏洞扫描器,可帮助您发现Web应用程序和底层基础设施中潜藏的许多弱点。Intruder 提供业界领先的安全检查、持续监控和易于使用的平台,保护各种规模的企业免受黑客攻击。

Intruder

功能

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

访问入侵者 >>

8. 众包测试

您将选择大量人员(人群)执行测试,否则这些测试将由公司中的一小部分人执行。众包测试是一个有趣且新兴的概念,有助于揭示许多未被注意到的缺陷。

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

本教程到此结束。它几乎包含了适用于您的网络应用程序的所有测试类型。

作为一名网络测试人员,重要的是要注意,网络测试是一个相当艰巨的过程,您必然会遇到许多障碍。您将面临的主要问题之一当然是截止日期压力。一切总是需要昨天就完成!代码需要更改的次数也令人筋疲力尽。请务必规划好您的工作,并清楚了解您所期望的成果。最好是定义网络测试中涉及的所有任务,然后创建一个工作图表,以便进行准确的估算和规划