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,其中有一个虛函数perform(),用于在子类中实现不同的表演行为。 #include <iostream>using namespace std; class Animal { private:int weight; public:Animal(){}Animal(int weight):weight(weight){}virtual …...
leetCode 47. 全排列 II + 回溯算法 + 图解 + 笔记
给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列 示例 1: 输入:nums [1,1,2] 输出: [[1,1,2],[1,2,1],[2,1,1]] 示例 2: 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2…...
Maya 2024(3D建模、动画和渲染软件)
Maya 2024是一款非常强大的3D建模、动画和渲染软件,它提供了许多新功能和改进,以帮助建模师、动画师和渲染师更加高效地进行创作。 在建模方面,Maya 2024引入了Symmetry(对称)功能,可以在网格两侧生成均匀…...
C++作业5
完成沙发床的多继承(有指针成员) 代码: #include <iostream>using namespace std;class Bed { private:double *money; public:Bed(){cout << "Bed::无参构造函数" << endl;}Bed(double money):money(new doub…...
Go语言很难吗?为什么 Go 岗位这么少?
其实这个话题已经躺在我的 TODO 里很久了,近来很多社区的小伙伴都私下来交流,也有在朋友圈看吐槽 Go 上海的大会没什么人。还不如 Rust 大会,比较尴尬。 今天主要是从个人角度看看为什么 Go 岗位看起来近来很难的样子? 盘一下数…...
为什么要替换 Object.defineProperty?
目录 前言:为什么要替换 Object.defineProperty? 详解:为什么要替换 Object.defineProperty? 总结: 前言:为什么要替换 Object.defineProperty? JavaScript中的Object.defineProperty是一种…...
百马百担c语言编程
以下是一个百马百担问题的C语言编程实现: #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中,连续包换运算符reg的次数: #include <iostream>//return 返回匹配的字符个数 //buf, 要检测的字符串 //reg, 包含的连续运算符 int GetMatchCount(std::string& buf, std::string& reg) {int nMatchCount 0;if (reg.…...
前端依赖下载速度过慢解决方法,nrm 镜像管理工具
npm 默认镜像 :https://registry.npmjs.org/ 问题 使用 npm install 安装依赖的时候,受网络的限制,速度会很慢。 解决 使用国内镜像代理。 nrm nrm 是镜像源管理工具; 1. 安装 nrm npm install nrm --global# 查看镜像源列…...
如何为 3D 模型制作纹理的最佳方法
在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 您可以通过不同的方式为 3D 模型创建 3D 纹理。下面我们将介绍为 3D …...
智慧校园:TSINGSEE青犀智能视频监控系统,AI助力优化校园管理
随着科技的飞速发展和信息化社会的到来,智慧校园已经成为教育领域的一种新型发展模式。智慧校园的需求和发展趋势日益显现,其建设已成为当今教育信息化发展的重要方向。 TSINGSEE青犀结合高可靠、高性能的云计算、人工智能、大数据、物联网等技术&#…...
Three的lod技术
1、资源: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配置
个人主页:Lei宝啊 愿所有美好如期而遇 前言 前面我们新建了远程仓库并且在Linux上克隆了远程仓库,但是在新建仓库时我们提到会配置gitignore文件,这次我们将会配置他,并给命令起别名。 目录 前言 忽略特殊文件 给命令起别名…...
阻抗控制下机器人接触刚性环境振荡不稳定进行阻抗调节
阻抗接触 刚性环境为ke10000 虚拟阻抗为:kd100,bd10,md1 虚拟阻抗为:kd100,bd10,md5 虚拟阻抗为:kd100,bd10,md10 性能滤波函数的Bode图: bode(1e5/(0.000…...
【鸿蒙应用ArkTS开发系列】-自定义底部菜单列表弹窗
文章目录 前言创建Demo工程创建dialog 文件夹创建ListMenu 接口创建自定义弹窗 ListMenuDialog使用自定义弹窗 打包测试效果演示默认效果菜单带图标效果设置文本颜色效果不同文本颜色效果无标题效果 前言 上一篇文章中我们实现了选择图片、选择文件、拍照的功能 。 链接在这里…...
yolov8添加ca注意力机制
创建文件 coordAtt.py 位置: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 应用程序,使其在后台运行,这样即使退出终端或关闭 SSH 连接,Java 应用程序也能继续运行。nohup java -jar myapp.jar &2.使用 & 符号 使用 & 符号可以将 Java 应用程序放到后台…...
selinux-policy-default(2:2.20231119-2)软件包内容详细介绍(5)
接前一篇文章:selinux-policy-default(2:2.20231119-2)软件包内容详细介绍(4) 4. 重点文件内容解析 (1)control/postist文件 上一回解析了control/postinst文件的部分内容,本回继续往下解析。为了便于理解,再次贴出postinst完整代码: #!/bin/sh set -e# summary o…...
代码随想录二刷 |栈与队列 |理论基础
代码随想录二刷 |栈与队列 |理论基础 栈常用操作 队列常用操作 栈与队列是C标准库中的两个数据结构。 栈 栈先进后出,提供 push 和 pop 等接口,所有元素必须符合先进后出的原则,所以栈不提供走访功能,也不…...
java--接口概述
1.认识接口 ①java提供了一个关键字interface,用这个关键字我们可以定义出一个特殊的结构:接口。 ②注意:接口不能创建对象;接口是用来被类实现(implements)的,实现接口的类称为实现类。 ③一个类可以实现多个接口(接…...
出海风潮:中国母婴品牌征服国际市场的机遇与挑战!
近年来,中国母婴品牌在国内市场蓬勃发展的同时,也逐渐将目光投向国际市场。这一趋势不仅受益于中国经济的崛起,还得益于全球市场对高质量母婴产品的不断需求。然而,面对国际市场的机遇,中国母婴品牌同样面临着一系列挑…...
一文读懂MongoDB的知识点(3),惊呆面试官。
🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…...
ssm的“魅力”西安宣传网站(有报告)。Javaee项目。
演示视频: ssm的“魅力”西安宣传网站(有报告)。Javaee项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring SpringMvc MybatisVueLayuiElemen…...
怎么让SecureCRT不自动断开连接
SecureCRT 是一个常用的远程连接工具,它可能会因为会话超时或者其他设置而自动断开连接。要防止 SecureCRT 自动断开连接,你可以尝试以下方法: 1. 更改会话选项: 打开 SecureCRT 并连接到你的远程主机后,依次执行以下…...
介绍几种Go语言开发的IDE
文章目录 1.前言2.几种ide2.1 Goland2.2 VsCode示例 2.3 LiteIDE2.4 Eclipse插件GoClipse2.5 Atom2.6 Vim2.7 Sublime Text 3.总结写在最后 1.前言 Go语言作为一种新兴的编程语言,近年来受到了越来越多的关注。 它以其简洁、高效和并发性能而闻名,被广…...
1、设计模式简介(7大原则,3大类)
设计模式有7个原则:单一职责原则、开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、合成/聚合复用原则、迪米特法则 1.单一职责原则 单一职责原则又称单一功能原则,它规定一个类只有一个职责。如果有多个职责(功能&#x…...
华为鲲鹏+银河麒麟V10编译FreeSWITCH1.10.9
# uname -r 4.19.90-17.5.ky10.aarch64 本想编译FreeSWITCH1.10.7,但碰到点问题,后来改1.10.9,相对比较顺利,记录如下: 先安装工具/开发库等: yum install -y git yum install -y wget yum install -y au…...
手机网站建设比较好的公司/百度指数批量
面试官的问题层出不穷,我们在面试的时候总会被问到一些没接触的东西,所以就需要一个比较全面的面试复习,今天我就分享一个Java全能面试通关手册,希望能在面试方面帮助到大家。 大厂面试题目录阿里一面1.说⼀下ArrayList和LinkedL…...
如何自己做网站/app开发公司排行榜
Java 类路径Java 类路径告诉 java 解释器和 javac 编译器去哪里找它们要执行或导入的类。类(您可能注意到的那些 *.class 文件)可以存储在目录或 jar 文件中,或者存储在两者的组合中,但是只有在它们位于类路径中的某个地方时&…...
安装wordpress时选择中文语言失败/交易链接大全
本篇主要讲述我们日常使用中和maven相关的基础概念。后面两篇主要讲述一、按照惯例,先普及一下概念,后面会用到你也可以直接跳过,后面用到的时候,再回来看。1. mavenMaven全名叫Apache Maven,是一个软件项目管理和项目…...
小程序和app的开发成本对比/seo优化什么意思
原标题:《我的世界》村民交易系统详解《我的世界》在村庄中是可以和村民进行交易的,但是很多玩家总是发现和村民交易非常亏,今天小编就为大家带来《我的世界》村民交易系统详解,赶来来看吧。交易(Trading)系统是一种允许玩家与NPC…...
江苏嘉隆工程建设有限公司网站/如何查询关键词的搜索量
修辞目的题是托福阅读中较为常见的题型之一。而这个题型比较特殊的一点就在于既需要考生结合题目中的关键词返回原文进行定位,也需要在找到对应内容后进行一些自主思考分析才能获得正确解答。如何做好这个题型?下面广州新航道小编就通过2个实例为大家讲解应对技巧。…...
腾讯云 建立wordpress/aso优化师主要是干嘛的
下面我给大家带来一些数据库知识点和面试题。 下列的链接是我看到非常好的java基础面试题的博文推荐给大家。 http://blog.csdn.net/jackfrued/article/details/44921941/ 关系数据库这一块是非常重要的,对于我们初级程序员,数据库考察的很大一部分知…...