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”文本
可使用的工具:Chalkmark、Contentsquare 和 Clixpy
3. 界面测试
这里需要测试的三个领域是——应用程序、Web和数据库服务器
- 应用程序:测试请求是否正确发送到数据库,并且客户端是否正确显示输出。如果存在任何错误,必须由应用程序捕获,并且只能显示给管理员,而不是最终用户。
- Web 服务器:测试 Web 服务器是否处理所有应用程序请求而没有任何服务拒绝。
- 数据库服务器:确保发送到数据库的查询给出预期的结果。
测试系统响应,当三层(应用程序、Web 和数据库)之间的连接无法建立时,并向最终用户显示适当的消息。
可使用的工具:Ranorex
4. 数据库测试
数据库是您的Web应用程序的一个关键组件,必须彻底测试。测试活动将包括-
- 测试执行查询时是否显示任何错误
- 在数据库中创建、更新或删除数据时,数据完整性是否得到维护。
- 检查查询响应时间并在必要时进行优化。
- 测试从数据库中检索的数据是否在您的Web应用程序中准确显示
5. 兼容性测试
兼容性测试确保您的网络应用程序在不同设备上正确显示。这包括-
浏览器兼容性测试:同一网站在不同浏览器中显示会有所不同。您需要测试您的Web应用程序是否在各种浏览器中正确显示,JavaScript、AJAX和身份验证是否正常工作。您还可以检查移动浏览器兼容性。
Web元素(如按钮、文本字段等)的渲染会随着操作系统的变化而变化。确保您的网站在Windows、Linux、Mac等各种操作系统以及Firefox、Internet Explorer、Safari等浏览器组合下都能正常运行。
可使用的工具:Dynatrace
6. 性能测试
这将确保您的网站在所有负载下都能正常工作。软件测试活动将包括但不限于 –
- 网站应用程序在不同连接速度下的响应时间
- 对您的网络应用程序进行负载测试,以确定其在正常和峰值负载下的行为
- 对您的网站进行压力测试,以确定在高峰时段超出正常负载时其崩溃点。
- 测试由于峰值负载导致的崩溃,以及网站如何从这种事件中恢复
- 确保启用 gzip 压缩、浏览器和服务器端缓存等优化技术,以减少加载时间
可使用的工具:Loadrunner、JMeter
7. 安全测试
安全测试对于存储敏感客户信息(如信用卡)的电子商务网站至关重要。测试活动将包括-
- 测试不应允许未经授权访问安全页面
- 未经适当授权,受限文件不应可下载
- 检查会话在用户长时间不活动后是否自动终止
- 使用SSL证书时,网站应重定向到加密的SSL页面。
入侵者
Intruder 是一款强大的漏洞扫描器,可帮助您发现Web应用程序和底层基础设施中潜藏的许多弱点。Intruder 提供业界领先的安全检查、持续监控和易于使用的平台,保护各种规模的企业免受黑客攻击。
功能
- 拥有超过10,000项安全检查的一流威胁覆盖
- 检查配置弱点、缺失的补丁、应用程序弱点(如 SQL 注入和跨站脚本)等等
- 扫描结果的自动分析和优先级排序
- 直观的界面,设置和运行首次扫描速度快
- 针对最新漏洞的主动安全监控
- AWS、Azure 和 Google Cloud 连接器
- 与您的 CI/CD 管道进行 API 集成
8. 众包测试
您将选择大量人员(人群)执行测试,否则这些测试将由公司中的一小部分人执行。众包测试是一个有趣且新兴的概念,有助于揭示许多未被注意到的缺陷。
可使用的工具:众包测试平台
本教程到此结束。它几乎包含了适用于您的网络应用程序的所有测试类型。
作为一名网络测试人员,重要的是要注意,网络测试是一个相当艰巨的过程,您必然会遇到许多障碍。您将面临的主要问题之一当然是截止日期压力。一切总是需要昨天就完成!代码需要更改的次数也令人筋疲力尽。请务必规划好您的工作,并清楚了解您所期望的成果。最好是定义网络测试中涉及的所有任务,然后创建一个工作图表,以便进行准确的估算和规划。