4年测试工程师,常用功能测试点总结,“我“不再走弯路...

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

输入框测试

1、字符型输入框
字符型输入框:英文全半角、数字、空或者空格、特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号。禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入。

长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超长字符比如把整个文章拷贝过去。

空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格

多行文本框输入:允许回车换行、保存后再显示能够保存输入的格式、仅输入回车换行,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常提示)

2、数值型输入框
边界值:最大值、最小值、最大值+1、最小值-1;
位数:最小位数、最大位数、最小位数-1、最大位数+1、输入超长值、输入整数;

异常值、特殊字符:输入空白(NULL)、空格或"~!@#$%等可能导致系统错误的字符、禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交。输入负整数、负小数、分数、输入字母或汉字、小数、科学计数法是否支持1.0E2、全角数字与半角数字、数字与字母混合

安全性检查:不能直接输入就copy;
对于必填项,先录入再删除是否可以提交成功;或者先录入错误数据再改为正确数据是否可提交成功 。

录入小数然后全选,直接录入新值,是否可正常录入;(可能出现小数全选后无法直接填写新值)

3、日期型输入框
合法性检查:输入0月,13月,32日等,闰年2月的处理方式等

异常值、特殊字符:输入空格或空、输入~!@#¥%……&*(){}[]等可能导致系统错误的字符

安全性检查:不能直接输入,就copy,是否数据检验出错

4、信息重复:在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理.

搜索功能测试

1、功能实现
如果支持模糊查询,搜索名称中任意一个字符是否能搜索到;
比较长的名称是否能查到;
输入系统中不存在的与之匹配的条件;
用户进行查询操作时,一般情况是不进行查询条件的清空,除非需求特殊说明。

2、组合测试
不同查询条件之间来回选择,是否出现页面错误(单选框和多选框最容易出错)

测试多个查询条件时,要注意查询条件的组合测试,可能不同组合的测试会报错。

查询结果的分页,一直点击到最后一页,查看是否有重复数据(可能会出现虚数据的情况)

添加/修改功能

特殊键:是否支持Tab键;是否支持回车键
提示信息:不符合要求的地方是否有错误提示
唯一性:字段唯一的,是否可以重复添加,添加后是否能修改为已存在的字段(字段包括区分大小写以及在输入的内容前后输入空格,保存后,数据是否真的插入到数据库中,注意保存后数据的正确性)

数据正确性:
对编辑页的每个编辑项进行修改,点击保存,是否可以保存成功,检查想关联的数据是否得到更新。
进行必填项检查)
在编辑的时候,注意编辑项的长度限制,有时在添加的时候有,在编辑的时候却没有(注意要添加和修改规则是否一致)
提交数据时,连续多次点击,查看系统会不会连续增加几条相同的数据或报错。

删除功能

特殊键:是否支持Tab键;是否支持回车键
提示信息:
不选择任何信息,直接点击删除按钮,是否有提示
删除某条信息时,应有确认提示

数据实现:
删除一条记录时,是否可以删除成功
如系统支持批量删除,注意删除的信息是否正确
删除数据时,要注意相应查询页面的数据是否及时更新
如删除的数据与其他业务数据关联,要注意其关联性

上传图片功能测试

文件类型正确、大小合适,查看能否上传成功
文件类型正确,大小不合适,查看是否给出提示
文件类型错误,大小合适,查看是否给出提示
文件类型大小都合适,手动输入存在的图片地址来上传
文件类型和大小都合适,输入不存在的图片地址来上传
不选择文件直接点击上传,查看是否给出提示
连续多次选择不同的文件,查看是否上传最后一次选择的文件
文件名校验,文件名内容(如含特殊字符,大小写混合,数字,汉字) ,文件名长度
文件名后缀大写, 是否作处理
对于有图片数量限制的批量上传是否控制
批量上传过程中有传输失败的图片如何处理,是直接删除还是提示上传失败
图片选择一些较特殊的图片,设计出高分辨率或过小的图片

查询结果列表

列表、列宽是否合理
列表数据太宽有没有提供横向滚动
列表的列名有没有与内容对应
列表的每列的列名是否描述的清晰
列表是否把不必要的列都显示出来

返回键检查

一条已经成功提交的记录,返回后再提交,是否做了处理
检查多次使用返回键的情况,在有返回键的地方,返回到原来的页面多次,查看是否会出错

回车键检查

在输入内容后,直接按回车键,系统如何响应,是否会报错

刷新键检查

Web页面中,使用F5,查看系统响应,是否会有错误或异常。(如:切换到非默认tab,然后刷新页面,页面会切换到默认tab,但tab下的内容仍是上个tab的内容)
对于增加了统计功能的页面,是否刷新会增加统计次数。(如浏览量、阅读量等)

直接URL链接检查(盗链问题)

在Web系统中,在地址栏直接输入各个功能页面的URL地址,看系统如何处理,是否能够直接链接查看(匿名查看),是否有权限控制,是否直接执行,并返回相应结果页。

并发问题

同一个用户操作:同一个用户分别登录两个浏览器,在一个浏览器中作提交后,在另一个浏览器中是否仍可提交成功 ,是否有权限控制,是否有合理提示(如状态变化等)。

不同用户操作无序提交时是否有合理提示。

业务流程测试

业务流程一般会涉及到多个模块的数据,所以在对业务流程测试时,首先要保证单个模块功能的正确性,其次就要对各个模块间传递的数据进行测试,这往往是容易出现问题的地方,测试时一定要设计不同的数据进行测试。

界面和易用性测试

备注:界面一般由UI来测试,某些特殊流程需要由测试给出页面或数据,让UI确认是否符合当初设计理念。需要注意的是,前端经常对某些行间距、字体及Hover效果不能很好把握。

风格、样式、颜色是否协调
界面布局是否整齐、协调
界面操作、标题描述是否恰当
操作是否符合人们的常规习惯
界面中各个控件是否对齐
日期控件是否可编辑
信息比较长的文本,文本框有没有提供自动垂直滚动条
是否支持Tab键,跳转顺序是否条理
用滚动条移动页面时,页面的控件是否显示正常
页面是否有多余按钮或标签
执行风险操作时,是否有确认提示,如删除、移除、注销确认
页面分辨率检查,在各种分辨率下浏览系统检查系统界面友好性

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

心怀信念,追逐梦想的路上别畏惧,砥砺前行。困难是历练,失败是成长,坚持奋斗才能看到希望的光芒。勇敢追求,超越自我,开创属于自己的辉煌篇章!

披荆斩棘,向前奋进,梦想的道路上不畏艰辛。锲而不舍,勇敢冲破,相信自己的力量将创造奇迹。脚踏实地,火热追求,用汗水铺就属于自己的壮丽人生!

勇敢地跨出那一步,挑战不可能;努力地追求梦想,无畏困境。每一次的付出都是积累,每一次的坚持都是成长,相信自己的力量,创造属于自己的辉煌篇章!

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

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

相关文章

MySQL的JSON操作

官网地址 1. MySQL json介绍 As of MySQL 5.7.8, MySQL supports a native JSON data type defined by RFC 7159 that enables efficient access to data in JSON (JavaScript Object Notation) documents. Automatic validation of JSON documents stored in JSON columns. …

【消息中间件】原生PHP对接Uni H5、APP、微信小程序实时通讯消息服务

文章目录 视频演示效果前言一、分析二、全局注入MQTT连接1.引入库2.写入全局连接代码 二、PHP环境建立总结 视频演示效果 【uniapp】实现买定离手小游戏 前言 Mqtt不同环境问题太多,新手可以看下 《【MQTT】Esp32数据上传采集:最新mqtt插件(支…

PHP: 开发入门macOS系统下的安装和配置

安装Homebrew 安装 ~~友情提示:这个命令对网络有要求,可能需要翻墙或者用你的手机热点试试,或者把DNS换成(114.114.114.114 和 8.8.8.8) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebr…

【【胎教级51单片机智能小车设计】】

胎教级51单片机智能小车设计 从现在开始开一个新坑 称为创意工坊 主要更新一些有意思的设计 第一次手把手更新51单片机智能小车 胎教级教学人人都会 单片机实现的功能是通过蓝牙APP 控制小车前后左右移动 先讲明白这个小车 后续再在这个小车上更新其他的设计 成品图 第一步…

分库分表之基于Shardingjdbc+docker+mysql主从架构实现读写分离(一)

说明:请先自行安装好docker再来看本篇文章,本篇文章主要实现通过使用docker部署mysql实现读写分离,并连接数据库测试。第二篇将实现使用Shardingjdbc实现springboot的读写分离实现。 基于Docker去创建Mysql的主从架构 #创建主从数据库文件夹…

Rocky(centos) jar 注册成服务,能开机自启动

概述 涉及:1)sh 无法直接运行java命令,可以软连,此处是直接路径 2)sh脚本报一堆空格换行错误:需将转成unix标准格式; #切换到上传的脚本路径 dos2unix 脚本文件名.sh 2)SELINUX …

如何使用STAR原则优化项目管理?

介绍STAR原则 1.1 STAR原则的定义 STAR原则是一个行为面试技术,即Situation(情境)、Task(任务)、Action(行动)和Result(结果)。这种原则被广泛应用在职业面试中&#x…

PROFINet转Modbus协议转换网关Profinet数据通讯模块

产品概述 你是否曾经遇到过不同网络协议之间的沟通问题?捷米特JM-RTU-PN为你解决这个难题! 捷米特JM-RTU-PN是一款数据通讯模块,能够实现PROFINet网络与Modbus网络之间的数据传输。它可以将RS485网络连接到PROFINet网络,并支持不…

【iOS】—— UIKit相关问题

文章目录 UIKit常用的UIKit组件懒加载的优势 CALayer和UIView区别关系 UITableViewUITableView遵循的两个delegate以及必须实现的方法上述四个必须实现方法执行顺序其他方法的执行顺序: UICollectionView和UITableView的区别UICollectionViewFlowLayout和UICollecti…

mysql进阶-用户的创建_修改_删除

1. 使用mysql单次查询 [rootVM-4-6-centos /]# mysql -h localhost -P 3306 -p mytest -e "select * from book1"; Enter password: ------------------------------------------- | id | category_id | book_name | num | ----------------------------…

第七章 图论

第七章 图论 一、数据结构定义 图的邻接矩阵存储法#define MaxVertexNum 100 // 节点数目的最大值// 无边权,只用0或1表示边是否存在 bool graph[MaxVertexNum][MaxVertexNum];// 有边权 int graph[MaxVertexNum][MaxVertexNum];图的邻接表存储法 把所有节点存储为…

Java版工程行业管理系统源码-专业的工程管理软件- 工程项目各模块及其功能点清单 em

 Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个&…

UNITY随记(八) SHADER实现立方体CUBE显示边框,描边

Shader "Vitens/CubeOutline"{Properties{_Color("Color", color) (1,1,1,1)_Width("Width", range(0,0.5)) 0.1}SubShader{Tags { "Queue""Transparent" }Pass {//如果要显示背面的线框,取消下面两个注释即可…

【etcd】docker 启动单点 etcd

etcd: v3.5.9 etcd-browser: rustyx/etcdv3-browser:latest 本文档主要描述用 docker 部署单点的 etcd, 用 etcd-browser 来查看注册到 etcd 的 key 默认配置启动 docker run -d --name ai-etcd --networkhost --restart always \-v $PWD/etcd.conf.yml:/opt/bitn…

Redis系列二:Clion+MAC+Redis环境搭建

1. ClionMACRedis-3.0-annotated环境搭建 参考: https://github.com/huangz1990/redis-3.0-annotated https://gitee.com/dumpcao/redis-3.0-annotated-cmake-in-clion https://tool.4xseo.com/a/12910.html 1.1 下载并导入Clion git clone https://gitee.com/dum…

LabVIEW开发多材料摩擦电测量控制系统

LabVIEW开发多材料摩擦电测量控制系统 摩擦电效应是两个物体摩擦在一起,电荷从一个物体转移到另一个物体的现象,从而导致两个物体携带相等和相反的电荷。接触和充电是主导该过程的两个关键因素。当静电荷累积到一定水平时,可能会出现放电现象…

Netty自定义消息协议的实现逻辑处理粘包拆包、心跳机制

Netty 自定义消息协议的实现逻辑自定义编码器 心跳机制实现客户端发送心跳包 自定义消息协议的实现逻辑 消息协议:这一次消息需要包含两个部分,即消息长度和消息内容本身。 自定义消息编码器︰消息编码器将客户端发送的消息转换成遵守消息协议的消息&…

关于latch up的重读

衬底电流容易导致寄生三极管导通(衬底电阻衬底电流》衬底压差),更容易触发latchup; 一般常用的实际产品中会用衬底隔离的器件来做负压器件;用DNW&NBL组成一个隔离盆将整个负压区和正常电路分开,DNW&NBL接高电压&#xff1…

抄写Linux源码(Day7:读闪客文章第二回 “自己给自己挪个地儿”)

闪客文章地址:https://mp.weixin.qq.com/s?__bizMzk0MjE3NDE0Ng&mid2247499274&idx1&sn23885b5b1344a1425f5a971d06ad2e7d&chksmc2c584a7f5b20db1b0a75ea896e7218a9f8bcd006e68f53693bab240b13f9e2fb0ec0c9b9a6a&cur_album_id2123743679373688…

iMX6ULL驱动开发 | 让imx6ull开发板支持usb接口FC游戏手柄

手边有一闲置的linux开发板iMX6ULL一直在吃灰,不用来搞点事情,总觉得对不住它。业余打发时间就玩起来吧,总比刷某音强。从某多多上8块儿大洋买来一个usb接口的游戏手柄,让开发板支持以下它,后续就可以接着在上面玩童年…