Web自动化测试怎么做?Web网页测试全流程解析

1、功能测试

web网页测试中的功能测试,主要测试网页中的所有链接、数据库连接、用于在网页中提交或获取用户信息的表单、Cookie 测试等。

(1)查看所有链接:

·测试从所有页面到被测特定域的传出链接。

· 测试所有内部链接。

· 测试链接在同一页面上跳转。

· 测试链接用于从网页向管理员或其他用户发送电子邮件。

· 测试是否有任何被孤立的页面。

· 最后,链接检查包括检查所有上述链接中的损坏链接。

(2)测试所有页面上的表单:

表单是任何网站都不可或缺的一部分。表单用于接收来自用户的信息并与他们进行交互。那么在这些表格中应该检查什么?

· 首先,检查每个字段的所有验证。

· 检查字段中的默认值。

· 表单中的字段输入错误。

· 用于创建表单(如果有)、表单删除视图或修改表单的选项。

以搜索引擎项目的测试为例。在这个项目中,我们有广告商和会员注册步骤。每个注册步骤和流程都不同。我们需要测试注册流程是否能够正确执行。注册表单有不同的字段验证,如电子邮件、ID、用户财务信息验证等。所有这些验证都应在手动或自动 Web 测试中进行检查。

(3)Cookie测试:

Cookie是存储在用户计算机设备上的小文件。Cookie基本上用于维护登录状态的验证。通过在浏览器选项中启用或禁用 cookie 来测试应用程序。

在写入用户计算机之前测试 cookie 是否已加密。如果当下正在测试会话 cookie(即会话结束后过期的 cookie),需要在会话结束后检查登录会话和用户统计信息。通过删除 cookie 检查对应用程序安全性的影响。

(4)检查页面HTML/CSS:

如果我们的网站正在针对搜索引擎做相关的SEO类优化工作,那么 HTML/CSS 验证是最重要的一项。这一块儿主要验证站点是否存在HTML语法错误。检查网站是否可以被不同的搜索引擎抓取。

(5)数据库测试:

数据一致性在 Web 应用程序中也非常重要。我们在编辑、删除、修改表单或执行任何与数据库相关的功能时,都应检查数据的完整性和错误。

检查所有数据库的查询是否正确执行、数据是否被检索以及是否正确更新。另外一项关于数据库的测试则是数据库的负载,这一块儿会在下方的Web负载和性能测试这一块讲到。

2、可用性测试

可用性测试是测量系统的人机交互特性并识别弱点以进行纠正的过程。

· 易于学习

· 导航

· 主观用户满意度

· 整体外观

(1)导航测试:

导航是指用户如何浏览网页、不同的控件(如按钮、框)或用户如何使用页面上的链接来浏览不同的页面。

可用性测试包括以下内容:

· 该网站应该易于使用。

· 提供的说明应该非常清楚。

· 检查提供的说明是否完美满足其目的。

· 主菜单应在每一页上提供。

· 它应该足够一致。

(2)内容检查:

内容应该合乎逻辑且易于理解。检查是否有文字错误。网站配色的使用,是否符合用户体验。

您可以遵循一些用于网页和内容构建的标准颜色。这些是普遍接受的标准,就像我上面提到的关于恼人的颜色、字体、框架等的标准。

内容应该是有意义的。所有锚文本链接都应该正常工作。图像应以适当的尺寸正确放置。这些是 Web 开发中应该遵循的一些基本的重要标准。您的任务是验证 UI 测试的所有内容。

(3)网站地图:

与搜索选项一样,站点地图也有助于处理文件等。站点地图应与网站上的所有链接一起提供,并具有适当的导航树视图。检查网站网站地图上的所有链接。

“站内搜索”选项将帮助用户轻松快速地找到他们正在寻找的内容页面。这些都是可选项目,如果存在,则应进行验证。

3、接口测试

在 web 测试中,应该测试服务器端接口。这可以通过验证通信是否正确完成来完成。应测试服务器与软件、硬件、网络和数据库的兼容性。

主要接口有:

· Web服务器和应用服务器接口

· 应用服务器和数据库服务器接口。

检查是否执行了这些服务器之间的所有交互并正确处理了错误。如果数据库或 Web 服务器针对应用程序服务器的任何查询返回错误消息,则应用程序服务器应捕获这些错误消息并将其适当地显示给用户。

检查如果用户在中间中断任何事务会发生什么?检查如果在两者之间重置与网络服务器的连接会发生什么?

4、兼容性测试

网站的兼容性是一个非常重要的测试。

兼容性测试具体测试以下几项:

· 浏览器兼容性

· 操作系统兼容性

· 手机浏览

(1)浏览器兼容性:

浏览器的兼容性测试,可以说是网站测试中最具影响力的部分。 一些应用程序非常依赖浏览器。不同的浏览器有不同的配置和设置,我们需要测试网页在各系统、各浏览器品牌和版本下展示效果是否一致。

首先,网站编码应该是跨浏览器平台兼容的。如果我们使用 java 脚本或 AJAX 调用来实现 UI 功能、执行安全检查或验证,那么会对我们的 Web 应用程序的浏览器兼容性测试带来更多的压力。

在 Internet Explorer、Firefox、Netscape Navigator、AOL、Safari 和 Opera 浏览器等不同版本的浏览器上测试 Web 应用程序。

(2)操作系统兼容性:

Web 应用程序中的一些功能是它可能不与所有操作系统兼容。Web 开发中使用的所有新技术(如图形设计和不同 API 等接口调用)可能并非在所有操作系统中都可用。

因此,在具有不同操作系统风格的不同操作系统(如 Windows、MAC、Linux)上测试您的 Web 应用程序。

(3)移动浏览:

我们正处于新技术时代。目前移动端的用户访问量已经远超PC端用户使用量。所以测试网页在移动端各个设备和浏览器上的展示体验显得尤为重要。

5、性能测试

Web 应用程序应该承受很大的负载。Web 性能测试应包括:

· 网络负载测试

· 网络压力测试

在不同的互联网连接速度下测试应用程序性能。

(1)Web 负载测试

我们需要测试是否有许多用户正在访问或请求同一页面。系统能够承受峰值负载的持续时间?该站点应处理多并发的用户请求、来自用户的大量输入数据、同时连接到数据库的请求、特定页面上的负载等。

(2)网络压力测试

通常压力意味着将系统拉伸到超出其指定限制。执行 Web 压力测试以通过施加压力来破坏站点,并检查系统如何对压力做出反应以及如何从崩溃中恢复。通常强调输入字段、登录和注册区域。

在 Web 性能测试中,不同操作系统和不同硬件平台上测试网站功能,检查软件和硬件内存泄漏相关的错误。

性能测试可用于了解网站的可扩展性或对第三方产品(如服务器和中间件)环境中的性能进行基准测试。

6、安全测试

以下是 Web 安全测试的一些测试用例

通过将内部 URL 直接粘贴到浏览器地址栏中进行测试,无需登录。这个时候网站的内部页面不应被打开。

在登录用户名、密码、输入文本框等输入字段中尝试一些无效输入。检查系统对所有无效输入的反应。

除非网站提供了下载选项,否则普通用不能通过URL直接访问Web目录和系统文件。

测试 CAPTCHA 以自动化脚本登录。

测试网站是否应用了SSL安全措施。如果使用,当用户从非安全 HTTP:// 页面切换到安全 HTTPS:// 页面时,应该会显示正确的提示信息,反之亦然。

所有交易、错误消息和安全漏洞尝试都应记录在 Web 服务器某处的日志文件中。

测试 Web 安全性的主要原因是识别潜在漏洞并随后修复它们。

· 网络扫描

· 漏洞扫描

· 密码破解

· 日志审查

· 完整性检查器

· 病毒检测

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/221612.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【头歌系统数据库实验】实验4 MySQL单表查询

目录 第1关. 在users表中新增一个用户,user_id为2019100904学号,name为2019-物联网-李明 第2关. 在users表中更新用户 user_id为robot_2 的信息,name设为 机器人二号 第3关. 将solution表中所有 problem_id 为1003 题目的解答结果&#xf…

Java抽象类(abstract class)和接口(interface)的区别——面试

1.抽象类(abstract class)和接口(interface)的区别: 抽象类可以有构造方法,接口中不能有构造方法。 抽象类中可以有普通成员变量,接口中没有普通成员变量。抽象类中可以包含非抽象的普通方法&am…

C语言进阶之路-指针、数组等混合小boss篇

目录 一、学习目标: 二、指针、数组的组合技能 引言 指针数组 语法 数组指针 三、勇士闯关秘籍 四、大杂脍 总结 一、学习目标: 知识点: 明确指针数组的用法和特点掌握数组指针的用法和特点回顾循环等小怪用法和特点 二、指针、数…

<Linux>(极简关键、省时省力)《Linux操作系统原理分析之文件管理(3)》(24)

《Linux操作系统原理分析之文件管理(3)》(24) 7 文件管理7.5 文件存储空间的管理7.6 文件的共享和保护7.6.1 文件存取控制7.6.2 文件共享的实现方法7.6.3 文件的备份转储 7 文件管理 7.5 文件存储空间的管理 位示图 对每个磁盘…

Lookup Argument简史

1. 引言 主要参考Ingonyama团队2023年4月文章《A Brief History of Lookup Arguments》。 近年来zk-SNARKs的研究热点有: 让ZKP proof更succinct降低Prover time和Verifier time 但,大多数SNARKs仍受限于,易于转换为多项式的算术运算。通…

Unity3D实现鼠标悬浮UI或物体上显示文字信息

系列文章目录 Unity工具 文章目录 系列文章目录前言最终效果一、UI事件显示文字1-1 ui事件需要引用命名空间using UnityEngine.EventSystems;1-2 IPointerEnterHandler 接口1-3 IPointerExitHandler 接口1-4 IPointerMoveHandler 接口 二、场景搭建2-1 实现如下 三、代码实现3…

C语言结构体介绍(超详细)

文章目录 每日一言结构体是什么?为什么要使用结构体?如何使用结构体?结构体的定义结构体的声明如何访问结构体中的成员 结构体内存对齐什么是结构体内存对齐对齐规则修改默认对齐数 为什么存在结构对齐 总结结语 每日一言 Develop your imagination – you can u…

Mabatis处理异常屏蔽SQL返回前端全局异常捕获处理

文章目录 Mabatis处理异常屏蔽SQL返回前端全局异常捕获处理结论1 java异常体系2 Spring框架异常处理3 定位Spring框架转化为哪种unchecked异常3.1 捕获RuntimeException定位Spring框架转化抛出的异常类3.2 进一步查看包名判断3.3 识别MyBatisSystemException下级实现3.3 识别My…

postman常用脚本

在参数中动态添加开始时间和结束时间的时间戳 1.先在collection中添加参数,这里的作用域是collection,也可以是其他的任何scope 2.在Pre-request Script 中设定开始时间和结束时间参数,比如昨天和今天的时间戳,下面是js代码 con…

【Qt开发流程】之对象模型1:信号和槽

Qt对象模型 标准c对象模型为对象范型提供了非常有效的运行时支持。但是它的静态特性在某些问题领域是不灵活的。图形用户界面编程是一个既需要运行时效率又需要高度灵活性的领域。Qt通过结合c的速度和Qt对象模型的灵活性提供了这一点。 Qt将这些特性添加到c中: 一个非常强大的…

DNS协议(DNS规范、DNS报文、DNS智能选路)

目录 DNS协议基本概念 DNS相关规范 DNS服务器的记录 DNS报文 DNS域名查询的两种方式 DNS工作过程 DNS智能选路 DNS协议基本概念 DNS的背景 我们知道主机通信需要依靠IP地址,但是每次通过输入对方的IP地址和对端通信不够方便,IP地址不好记忆 因此提…

【国产云 OS】KoyarchOS:实现稳定性与兼容性的行业标杆操作系统

文章目录 一、前言二、CentOS 谢幕、国内操作系统崛起2.1 CentOS 的前世今生2.2 创新操作系统崛起 三、浪潮信息 KeyarchOS 操作系统3.1 认识 KeyarchOS 操作系统3.2 KeyarchOS 产品优势3.2.1 稳定可靠3.2.2 广泛兼容3.2.3 平滑迁移3.2.4 场景增强 3.3 KeyarchOS 支持多场景优化…

CAD画图-模型和布局区别,视图命令MV使用(用于局部放大显示)

模型和布局的图像区别 模型的图像: 是我们常编辑的cad文件,我们可以对里面内容进行编辑和测量等操作 布局的图像:为了可以更好的看到每个部件的相对位置,但对于里面的点位的标注就不行了,但可以对图像中的某些部位进行…

思维模型 移情效应

本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。情感迁移,爱屋及乌。 1 移情效应的应用 1.1 移情效应在市场营销中应用-多芬(Dove)“真美运动” 多芬(Dove)是一家知名的个人护理…

一起学习:大型语言模型(LLM)中的QKV(Query, Key, Value)和多头注意力机制

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

CentOS最小化安装后怎么转图形界面/可视化桌面?

文章目录 1、命令行和图形界面切换方式一方式二 2、最小化安装转桌面1-设置网络2-测试网络3-更新文件4-安装图形5-查看默认6-设置默认 界面效果参考视频 1、命令行和图形界面切换 如果安装的是最小化,那么init 5 (进入图像化桌面)命令是无效的 方式一 1.如果在命…

基于STM32 HAL库的光电传感器驱动程序实例

本文将使用STM32 HAL库编写一个光电传感器的驱动程序示例。首先,我们会介绍光电传感器的工作原理和应用场景。然后,我们将讲解如何选择合适的STM32芯片和光电传感器组合。接下来,我们会详细介绍使用STM32 HAL库编写光电传感器驱动程序的基本步…

【Rust日报】2023-12-04 slint 成功案例

slint 成功案例 SK Signet是美国领先的电动车充电解决方案提供商,推出了适用于其电动车充电桩的新型HMI(人机界面)。支持15英寸和32英寸触摸屏。 该HMI由Slint制作,为充电站运营商提供了额外的商机。SK Signet经理Sang-Baek Lee表…

【ArcGIS Pro微课1000例】0049:根据坐标快速定位(创建点位)的常见方法

文章目录 一、转到XY1. 闪烁位置2. 平移3. 标记位置二、定位1. 坐标定位2. 添加到图形3. 添加至要素类三、添加XY坐标四、创建点要素一、转到XY 举例:经纬度坐标:113.2583286东, 23.1492340北 。 1. 闪烁位置 输入坐标,点击闪烁位置工具,即可在对应的位置出现一个绿色闪烁…

19、pytest通过mark标记测试函数

官方实例 [pytest] markers slow:marks tests as slow(deselect with -m "not slow")serial# content of test_mark.py import pytestpytest.mark.slow def test_mark_function():print("test_mark_function was invoked")assert 0解读与实操 通过使用p…