当前位置: 首页 > news >正文

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 安全性的主要原因是识别潜在漏洞并随后修复它们。

· 网络扫描

· 漏洞扫描

· 密码破解

· 日志审查

· 完整性检查器

· 病毒检测

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

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

相关文章:

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

1、功能测试 web网页测试中的功能测试,主要测试网页中的所有链接、数据库连接、用于在网页中提交或获取用户信息的表单、Cookie 测试等。 (1)查看所有链接: 测试从所有页面到被测特定域的传出链接。 测试所有内部链接。 测…...

MySQL数据库SQLSTATE[22007]: Invalid datetime format 日期类型不能为空值的解决办法

如果你的数据库是mysql, 如果你创建表或插入数据时遇到的BUG–它长这样: Invalid datetime format: 1292 Incorrect datetime value: ‘’ for column ‘xxx’ at row 1 或 1067 - Invalid default value for ‘xx’ 那么我将赐予你 两套剑法: &#…...

搬运工让你分分钟了解Web接口测试

01、什么是接口 百度说:接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式 上面这句有点抽象,网上的…...

作业12.5

1.定义一个基类 Animal&#xff0c;其中有一个虛函数perform&#xff08;)&#xff0c;用于在子类中实现不同的表演行为。 #include <iostream>using namespace std; class Animal { private:int weight; public:Animal(){}Animal(int weight):weight(weight){}virtual …...

leetCode 47. 全排列 II + 回溯算法 + 图解 + 笔记

给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列 示例 1&#xff1a; 输入&#xff1a;nums [1,1,2] 输出&#xff1a; [[1,1,2],[1,2,1],[2,1,1]] 示例 2&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[1,3,2…...

Maya 2024(3D建模、动画和渲染软件)

Maya 2024是一款非常强大的3D建模、动画和渲染软件&#xff0c;它提供了许多新功能和改进&#xff0c;以帮助建模师、动画师和渲染师更加高效地进行创作。 在建模方面&#xff0c;Maya 2024引入了Symmetry&#xff08;对称&#xff09;功能&#xff0c;可以在网格两侧生成均匀…...

C++作业5

完成沙发床的多继承&#xff08;有指针成员&#xff09; 代码&#xff1a; #include <iostream>using namespace std;class Bed { private:double *money; public:Bed(){cout << "Bed::无参构造函数" << endl;}Bed(double money):money(new doub…...

Go语言很难吗?为什么 Go 岗位这么少?

其实这个话题已经躺在我的 TODO 里很久了&#xff0c;近来很多社区的小伙伴都私下来交流&#xff0c;也有在朋友圈看吐槽 Go 上海的大会没什么人。还不如 Rust 大会&#xff0c;比较尴尬。 今天主要是从个人角度看看为什么 Go 岗位看起来近来很难的样子&#xff1f; 盘一下数…...

为什么要替换 Object.defineProperty?

目录 前言&#xff1a;为什么要替换 Object.defineProperty&#xff1f; 详解&#xff1a;为什么要替换 Object.defineProperty&#xff1f; 总结&#xff1a; 前言&#xff1a;为什么要替换 Object.defineProperty&#xff1f; JavaScript中的Object.defineProperty是一种…...

百马百担c语言编程

以下是一个百马百担问题的C语言编程实现&#xff1a; #include <stdio.h>int main() { int n, m, k; scanf("%d%d%d", &n, &m, &k); int a[n], b[m], c[k]; for (int i 0; i < n; i) { scanf("%d", &a[i]);…...

C++检测字符串中有效的括号个数

匹配一个字符串buf中&#xff0c;连续包换运算符reg的次数&#xff1a; #include <iostream>//return 返回匹配的字符个数 //buf, 要检测的字符串 //reg, 包含的连续运算符 int GetMatchCount(std::string& buf, std::string& reg) {int nMatchCount 0;if (reg.…...

前端依赖下载速度过慢解决方法,nrm 镜像管理工具

npm 默认镜像 &#xff1a;https://registry.npmjs.org/ 问题 使用 npm install 安装依赖的时候&#xff0c;受网络的限制&#xff0c;速度会很慢。 解决 使用国内镜像代理。 nrm nrm 是镜像源管理工具&#xff1b; 1. 安装 nrm npm install nrm --global# 查看镜像源列…...

如何为 3D 模型制作纹理的最佳方法

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 您可以通过不同的方式为 3D 模型创建 3D 纹理。下面我们将介绍为 3D …...

智慧校园:TSINGSEE青犀智能视频监控系统,AI助力优化校园管理

随着科技的飞速发展和信息化社会的到来&#xff0c;智慧校园已经成为教育领域的一种新型发展模式。智慧校园的需求和发展趋势日益显现&#xff0c;其建设已成为当今教育信息化发展的重要方向。 TSINGSEE青犀结合高可靠、高性能的云计算、人工智能、大数据、物联网等技术&#…...

Three的lod技术

1、资源&#xff1a;https://sbcode.net/threejs/lod/ import * as THREE from three import { OrbitControls } from three/examples/jsm/controls/OrbitControls import Stats from three/examples/jsm/libs/stats.module import { GUI } from dat.gui import { GLTFLoader }…...

Git配置

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 前言 前面我们新建了远程仓库并且在Linux上克隆了远程仓库&#xff0c;但是在新建仓库时我们提到会配置gitignore文件&#xff0c;这次我们将会配置他&#xff0c;并给命令起别名。 目录 前言 忽略特殊文件 给命令起别名…...

阻抗控制下机器人接触刚性环境振荡不稳定进行阻抗调节

阻抗接触 刚性环境为ke10000 虚拟阻抗为&#xff1a;kd100&#xff0c;bd10&#xff0c;md1 虚拟阻抗为&#xff1a;kd100&#xff0c;bd10&#xff0c;md5 虚拟阻抗为&#xff1a;kd100&#xff0c;bd10&#xff0c;md10 性能滤波函数的Bode图&#xff1a; bode(1e5/(0.000…...

【鸿蒙应用ArkTS开发系列】-自定义底部菜单列表弹窗

文章目录 前言创建Demo工程创建dialog 文件夹创建ListMenu 接口创建自定义弹窗 ListMenuDialog使用自定义弹窗 打包测试效果演示默认效果菜单带图标效果设置文本颜色效果不同文本颜色效果无标题效果 前言 上一篇文章中我们实现了选择图片、选择文件、拍照的功能 。 链接在这里…...

yolov8添加ca注意力机制

创建文件 coordAtt.py 位置&#xff1a;ultralytics/nn/modules/coordAtt.py ###################### CoordAtt #### start by AI&CV ############################### # https://zhuanlan.zhihu.com/p/655475515 import torch import torch.nn as nn import t…...

linux java后台启动的几种方式

1.使用 nohup 命令 可以使用 nohup 命令启动 Java 应用程序&#xff0c;使其在后台运行&#xff0c;这样即使退出终端或关闭 SSH 连接&#xff0c;Java 应用程序也能继续运行。nohup java -jar myapp.jar &2.使用 & 符号 使用 & 符号可以将 Java 应用程序放到后台…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”&#xff0c;无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息&#xff1a; 关注测试号&#xff1a;扫二维码关注测试号。 发送模版消息&#xff1a; import requests da…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...