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

软件测试13个最容易犯的错误

目录

一、 输入框测试

二、 搜索功能测试

三、 添加/修改功能

四、 删除功能

五、 上传图片功能测试

六、 查询结果列表

七、 返回键检查

八、 回车键检查

九、 刷新键检查

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

十一、并发问题

十二、 业务流程测试

十三、 界面和易用性测试


一、 输入框测试

  1. 字符型输入框:

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

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

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

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

  2. 数值型输入框:

  (1)边界值:最大值、最小值、最大值+1、最小值-1

  (2)位数:最小位数、最大位数、最小位数-1、最大位数+1、输入超长值、输入整数

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

  (4)安全性检查:不能直接输入就copy

  (5)对于必填项,先录入再删除是否可以提交成功;或者先录入错误数据再改为正确数据是否可提交成功 。

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

  3. 日期型输入框:

  (1)合法性检查:输入0月,13月,32日等,闰年2月的处理方式等

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

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

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

二、 搜索功能测试

  1. 功能实现:

  (1)如果支持模糊查询,搜索名称中任意一个字符是否能搜索到

  (2)比较长的名称是否能查到

  (3)输入系统中不存在的与之匹配的条件

  (4)用户进行查询操作时,一般情况是不进行查询条件的清空,除非需求特殊说明。

  2. 组合测试:

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

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

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

三、 添加/修改功能

  1. 特殊键:(1)是否支持Tab键 (2)是否支持回车键

  2. 提示信息:(1)不符合要求的地方是否有错误提示

  3. 唯一性:字段唯一的,是否可以重复添加,添加后是否能修改为已存在的字段(字段包括区分大小写以及在输入的内容前后输入空格,保存后,数据是否真的插入到数据库中,注意保存后数据的正确性)

  4.数据正确性:

  (1)对编辑页的每个编辑项进行修改,点击保存,是否可以保存成功,检查想关联的数据是否得到更新。

  (2)进行必填项检查)

  (3)在编辑的时候,注意编辑项的长度限制,有时在添加的时候有,在编辑的时候却没有(注意要添加和修改规则是否一致)

  (4)提交数据时,连续多次点击,查看系统会不会连续增加几条相同的数据或报错。

四、 删除功能

  1.特殊键:(1)是否支持Tab键 (2)是否支持回车键

  2.提示信息:

  (1)不选择任何信息,直接点击删除按钮,是否有提示

  (2)删除某条信息时,应有确认提示

  3.数据实现:

  (1)删除一条记录时,是否可以删除成功

  (2)如系统支持批量删除,注意删除的信息是否正确

  (3)删除数据时,要注意相应查询页面的数据是否及时更新

  (4)如删除的数据与其他业务数据关联,要注意其关联性

五、 上传图片功能测试

  (1)文件类型正确、大小合适,查看能否上传成功

  (2)文件类型正确,大小不合适,查看是否给出提示

  (3)文件类型错误,大小合适,查看是否给出提示

  (4)文件类型大小都合适,手动输入存在的图片地址来上传

  (5)文件类型和大小都合适,输入不存在的图片地址来上传

  (6)不选择文件直接点击上传,查看是否给出提示

  (7)连续多次选择不同的文件,查看是否上传最后一次选择的文件

  (8)文件名校验,文件名内容(如含特殊字符,大小写混合,数字,汉字) ,文件名长度

  (9)文件名后缀大写, 是否作处理

  (10)对于有图片数量限制的批量上传是否控制

  (11)批量上传过程中有传输失败的图片如何处理,是直接删除还是提示上传失败

  (12)图片选择一些较特殊的图片,设计出高分辨率或过小的图片

六、 查询结果列表

  (1)列表、列宽是否合理

  (2)列表数据太宽有没有提供横向滚动

  (3)列表的列名有没有与内容对应

  (4)列表的每列的列名是否描述的清晰

  (5)列表是否把不必要的列都显示出来

七、 返回键检查

  1. 一条已经成功提交的记录,返回后再提交,是否做了处理

  2.检查多次使用返回键的情况,在有返回键的地方,返回到原来的页面多次,查看是否会出错

八、 回车键检查

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

九、 刷新键检查

  Web页面中,使用F5,查看系统响应,是否会有错误或异常。(如:切换到非默认tab,然后刷新页面,页面会切换到默认tab,但tab下的内容仍是上个tab的内容)

  对于增加了统计功能的页面,是否刷新会增加统计次数。(如浏览量、阅读量等)

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

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

十一、并发问题

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

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

十二、 业务流程测试

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

十三、 界面和易用性测试

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

  1. 风格.样式.颜色是否协调

  2. 界面布局是否整齐、协调

  3. 界面操作、标题描述是否恰当

  4. 操作是否符合人们的常规习惯

  5. 界面中各个控件是否对齐

  6. 日期控件是否可编辑

  7. 信息比较长的文本,文本框有没有提供自动垂直滚动条

  8. 是否支持Tab键,跳转顺序是否条理

  9. 用滚动条移动页面时,页面的控件是否显示正常

  10.页面是否有多余按钮或标签

  11.执行风险操作时,是否有确认提示,如删除、移除、注销确认

  12.页面分辨率检查,在各种分辨率下浏览系统检查系统界面友好性

2023最新Jmeter接口测试和接口自动化测试从入门到精通,全套项目实战!!!

相关文章:

软件测试13个最容易犯的错误

目录 一、 输入框测试 二、 搜索功能测试 三、 添加/修改功能 四、 删除功能 五、 上传图片功能测试 六、 查询结果列表 七、 返回键检查 八、 回车键检查 九、 刷新键检查 十、 直接URL链接检查(盗链问题) 十一、并发问题 十二、 业务流程测…...

华为OD机试真题Java实现【5键键盘的输出】真题+解题思路+代码(20222023)

🔥系列专栏 华为OD机试(Python)真题目录汇总华为OD机试(JAVA)真题目录汇总华为OD机试(C++)真题目录汇总华为OD机试(JavaScript)真题目录汇总文章目录 🔥系列专栏题目输入输出描述:示例1:示例2:解题思路代码实现运行结果:版权说明:题目...

化解射频和微波设计挑战的六个技巧

即使是最自信的设计人员,对于射频电路也往往望而却步,因为它会带来巨大的设计挑战,并且需要专业的设计和分析工具。这里将为您介绍六条技巧,来帮助您简化任何射频PCB 设计任务和减轻工作压力! 1、保持完好、精确的射频…...

linux内核—进程调度(核心)

目录 核心函数__schedule() 处理过程 1、选择下一个进程 2、切换线程 1)切换进程的虚拟地址空间 2)切换寄存器 3)执行清理工作 核心函数__schedule() 主要的调度程序 进入次函数的主要方法是: 1、显示阻塞:互…...

【STM32笔记】__WFI();进入不了休眠的可能原因(系统定时器SysTick一直产生中断)

【STM32笔记】__WFI();进入不了休眠的可能原因(系统定时器SysTick一直产生中断) 【STM32笔记】低功耗模式配置及避坑汇总 前文: blog.csdn.net/weixin_53403301/article/details/128216064 【STM32笔记】HAL库低功耗模式配置&am…...

【期末复习】例题讲解Dijkstra算法

使用场景Dijkstra算法用于解决单源点最短路径问题,即给一个顶点作为源点,依次求它到图中其他n-1个顶点的最短距离。例题讲解Dijkstra算法将图中所有顶点分成两部分,第一部分是已知到源点最短距离的顶点Known(K),第二部分是不知道到…...

Pytorch 基础之张量索引

本次将介绍一下 Tensor 张量常用的索引与切片的方法: 1. index 索引 index 索引值表示相应维度值的对应索引 a torch.rand(4, 3, 28, 28) print(a[0].shape) # 返回维度一的第 0 索引 tensor print(a[0, 0].shape) # 返回维度一 0 索引位置…...

JVM系统优化实践(1):JVM概览

您好,我是湘王,这是我的CSDN博客,欢迎您来,欢迎您再来~这是多年之前做过的学习笔记,今天再翻出来,觉得仍然是记忆犹新。「独乐乐不如众乐乐」,就拿出来分享给「众乐乐」吧。目前大多…...

优秀!19年后,它再次成为TIOBE年度编程语言

新年伊始,TIOBE发布了2022年度编程语言,C时隔19年再度登顶,成为2022年最受欢迎的编程语言。TIOBE在2003年首次统计编程语言的流行指数时,C便成为年度编程语言。2022年,C获得了最高的人气4.62%,紧随其后的是…...

剑指 Offer 26. 树的子结构

摘要 剑指 Offer 26. 树的子结构 输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构),B是A的子结构, 即 A中有出现和B相同的结构和节点值。 一、子树解析 思路解析:若树B是树A的子结构,则…...

他是00年的,我们卷不过他...

现在的小年轻真的卷得过分了。前段时间我们公司来了个00年的,工作没两年,跳槽到我们公司起薪18K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。 最近和他聊了一次天,原来这位小老弟家里条…...

C#开发的OpenRA的OpenGL创建纹理流程

C#开发的OpenRA的OpenGL创建纹理流程 由于OpenRA采用的是OpenGL来显示游戏画面, 那么它就必然采用纹理来显示了。 并且由于它是2D的游戏,所以3D的模型是没有的,只要使用纹理贴图,就可以完全实现了游戏的功能。 OpenGL的纹理要起作用,需要经过一系列的动作。 先要使用glGen…...

3D目标检测(一)—— 基于Point-Based方法的PointNet系列

3D目标检测(一)—— PointNet,PointNet,PointNeXt, PointMLP 目录 3D目标检测(一)—— PointNet,PointNet,PointNeXt, PointMLP 前言 零、网络使用算法 …...

《设计模式》策略模式

策略模式 前言 先了解一下设计模式的几种类似: 行为型设计模式(Behavioral Design Pattern)是指一组设计模式,它们关注的是对象之间的通信和协作。行为型设计模式描述了对象之间的职责分配和算法的封装,以及如何在运…...

【离散数学】1. 数理逻辑

1.数理逻辑 2. 集合论 3. 代数系统 4. 图论 离散数学:研究离散量结构及相互关系的学科 数理逻辑集合论代数系统图论 逻辑:研究推理的科学 数学方法:引进一套符号系统的方法 数理逻辑是用数学方法研究形式逻辑的科学,即使用符号化…...

Java8新特性学习

Java8新特性学习为啥使用Lambda表达式Lambda表达式的基础语法无参无返回有参无返回一个参数多参单个语句体类型推断四大内置核心函数式接口其他接口方法引用与构造器引用Stream简介什么是StreamStream操作步骤创建Stream中间操作终止操作(终端操作)归约与收集并行流…...

SPARK outputDeterministicLevel的作用--任务全部重试或者部分重试

背景 目前spark的repartition()方法是随机分配数据到下游,这会导致一个问题,有时候如果我们用repartition方法的时候,如果任务发生了重试,就有可能导致任务的数据不准确,那这个时候改怎么解决这个问题呢? …...

图数据库中的 OLTP 与 OLAP 融合实践

在一些图计算的场景下,我们会遇到同时需要处理 OLTP 和 OLAP 的问题。而本文就给了一个 OLTP 与 OLAP 融合实践的指导思路,希望给你带来一点启发。 Dag Controller 介绍 Dag Controller 是 NebulaGraph 企业版的图系统,经过反复测试无误后已…...

Shader Graph简介

使用着色器(shader)和材质(material),我们能够创造出非常多有趣的效果。除了Unity自带的shader外,还可以自己编写shader或使用其他人所编写的shader。编写shader通常需要我们了解shader编程语言的语法和相关…...

kubectl

目录 一、陈述式资源管理方法 二、基本信息查看 2.1 基本信息查看格式 2.2 查看master节点组件状态 2.3 查看命名空间 2.4 创建/查看命名空间 2.5 删除(重启)命名空间/pod 2.6 查看资源的详细信息 2.7 创建副本控制器来启动Pod 2.8 查看指定命…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层&#xf…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

从面试角度回答Android中ContentProvider启动原理

Android中ContentProvider原理的面试角度解析,分为​​已启动​​和​​未启动​​两种场景: 一、ContentProvider已启动的情况 1. ​​核心流程​​ ​​触发条件​​:当其他组件(如Activity、Service)通过ContentR…...