【Web测试】各类web控件测试点汇总,软测人必备

news2024/9/29 15:20:58

一 、界面检查

进入一个页面测试,首先是检查title,页面排版,字段等,而不是马上进入文本框校验
1、页面名称title是否正确
2、当前位置是否可见 您的位置:xxx>xxxx
3、文字格式统一性
4、排版是否整齐
5、列表项显示字段是否齐全,列表项字段名称是否跟表单统一
6、同一页面,是否出现 字段名称相同、值取不同的问题。
7、数据加载情况:除了文本框的值,还要注意:
  复选框,是否保存打√,或者保存不打√
  下拉框,是否保存选择的值
  多文本框,值是否都被保存,空格,换行是否保存

二、单文本框(type=text)

边界:字段长度
  判空:是否可以为空
  唯一性:是否唯一(小归结:边界、判空、唯一性、特殊字符、正确性)
  考虑语言,操作环境
  特殊符号测试输入:
’ or 1<>'1 ’ or ‘1’='1 ’ or ‘1’<>'2 "|?><
where a=‘xxx’   下划线是否允许  输入全部空格 输入 单引号

>

特殊字段输入限定:
  框内容是否合法(tel,ip,url,email)序号等,直接限制输入数字,其他过滤掉
  输入金额文本框,整数首位为0,过滤掉,小数点后面,一般保留两个有效数字。

正确性测试:(必不可少的步骤)
1)、(字段长度输入最大允许长度时)数据允许长度的测试:
a、页面是否被挤出的测试(都输入长英文字符串,是否断行);
b、数据库是否允许最大字符(都输入汉字、都输入英文、混合……);
c、最短长度的正确流程,最大长度的正确流程覆盖。
2)、对于允许为空的字段,不填入,再次数据传递后,看是否报500错误。
3)、未规定字段长度(或者数值大小),不按死板输入,输入非常多字符(或者非常大的数值)时,做允许动作的正确性校验,看是否报错。(要达到的结果:不管有没有长度限制(没有给最长、最大限制让你去测?),最终页面不能抛数据库异常。)monkeytest
  说明:通过不断输入长字符串,看是否有长度校验;
  最终都会出现以下两种情况的一种:
A、页面(前台)有校验长度、大小; 或者
B、无校验,数据库报错。
  所以: 所有字段都要做长度、大小限制(不管需求有没有给出明确要求,不管测试颗粒度,都要限制长度,不允许报数据库错误,都要测!!!)。最大长度限制可限定方法:1、不允许再输入;2、自动截断处理,并且给用户提示。

关于长度概念:
1、 数据库规定的字节长度A
2、 页面上可以输入的字符数B
  控制方法:
1)、页面上,不管输入什么字符(全角如汉字、半角如字母),统一规定不能超过B个字符,此种限制,
  测试点:全部输入全角B个,测试(B3字节)会不会超过数据库字节长度
  全部输入半角B个,测试(B
1字节)会不会超过数据库字节长度
  混合输入全角X半角Y,测试(X3+Y字节)会不会超过数据库长度
2)、页面上,不以字符统计,以总的输入字节数统计,比如,全部输入全角字符,允许可以输入A/3个字符,全部输入半角字符,允许输入A个字符( 民生网的设计)
  测试点:全部输入全角,看是否允许输入A/3个字符
  全部输入半角,看是否允许输入A个字符
  混合输入全角X,半角Y,看是否允许X
3+Y=A
(5个:判空、唯一、边界值、特殊字符、正确流程(多种数据、多种分支))
+测试校验位置:ajax鼠标事件校验、前台提交按钮js校验,服务器拿到数据后再次验证

三、多文本框(type=textarea)

1)、空格和换行的问题,看需求,是否需要做支持HTML Encoding
  输入全部空格时,是否判空处理?””空格, 。
  输入折行,是否也显示折行?
  比如:列点说明原因,就需要支持。
2)、字母截断的问题
  对于一串字母,开发人员往往会忘掉做截断,这样如果展示在我们的平台上的话,这一串字母就会把我们的UI撑开
3)、长度控制格式, 您还可以输入***个字符

四、添加按钮

添加动作检查范围:
  失败:是否提示
  提示内容是否正确
  失败时:保存用户已输入的内容,避免重新再输入
  成功:对话框消失
  记录是否可直接查看(还需要刷新?)
  列表记录顺序
  重复提交情况,点击一次后,是否变成disable
  上传附件的添加:
A. 文件名称:文件名称很长;文件名称字符多样化(汉字,英文,符号);文件名称重复。
B. 判空?
C. 附件格式类型支持?
D. 附件个数?
E. 附件空间大小。

五、移除按钮

1.一般都要在前台先给出一个提示操作“确定移除该……”
2.相关联的东西,是否需要限制移除“该类型下存在应用,无法移除”有到后台比较
3.确定后,真正执行移除操作。
  结果:
  移除后,列表数据是否立即消失。
  必须有确认删除的提示信息

六、列表

1)、列表记录顺序
2)、是否需要翻页、有没有翻页功能
3)、字段名称是否与表单一致

七、搜索-文本框

1、功能点、需求点考虑:
  是否提供模糊查询、输入数值有种类有限定时,是否考虑换成下拉框搜索;
2、检查点:
  文本框值是否消失(是否回填条件值),再次点击“查询”可查看所有记录;
  考虑搜索结果:是否存在分页,分页是否正常;是否有序;
  注意:分页是否仍保存查询条件,检查后面的记录是否符合条件
3、查询数据多样性:
  输入不存在的字段值测试、包括特殊字符查询测试例如:’ or ‘1’='1;
  输入类似程序语句的条件时是否执行查询,如:XXXX”、XXX and ;
4、操作类型:

  1. 不输入的查询
  2. 输入全部空格的查询
  3. 模糊查询(输入部分字段,或者说,输入英文字母,查询到相关中文数据)
  4. 输入不存在的查询
  5. 输入存在的查询
  6. 单个查询和多个条件复合查询。

八、搜索-下拉框

检查点:
a) 搜索结果是否有序;
b) 下拉框值是否齐全;(下拉框值本身也是一个动态查询的结果)
c) 下拉框值是否自动消失,再次点击“查询”可查看所有记录(是否要回填条件值);
d) 分页时,是否保存搜索条件。
  (从UI、开发、业务逻辑、用户使用等角度测试)
PS:
  以上总结的, 是比较纯粹的从页面控件角度测试点出发, 对于完整测试一个整体页面,需要各类测试有机结合起来:
1)UI测试:
  页面布局; 页面样式检查;控件长度是否够长;显示时,是否会被截断;支持的快捷键,Tab键切换焦点顺序正确性等。
2)功能测试:页面上各类控件的测试范围,测试点,可参考上方
  结合控件的实际作用来补充检查点: 比如, 密码框是否*显示, 输入是否做trim处理等
3)安全测试:输入特殊字符,sql注入,脚本注入测试
  后台验证测试,对于较重要的表单 ,绕过js检验后台是否验证
  数据传输是否加密处理,比如, 直接请求转发,地址栏直接显示发送字符串?
  数据库存储,特别密码等,是否加密形式存储
4)兼容性测试
5)性能测试

学习安排上

如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

在这里插入图片描述

视频文档获取方式:

这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片进群即可自行领取

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

leetcode: 3Sum

leetcode: 3Sum1. 题目描述2. 思考3. 解题3. 总结1. 题目描述 Given an integer array nums, return all the triplets [nums[i], nums[j], nums[k]] such that i ! j, i ! k, and j ! k, and nums[i] nums[j] nums[k] 0. Notice that the solution set must not contain …

爬虫Python入门好学吗?学什么?

爬虫Python入门好学吗&#xff1f;学爬虫需要具备一定的基础&#xff0c;有编程基础学Python爬虫更容易学。但要多看多练&#xff0c;有自己的逻辑想法。用Python达到自己的学习目的才算有价值。如果是入门学习了解&#xff0c;开始学习不难&#xff0c;但深入学习有难度&#…

2022年12月电子学会Python等级考试试卷(一级)答案解析

青少年软件编程&#xff08;Python&#xff09;等级考试试卷&#xff08;一级&#xff09; 一、单选题(共25题&#xff0c;共50分) 1. 关于Python语言的注释&#xff0c;以下选项中描述错误的是&#xff1f;&#xff08; &#xff09; A. Python语言有两种注释方式&…

JavaEE16-Spring事务和事务传播机制

目录 1.为什么需要事务&#xff1f; 2.MySQL中事务的使用 3.Spring中事务的实现 3.1.编程式事务&#xff08;手动写代码操作事务&#xff09; 3.2.声明式事务&#xff08;利用注解自动开启和提交事务&#xff09;(使用为主) 3.2.1.Transactional作用范围 3.2.2.Transact…

JetpackCompose从入门到实战学习笔记8—ConstraintLayout的简单使用

JetpackCompose从入门到实战学习笔记8—ConstraintLayout的简单使用 1.简介&#xff1a; Compose 中的 ConstraintLayout ConstraintLayout 是一种布局&#xff0c;让您可以相对于屏幕上的其他可组合项来放置可组合项。它是一种实用的替代方案&#xff0c;可代替使用多个已嵌…

JVM垃圾回收机制GC理解

目录JVM垃圾回收分代收集如何识别垃圾引用计数法可达性分析法引用关系四种类型&#xff1a; 强、软、弱、虚强引用软引用 SoftReference弱引用 WeakReferenceWeakHashMap软引用与虚引用的使用场景虚引用与引用队列引用队列虚引用 PhantomReference垃圾回收算法引用计数复制 Cop…

06- 梯度下降(SGDRegressor) (机器学习)

梯度下降算法也是先构建误差值的函数, 通过求误差值函数的最小值来达到误差最小的目的, 不过梯度下降是先随机取值, 然后求函数在该点的导数, 如果导数为正, 下一次取值向反方向移动, 如果导数为负, 正向移动, 直到导数取值极小时, 认定误差达到一个可以接受的范围, 然后导出相…

解读手机拍照的各个参数(拍照时,上面会有6个符号)

1第一个符号是闪光灯符号&#xff0c;如下图所示。有四种模式&#xff0c; 手机的闪光灯分别为关闭、自动、开启和常亮四种状态。 关闭&#xff1a;就是在任何情况下都不会闪光 自动&#xff1a;由手机来判断此时的光线强弱&#xff0c;若手机测光认为光线太弱&#xff0c;则…

前端限制 git commit 提交格式

团队开发中&#xff0c;每个人 git commit 的习惯都不一样&#xff0c;这样不利于对更新日志的筛选&#xff0c;也可以防止同事跑路后&#xff0c;出现 bug 后&#xff0c;看不懂他当时提交的日志究竟是改了个 bug 还是新增了一个功能&#xff0c;影响开发效率。 这时候就需要…

springboot驾校报名系统 微信小程序

系统分为用户和管理员&#xff0c;驾校教练三个角色 用户微信小程序端的主要功能有&#xff1a; 1.用户注册和登陆系统 2.用户查看驾校教练信息 3.用户查看驾校信息 4.用户查看驾校的车辆信息 5.用户查看驾校考试信息&#xff0c;在线报名考试 6.用户可以在线预约驾校的教练 7.…

深度学习笔记--修改、增加和删除预训练模型的特定层

目录 1--前言 2--初始化 VGG16 模型 3--修改特定层 4--新增特定层 5--删除特定层 6--固定预训练模型的权重 7--综合应用 1--前言 基于 Pytorch&#xff0c;以 VGG16 模型为例&#xff1b; 2--初始化 VGG16 模型 from torchvision import models# 初始化模型 vgg16 mo…

Java 反射详解

一、反射 1、什么是反射 反射允许对成员变量、成员方法和构造器的信息进行编程访问。 补充:暴力反射,非public修饰需要打开权限 setAccessible(boolean) 2、反射的作用 利用反射创建的对象可以无视修饰符调用类里面的内容可以跟配置文件结合起来使用&#xff0c;把要创建的对象…

【Jest】Jest单元测试环境搭建

文章目录前言1、项目环境搭建初始化仓库安装ts环境安装jest环境2、初始化项目文件夹前言 今天开始&#xff01;&#xff01;&#xff01;学习vue源码&#xff0c;那么要学习源码前首先要了解Jest。 https://www.jestjs.cn/ 官网自带中文非常友好&#xff01; 1、项目环境搭建…

【C++面试问答】搞清楚深拷贝与浅拷贝的区别

问题 深拷贝和浅拷贝的区别是面试中的常见问题之一&#xff0c;对于不同的编程语言&#xff0c;这个问题的回答可能稍有差别&#xff0c;下面我们就来探索一下它们之间的异同吧。 先来看看在JavaScript对象的深拷贝与浅拷贝的区别&#xff1a; 浅拷贝&#xff1a;只是复制了…

Postgresql 根据单列或几列分组去重row_number() over() partition by

Postgresql 根据单列或几列分组去重row_number() over() partition by 一般用于单列或者几列需要去重后进行计算值的 count(distinct(eid)) 可以 比如有个例子&#xff0c;需要根据名称&#xff0c;城市去筛选覆盖的道路长度&#xff0c;以月因为建立了唯一索引是ok的&#…

前端项目集成Vite配置一览无余

Vite配置文件 默认指定&#xff1a;vite.config.js。自定义指定&#xff1a;vite --config 自定义名称.js。 Vite相关命令 查看Vite有哪些命令&#xff1a;npx vite -help。 --host [host]// 指定域名 --port <port>// 指定端口 --https // 使用 TLSHTTP/2 --cors //…

Spring 中 ApplicationContext 和 BeanFactory 的区别

文章目录类图包目录不同国际化强大的事件机制&#xff08;Event&#xff09;底层资源的访问延迟加载常用容器类图 包目录不同 spring-beans.jar 中 org.springframework.beans.factory.BeanFactoryspring-context.jar 中 org.springframework.context.ApplicationContext 国际…

HTTP 和 HTTPS 的区别

文章目录前言一、HTTP 与 HTTPS 的基本概念HTTPHTTPS二、HTTP 和 HTTPS协议的区别前言 浏览网站时&#xff0c;我们会发现网址有两种格式&#xff0c;一种以http://开头&#xff0c;一种https://开头。好像这两种格式差别不大&#xff0c;只多了一个s&#xff0c;实际上他们有…

Java零基础教程——数组

目录数组静态初始化数组数组的访问数组的动态初始化元素默认值规则&#xff1a;数组的遍历数组遍历-求和冒泡排序数组的逆序交换数组 数组就是用来存储一批同种类型数据的容器。 20, 10, 80, 60, 90 int[] arr {20, 10, 80, 60, 90}; //位置 0 1 2 3 4数组的…

死锁的原因及解决方法

❣️关注专栏&#xff1a; JavaEE 死锁☘️1.什么是死锁☘️2.死锁的三个典型情况☘️2.1情况一☘️2.2情况二☘️2.2.1死锁的代码展示☘️2.3多个线程多把锁☘️3死锁产生的必要条件☘️3.1互斥性☘️3.2不可抢占☘️3.3请求和保持☘️3.4循环等待☘️4如何避免死锁☘️4.1避免…