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

测试者必知—如何做Web测试?常见测试点总结

目录

前言:

  一、Web应用程序

  二、功能测试

  三、易用性测试(界面测试)

  四、兼容性测试

  五、安全性测试

  六、性能测试


前言:

Web测试是指对基于Web技术的应用程序进行测试,以测试其功能、性能、安全和稳定性等方面的表现。

如何做Web测试?以下为大家比较全面地总结一下Web测试的要点。

  一、Web应用程序

  应用程序有两种模式,C/S和B/S。C/S模式,即Client/Server(客户端/服务端)模式,这类程序可独立运行。B/S模式,即Browser/Server(浏览器/服务端)模式,这类程序需借助浏览器来运行。

  Web应用程序一般是B/S模式,一个Web应用程序是由完成特定任务的各种Web组件(web components)构成的并通过Web将服务展示给外界。在实际应用中,Web应用程序是由多个Servlet、JSP页面、HTML文件以及图像文件等组成。

  了解了Web应用程序,该如何进行测试呢?

  二、功能测试

  功能测试,是对产品的各功能进行验证。测试要点有:

  链接测试

  (1)所有的链接是否按指示链接到该链接的页面

  (2)所链接的页面是否存在

  (3)保证没有孤立页面

  表单测试

  (1)验证服务器能正确保存这些数据

  (2)后台运行的程序能正确解释和使用这些信息

  Cookies测试

  (1)Cookies是否起作用

  (2)Cookies是否按预定的时间进行保存

  (3)刷新对Cookies有什么影响

  设计语言测试

  (1)不同版本的设计语言会引起客户端、服务端严重的问题

  数据库测试

  (1)数据一致性错误:提交表单信息不正确

  (2)输出错误

  相关功能性测试

  (1)删除/增加某一项:是否对其他项造成影响,这些影响是否都正确

  (2)列表默认值检查

  (3)检查按钮功能是否正确:新建、编辑、删除、关闭、返回、保存、导入、上一页、下一页、页面跳转、重置(常见错误)

  (4)字符串长度检查:超出长度

  (5)字符类型检查

  (6)标点符号检查:空格、各种引号、Enter键

  (7)特殊字符:常见%、"、"

  (8)中文字符:是否乱码

  (9)检查信息完整:查看信息,查看所填信息是否完整更新;更新信息,更新信息与添加信息是否一致

  (10)信息重复:需唯一信息处,比如重复的名字或ID、重名是否区分大小写、加空格

  (11)检查删除功能:不选择任何信息,按Delete,看如何处理;选择一个或多个进行删除;多页选、翻页选删除;删除是否有提示

  (12)检查添加和修改是否一致:添加必填项,修改也该必填;添加为什么类型,修改也该什么类型

  (13)检查修改重名:修改时把不能重名的项改为已存在的内容

  (14)重复提交表单:一条已经成功提交的记录,返回后再提交

  (15)检查多次使用返回键:返回到原来页面,重复多次

  (16)搜索检查:存在或不存在内容,看搜索结果是否正确;多个搜索条件,同时输入合理和不合理条件;特殊字符

  (17)输入信息的位置

  (18)上传下载文件检查:功能是否实现,上传:上传文件是否能打开、格式要求、系统是否有解释信息、将不能上传的文件格式修改后缀为可上传的文件格式;下载:下载是否能打开、保存、格式要求

  (19)必填项检查:必填项未填写;是否有提示,如加*;对必填项提示返回后,焦点是否自动定位到必填项

  (20)快捷键检查:是否支持快捷键Ctrl+C、Ctrl+V、backspace;对不允许做输入的字段(如:下拉选项),对快捷方式是否也做了限制

  (21)Enter键检查:输入结束后按Enter键,系统如何处理

  (22)刷新键检查:按浏览器刷新键如何处理

  (23)回退键检查:按浏览器回退键如何处理

  (24)空格检查:输入项输入一个或多个空格

  (25)输入法半角全角检查:比如,浮点型,输入全角小数点"。"或". ",如4. 5;全角空格

  (26)密码检查:输入加密方式的极限字符;密码尽可能长

  (27)用户检查:不同种类管理员用户的不同权限,是否可以互相删除、管理、编辑;一般用户的权限;注销功能,老用户注销再注册,是否为新用户

  (28)系统数据检查:数据随业务过程、状态的变化保持正确,不能因为某个过程出现垃圾数据,也不能因为某个过程而丢失数据。

  (29)系统可恢复性检查:以各种方式把系统搞瘫,测试系统是否可以迅速恢复

  (30)确认提示检查:系统更新、删除操作:是否有提示、取消操作;提示是否准确;事前、事后提示

  (31)数据注入检查:对数据库注入,特殊字符,对SQL语句进行破坏

  (32)时间日期检查:时间、日期、时间验证:日期范围是否符合实际业务;对于不符合实际业务的日期是否有限制

  (33)多浏览器验证

  三、易用性测试(界面测试)

  整体界面测试

  (1)给用户的整体感:舒适感;凭感觉能找到想要找的信息;设计风格是否一致

  控件测试

  (1)各控件的功能

  多媒体测试

  (1)图形要有明确的用途,图片、动画排列有序且目的明确

  (2)图片按钮链接有效,并且链接的属性正确(比如是新建窗口打开、当前页面打开)

  (3)背景图片应该与字体颜色和前景颜色相搭配

  (4)检查图片的大小和质量:一般jpg、gif、png;不影响图片质量的情况下能使图片的大小减小到30kb以下

  (5)gif动画是否设置了正确的循环模式,颜色是否正常

  (6)Flash、Silverlight元素是否正常

  导航测试

  (1)站点地图和导航条:位置是否合理;页面结构

  内容测试

  (1)提供信息的正确性、准确性、相关性

  容器测试

  (1)DIV

  (2)表格:作为控件,设置是否正确;长宽是否足够。作为较早的网页布局方式,考虑浏览器窗口尺寸的变化;内容动态增加或删除对界面的影响

  四、兼容性测试

  平台测试:windows;unix;macintosh;linux

  浏览器测试:不同厂商的浏览器对Java、Javascript、ActiveX、plug-ins或不同的HTML的规格不同的支持;框架和层次结构在不同浏览器也不同的显示。

  五、安全性测试

  安全性测试要求:

  (1)能够对密码试探工具进行防范

  (2)能够防范对Cookie攻击的常用手段

  (3)敏感数据保证不用明文传输

  (4)能防范通过文件名猜测和查看html文件内容获取重要信息

  (5)能保证在网站收到工具后在给定时间内恢复,重要数据丢失不超过1小时

  测试要点

  (1)应用级的安全

  应用级的安全测试目的在于查找Web系统自身程序设计中存在的安全隐患,测试区域有:

  (1.1)注册与登录:有效、无效的用户名和密码;要注意是否存在大小写敏感;可以尝试多少次的限制;是否可以不登录而直接浏览某个页面。

  (1.2)在线超时:超时限制

  (1.3)操作留痕:相关信息是否写入日志

  (1.4)备份与恢复:数据库增量备份;数据库完全备份;系统完全备份

  (2)传输级的安全

  传输级的安全测试目的在于测试数据经过客户端传送到服务器可能存在的安全漏洞,服务器防范非法访问的能力,测试要点:

  (2.1)HTTPS和SSL测试;服务器端的脚本漏洞检查;测试未经授权,就不能在服务器端放置和编辑脚本问题

  (2.2)防火墙测试:防火墙功能;防火墙设置

  (2.3)数据加密测试:对介入信息的传送、存取、处理人的身份和相关内容进行验证

  (2.4)密钥:密钥的产生、分配保存、更换与销毁

  六、性能测试

  (1)压力测试:实际破坏一个Web应用系统,测试系统的反应,测试系统的限制和故障恢复能力

  (2)负载测试:在某一负载级别上的性能,包括某个时刻同时访问Web的用户数量、在线数据处理的数量

  (3)强度测试:测试对象在性能行为异常或极端条件下(如资源减少或用户过多)的可接受性,以此验证系统软硬件水平

  (4)数据库容量测试:通过存储过程往数据库表中插入一定数量的数据,看是否能及时显示

  (5)预期指标的性能测试:在需求分析和设计阶段会提出一些性能指标,对于预先确定的性能要求要首先进行测试

  (6)独立业务性能测试:对核心业务模块做用户并发测试,包括同一时刻进行完全一样的操作、同一时刻使用完全一样的功能

  (7)组合业务性能测试:模拟多用户的不同操作,最接近实际用户使用情况,按用户实际的实际使用人数比例来模拟各个模块的组合并发情况

  (8)疲劳强度性能测试:系统稳定运行情况下,以一定负载压力来长时间运行系统的测试

  (9)网络性能测试:准确展示带宽、延迟、负载、端口的变化是如何影响用户的相应时间的

  (10)大数据量性能测试:实时大数据量,模拟用户工作时的实时大数据量;极限状态下的测试,系统使用一段时间,积累一段数据量时能否正常运行,以及对前面两种进行结合

  (11)服务器性能测试:在进行用户并发性能测试、疲劳强度、大数据量性能测试时,完成对服务器性能的监控,并进行评估

  (12)一些特殊的测试:配置测试、内存泄漏的一些特殊测试

 作为一位过来人也是希望大家少走一些弯路,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!

留【自动化测试】即可

相关文章:

测试者必知—如何做Web测试?常见测试点总结

目录 前言: 一、Web应用程序 二、功能测试 三、易用性测试(界面测试) 四、兼容性测试 五、安全性测试 六、性能测试 前言: Web测试是指对基于Web技术的应用程序进行测试,以测试其功能、性能、安全和稳定性等方面的表…...

怎么转换英文音频成文字?英文音频转文字app分享

两位朋友正在讨论如何将一段英文讲座的音频转换成文字,以便于学习和理解。 Sophia:嗨,我最近听了一段非常精彩的英文讲座,但是对于我来说,理解听到的内容有些困难。你知道有什么方法可以将英文音频转换成文字吗&#…...

esp32-cam拍照上传,app inventor 制作安卓app实时显示

1、ESP32-cam开发环境配置 本例程 是利用arduino IDE开发,关于arduino IDE 的esp32环境配置可参考:环境配置: 点击跳转 安装好esp32 环境,开发板选择esp32 wrover module开发板,其他默认即可。 2 、程序下载 示例程序下载:点击下载 需要修改的信息有WIF名称,WIFI密码,…...

基于jsp+mysql+Spring+mybatis+Springboot的Springboot实现的就业信息管理平台

运行环境: 最好是java jdk 1.8,我在这个平台上运行的。其他版本理论上也可以。 IDE环境: Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以,如果编译器的版本太低,需要升级下编译器,不要弄太低的版本 tomcat服务器环…...

阿里巴巴内部10w字Java面试小抄火了,完整版开放下载

Java 面试 “金九银十”这个字眼对于程序员应该是再熟悉不过的了,每年的金九银十都会有很多程序员找工作、跳槽等一系列的安排。说实话,面试中 7 分靠能力,3 分靠技能;在刚开始的时候介绍项目都是技能中的重中之重,它…...

Logback自定义DBAppender保存系统日志到数据库

在系统中采用了spring boot logback+slf4j的日志框架,将系统日志记录到数据库。 相关参考来源: 官方文档-DBAppender Logback输出日志到自定义MySQL数据库(重写DBAppender) logback日志框架中filter的使用 1. 添加依…...

云原生之使用Docker部署LimeSurvey在线调查工具

云原生之使用Docker部署LimeSurvey在线调查工具 一、LimeSurvey介绍1.1 LimeSurvey简介1.2 LimeSurvey特点1.3 LimeSurvey使用场景1.4 LimeSurvey支持版本二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.检查doc…...

sdbusplus:添加ObjectManager interface

ObjectManager接口可以一次性拿到对象及子对象的所有property,在交互中经常会用到。 sdbusplus提供了add_manager完成该接口的添加: //server_obj.cpp #include <sdbusplus/asio/connection.hpp> #include <sdbusplus/asio/object_server.hpp> #include <sd…...

“RAID0 vs RAID1 vs RAID5 vs RAID6 vs RAID10:哪种RAID级别最适合你的需求?“

概要&#xff1a; RAID&#xff08;Redundant Array of Independent Disks&#xff09;是一种数据存储技术&#xff0c;可以将多个硬盘组合起来以提高性能、可靠性和容错能力。下面是几种常见的RAID级别&#xff0c;以及它们的用途和特点。 目录 RAID 0RAID 1RAID 5RAID 6RAID…...

【MySQL】Mycat

文章目录 什么是Mycat为什么要用Mycatmycat能干什么各数据库中间件对比Mycat原理数据库中间件逻辑库逻辑表分片表分片规则全局表ER表非分片表分片节点节点主机mycat安装mycat核心配置schema.xmlserver.xmlrule.xml加密明文密码&#xff08;可选&#xff09; MyCat读写分离垂直拆…...

Netty中ServerBootstrap类介绍

一、Netty基本介绍 Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具&#xff0c;用以快速开发高性能、高可靠性的网络服务器和客户端程序。Netty 在保证易于开发的同时还保证了其应用的性能&#xff0c;稳定性和伸缩性。 Netty 是一…...

数字图像处理实验报告

目录 实验二、图像在空间域上的处理方法 实验三、图像在频率域上的处理方法 实验二、图像在空间域上的处理方法 一、实验目的 了解图像亮&#xff08;灰&#xff09;度变换与空间滤波的意义和手段&#xff1b;熟悉图像亮&#xff08;灰&#xff09;度变换与空间滤波的MATLA…...

【C51】10-基础51单片机的小车项目(51完结)

10.1小车的安装 10.2电机模块的开发&#xff08;L9110S&#xff09; 接通 VCC &#xff0c; GND 模块电源指示灯亮&#xff0c; 以下资料来源官方&#xff0c;但是不对&#xff0c;根据下节课实际调试 IA1 输入高电平&#xff0c; IA1 输入低电平&#xff0c;【 OA1 OB1 】电…...

进程、线程、锁阶段总结汇总

目录 进程 线程 锁 由于进程线程和锁的方面比较陌生&#xff0c;并且繁杂&#xff0c;所以简单总结一下学习到的函数API 进程 子进程创建 fork(); 进程结束 exit(); 进程回收 wait(); 进程回收 waitpad(); //函数可以指定进程组中的任意子进程&#xff0c;可以设置特殊…...

Filters.jar图片转素描

链接&#xff1a;https://pan.baidu.com/s/1ATlC2l1I83TPYFomHiWuFg?pwd2vm5 提取码&#xff1a;2vm5...

将MSYS2 MinGW集成到Windows终端

微软开发了一款Windows终端的开源软件&#xff0c;非常好用。安装后在Win7及以上系统会在右键菜单中添加一条“在终端中打开”的命令&#xff0c;非常方便。它默认配置了Windows命令行以及PowerShell&#xff0c;如果安装了Visual Studio 2022还会配置Visual Studio 2022的命令…...

SpringBoot项目使用slf4j的MDC日志打点功能

SpringBoot项目使用slf4j的MDC日志打点功能 物料准备&#xff1a; 1.自定义1个线程MDC打点工具类 2.配置logback打印MDC打点的traceId 3.配置webMVC使用MDC打点 4.配置ThreadPoolTaskExecutor使用MDC打点 5.配置HttpClient使用MDC打点 6.测试MDC日志打点效果 线程mdc打…...

宝塔修改默认端口后面板打不开

1、查看防火墙开启的端口&#xff0c;发现没有开启8888 [rootVM-12-12-centos ~]# firewall-cmd --list-ports 20/tcp 21/tcp 22/tcp 80/tcp 888/tcp 8081/tcp 39000-40000/tcp 8081/udp 2、防火墙开启8888端口 [rootVM-12-12-centos ~]# firewall-cmd --zonepublic --add-por…...

tinkerCAD案例:3.基本按钮

基本按钮 在本课中&#xff0c;您将学习制作具有圆柱形状的基本按钮。 说明 将圆柱体拖动到工作平面。 将其缩小到 2 毫米的高度。 提示&#xff1a; 您可以使用圆柱形状顶部的白点缩小圆柱体。 将其缩小到直径 16 毫米。 这将是按钮的主要形状。 现在我们可以创建允许将纽…...

客户线上反馈:从信息搜集到疑难 bug 排查全流程经验分享

写在前面&#xff1a;本文是我在前端团队的第三次分享&#xff0c;应该很少会有开发者写客户反馈处理流程以及 bug 排查的心得技巧&#xff0c;全文比较长&#xff0c;写了一个多星期大概1W多字&#xff08;也是我曾经2年工作的总结&#xff09;&#xff0c;如果你有耐心阅读&a…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了&#xff0c;要么要会员、要么写的乱七八糟。这里我整理一下&#xff0c;把问题说清楚并且给出代码&#xff0c;拿去用就行&#xff0c;照着葫芦画瓢。 问题 在继承QWebEngineView后&#xff0c;重写mousePressEvent或event函数无法捕获鼠标按下事…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发&#xff0c;实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构&#xff0c;服务器端使用Java Servlet处理请求&#xff0c;数据库采用MySQL存储信息&#xff0…...

c++第七天 继承与派生2

这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分&#xff1a;派生类构造函数与析构函数 当创建一个派生类对象时&#xff0c;基类成员是如何初始化的&#xff1f; 1.当派生类对象创建的时候&#xff0c;基类成员的初始化顺序 …...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能

指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...