Web 应用测试指南
我们都同意,在当今快节奏、竞争激烈的世界中,互联网已成为我们日常生活中不可或缺的一部分。
因为我们大多数人现在都根据互联网上的信息做出决策,所以拥有一个网站不再是一种选择,而是所有类型组织的必要条件。这是迈向市场相关性的第一步。
仅仅拥有一个网站是不够的。公司需要创建一个信息丰富、易于访问且用户友好的网站。为了保持所有这些特性,网站应该进行彻底的检查,这被称为 Web 测试。
什么是 Web 测试?
Web 测试是一种软件测试,涉及检查网站或 Web 应用是否存在问题。这是在 Web 应用上线之前对其进行彻底测试的过程。Web 测试检查 Web 应用或网站的功能、可用性、安全性、兼容性和性能。
在此阶段,会检查诸如 Web 应用安全、站点功能、残疾人和普通用户的可访问性以及流量处理能力等主题。在面向最终用户上线之前,必须从头到尾彻底测试基于 Web 的系统。通过进行网站测试,公司可以确保基于 Web 的系统有效运行并可以被实时用户接受。网站测试的指挥者是 UI 设计和功能。
Web 测试清单
- 功能测试
- 可用性测试
- 界面测试
- 兼容性测试
- 性能测试
- 安全测试
本页面上陈述的 Web 测试原则可以通过以下工具进行实践 -
CrossBrowserTesting
借助其基于云的真实设备实验室,CrossBrowserTesting 使您能够在任何浏览器或移动设备上完善每一种 Web 体验。摆脱虚拟机和设备实验室。在云端对 2050 多个真实的桌面和移动浏览器运行手动、视觉和 Selenium 测试。
=> 访问 CrossBrowserTesting 网页
LoadNinja
LoadNinja 允许您使用可大规模扩展的真实浏览器检查您的 Web 应用,使用可以在录制后立即重播的测试脚本,从而生成可操作的基于浏览器的性能数据,这些数据可用于隔离问题并在实时调试错误。
=> 访问 LoadNinja 网页
LambdaTest
LambdaTest 是一个可扩展的基于云的跨浏览器测试平台,用于支持所有网站和 Web 应用的云基础设施。
通过手动、视觉和自动化测试,LambdaTest 平台确保您的在线应用元素(如 JavaScript、CSS、HTLM5、视频等)在所有桌面和移动 Web 浏览器中始终如一地呈现。您可以使用 LambdaTest 在云端测试多达 2000 种不同的桌面和移动浏览器组合。
=> 访问 LambdaTest 网页。
以下是需要执行的不同类型的测试。
功能测试
什么是功能测试以及它是如何工作的?
测试产品的特性和操作行为,以确认它们是否符合其标准。测试忽略系统的或组件的内部机制,完全专注于响应特定输入和执行条件而产生的输出。
功能测试的目的或目标是什么?
功能测试的目的是确保您的产品满足开发文档中指定的函数规范。
应检查网站上的所有链接,以及数据库连接、网页上用于从用户提交或接收数据的表单、Cookie 测试等。
Cookie 评估
Cookie 是保存在用户计算机上的小型文件。这些主要用于跟踪会话,尤其是登录会话。通过启用或禁用浏览器设置中的 Cookie,您可以测试应用程序。
在写入用户系统之前,请确保 Cookie 已加密。如果正在测试会话 Cookie(即会话结束后过期的 Cookie),请检查会话结束后登录会话和用户指标。通过删除 Cookie,您可以查看它如何影响应用程序的安全性。
检查您的 HTML/CSS 中是否存在错误
HTML/CSS 验证是在搜索引擎中优化您的网站时需要考虑的最关键因素。主要验证网站的 HTML 语法问题。检查网站是否可以被各种搜索引擎抓取。
测试数据库
在 Web 应用中,数据一致性也至关重要。在编辑、删除或修改表单或执行其他与数据库相关的任务时,请检查数据完整性和错误。
检查所有数据库查询是否正确执行,以及数据是否被检索和更新。更多关于数据库测试的内容可能会给数据库带来负担;我们将在下面关于 Web 加载或性能测试的部分中介绍。
可用性测试
可用性测试现在是任何基于 Web 项目的必需组成部分。它可以由像您这样的测试人员或代表 Web 应用目标受众的小型焦点小组来完成
检查网站的导航 - 在您网站的所有页面上,菜单、按钮和指向不同页面的链接应该清晰可见且稳定。
检查内容 - 内容中不应有任何拼写或语法错误。如果提供了图像,则它们应该具有“alt”文本。
界面测试
此处需要测试的三个领域是应用程序、Web 和数据库服务器。
测试查询被正确地输入到数据库中,并且客户端输出被正确地显示。如果发现任何错误,则必须由应用程序检测到并仅显示给管理员,而不是最终用户。
测试 Web 服务器 所有应用程序请求都由 Web 服务器处理,没有任何服务拒绝。
检查发出到数据库的查询是否返回预期结果。
当无法创建三层(应用程序、Web 和数据库)之间的连接时,系统会通过向最终用户显示适当的消息来响应。
数据库测试
您的 Web 应用的数据库是一个关键组件,必须对其进行全面测试。以下活动是测试过程的一部分 -
检查运行查询时是否存在任何问题。
在创建、更新或删除数据库中的数据时,数据完整性得到保留。
检查查询响应时间并根据需要对其进行微调。
您的 Web 应用准确地显示从您的数据库中检索到的测试数据。
兼容性测试
兼容性测试确保您的 Web 应用在各种设备上都能令人满意地运行。这将包括以下内容
浏览器兼容性测试:同一个网站在不同的浏览器中显示效果不同。您必须确保您的在线应用在所有浏览器中都正确显示,JavaScript、AJAX 和身份验证都正常工作。您还可以查看您的浏览器是否与移动设备兼容。
随着操作系统的每次更改,Web 元素(如按钮、文本字段等)的呈现方式也会发生变化。确保您的网站适合各种操作系统,例如 Windows、Linux 和 Mac,以及 Firefox、Internet Explorer 和 Safari 等浏览器。
性能测试
这将确保您的网站在所有负载条件下都能正常运行。软件测试的活动将包括但不限于 -
不同网络速度下网站的响应时间
在正常和峰值负载下测试您的 Web 应用,以查看其反应。
测试您的网站,查看在高峰时段承受高于正常负载时它会在哪里崩溃。
测试站点如何从最大负载引起的崩溃中恢复。
为了减少加载时间,请确保启用了诸如 gzip 压缩、浏览器和服务器端缓存之类的优化技术。
安全测试
对于包含敏感客户信息(例如信用卡)的电子商务网站,安全测试至关重要。以下活动是测试流程的一部分:
在测试期间,不允许未经授权访问安全页面。
如果没有适当的访问权限,则不允许下载私有文件。
一段时间不使用后,会话应自动终止。
当使用 SSL 证书时,网站应重定向到已加密的 SSL 页面。
众包测试
您将选择一大群人(人群)来执行测试,否则这些测试将由公司内部的一小群人执行。众包测试是一种最新且令人兴奋的概念,它可以帮助发现许多以前未发现的缺陷。
一些测试场景
在评估网站时,还需要考虑以下几点。
服务器的预期负载是多少(例如,每单位时间的点击次数)?
每个加载场景所需的性能水平是多少(例如,Web 服务器响应时间和数据库查询响应时间)?
需要什么样的性能测试工具(例如,Web 负载测试工具、可以自定义的其他内部工具、Web 机器人下载工具等)?
目标受众是谁?目标受众是谁?看看他们使用什么浏览器会很有趣。他们将使用哪种连接速度。互联网范围还是内部组织(高速连接和类似浏览器)?
例如,页面加载速度应该有多快,动画和小程序运行速度应该有多快?
服务器和内容维护/升级将需要一段停机时间。如果是这样,那么您将花费多少钱?
将使用什么方法来验证和更新内部和外部链接?多久进行一次?会发生吗?
是否可以在生产系统上进行测试,或者是否需要使用单独的测试系统?