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

3功能测试心得分享

1. 登陆、添加、删除、查询模块是我们经常遇到的,这些模块的测试点该如何考虑

  (1)登陆

  ① 用户名和密码都符合要求(格式上的要求)

  ② 用户名和密码都不符合要求(格式上的要求)

  ③ 用户名符合要求,密码不符合要求(格式上的要求)

  ④ 密码符合要求,用户名不符合要求(格式上的要求)

  ⑤ 用户名或密码为空

  ⑥ 数据库中不存在的用户名,不存在的密码

  ⑦ 数据库中存在的用户名,错误的密码

  ⑧ 数据库中不存在的用户名,存在的密码

  ⑨ 输入的数据前存在空格

  ⑩ 输入正确的用户名密码以后按[enter]是否能登陆

  (2) 添加

  ① 要添加的数据项均合理,检查数据库中是否添加了相应的数据

  ② 留出一个必填数据为空

  ③ 按照边界值等价类设计测试用例的原则设计其他输入项的测试用例

  ④ 不符合要求的地方要有错误提示

  ⑤ 是否支持table键

  ⑥ 按enter是否能保存

  ⑦ 若提示不能保存,也要察看数据库里是否多了一条数据

  (3) 删除

  ① 删除一个数据库中存在的数据,然后查看数据库中是否删除

  ② 删除一个数据库中并不存在的数据,看书否有错误提示,并且数据库中没有数据被删除

  ③ 输入一个格式错误的数据,看是否有错误提示,并且数据库中没有数据被删除。

  ④ 输入的正确数据前加空格,看是否能正确删除数据

  ⑤ 什么也不输入

  ⑥ 是否指出table键

  ⑦ 是否支持enter键

  (4)查询

  精确查询:

  ① 输入的查询条件为数据库中存在的数据,看是否能正确地查出相应得数据

  ② 输入正确的查询条件以前加上空格,看是否能正确地查出相应的数据

  ③ 输入格式或范围不符合要求的数据,看是否有错误提示

  ④ 输入数据库中不存在的数据

  ⑤ 不输入任何数据

  ⑥ 是否支持table键

  ⑦ 是否支持enter键

  模糊查询:

  在精确查询的基础上加上以下一点

  ① 输入一些字符,看是否能查出数据库中所有的相关信息

  

2.设计功能测试用例

  文本框、按钮等控件测试

  文本框的测试

  如何对文本框进行测试

  a,输入正常的字母或数字。

  b,输入已存在的文件的名称;

  c,输入超长字符。例如在“名称”框中输入超过允许边界个数的字符,假设最多255个字符,尝试输入 256个字符,检查程序能否正确处理;

  d,输入默认值,空白,空格;

  e,若只允许输入字母,尝试输入数字;反之;尝试输入字母;

  f,利用复制,粘贴等操作强制输入程序不允许的输入数据;

  g,输入特殊字符集,例如,NUL及 等;

  h,输入超过文本框长度的字符或文本,检查所输入的内容是否正常显示;

  i,输入不符合格式的数据,检查程序是否正常校验,如,程序要求输入年月日格式为yy/mm/dd,实际输入yyyy/mm/dd,程序应该给出错误提示

  

  在测试过程中所用到的测试方法:

  1,输入非法数据;

  2,输入默认值;

  3,输入特殊字符集;

  4,输入使缓冲区溢出的数据;

  5,输入相同的文件名;

  命令按钮控件的测试

  a,点击按钮正确响应操作。如,单击确定,正确执行操作;单击取消,退出窗口;

  b,对非法的输入或操作给出足够的提示说明,如,输入月工作天数为32时,单击”确定“后系统应提示:天数不能大于31;

  c,对可能造成数据无法恢复的操作必须给出确认信息,给用户放弃选择的机会;

  单选按钮控件的测试

  a,一组单选按钮不能同时选中,只能选中一个。

  b,逐一执行每个单选按钮的功能。分别选择了“男”“女”后,保存到数据库的数据应该相应的分别为“男”“女”;

  c,一组执行同一功能的单选按钮在初始状态时必须有一个被默认选中,不能同时为空;

  up-down控件文本框的测试

  a,直接输入数字或用上下箭头控制,如,在“数目”中直接输入10,或者单击向上的箭头,使数目变为10;
  b,利用上下箭头控制数字的自动循环,如,当最多数字为253时,单击向上箭头,数目自动变为1;反之亦适用;

  c,直接输入超边界值,系统应该提示重新输入;

  d,输入默认值,空白。如,“插入”数目为默认值,点击“确定”;或,删除默认值,使内容为空,单击“确定”进行测试;

  e,输入字符。此时系统应提示输入有误。

  组合列表框的测试

  a,条目内容正确,其详细条目内容可以根据需求说明确定;

  b,逐一执行列表框中每个条目的功能;

  c,检查能否向组合列表框输入数据;

  复选框的测试

  a,多个复选框可以被同时选中;

  b,多个复选框可以被部分选中;

  c,多个复选框可以都不被选中;

  d,逐一执行每个复选框的功能;

  列表框控件的测试

  a,条目内容正确;同组合列表框类似,根据需求说明书确定列表的各项内容正确,没有丢失或错误;

  b,列表框的内容较多时要使用滚动条;

  c,列表框允许多选时,要分别检查shift选中条目,按ctrl选中条目和直接用鼠标选中多项条目的情况;

  

  滚动条控件的测试

  要注意一下几点:

  a,滚动条的长度根据显示信息的长度或宽度及时变换,这样有利于用户了解显示信息的位置和百分比,如,word中浏览100页文档,浏览到50页时,滚动条位置应处于中间;

  b,拖动滚动条,检查屏幕刷新情况,并查看是否有乱码;

  c,单击滚动条;

  d,用滚轮控制滚动条;

  e,滚动条的上下按钮。

  各种控件在窗体中混和使用时的测试

  a,控件间的相互作用;

  b,tab键的顺序,一般是从上到下,从左到右;

  c,热键的使用,逐一测试;

  d,enter键和esc键的使用;

  在测试中,应遵循由简入繁的原则,先进行单个控件功能的测试,确保实现无误后,再进行多个控件的的功能组合的测试。

  ps:密码输入框测试时要特别注意进行字母大写输入的测试。

  查找替换操作

  案例演示:打开word中的"替换"对话框

  测试本功能有通过测试和失败测试两种情况

  通过测试:

  1,输入内容直接查找,或查找全部

  2,在组合框中寻找已经查找过的内容,再次查找并确认文档的内容正确,如,已经查找过"测试用例",再次进入不用重新输入查找内容,直接在文档中搜寻就可以.

  失败测试:

  1,输入过长或过短的查询字符串.如,假设查询的字符串长度为1到255,那么输入0,1,2,256,255和254进行测试;

  2,输入特殊字符集,如,在word中.^g代表图片,^代表分栏符,可以输入这类特殊字符测试;

  替换测试大体相同.

  关于编辑操作窗口的功能测试的用例:

  1,关闭查找替换窗口.不执行任何操作,直接退出;

  2,附件和选项测试.假如,设定"精确搜寻","向后"搜索等附件选项等等来测试;

  3,控件间的相互作用.如,搜寻内容为空时,按钮"搜寻全部","搜寻","全部替换","替换"都为灰色.

  4,热键, Tab键.回车键的使用.

  插入操作

  1)插入文件

  测试的情况

  a,插入文件;

  b,插入图像;

  c,在文档中插入文档本身;

  d,移除插入的源文件;

  e,更换插入的源文件的内容;

  2)链接文件

  测试方法:

  a,插入链接文件;

  b,在文档中链接文档本身;

  c,移除插入的源文件;

  d,更换插入的源文件的内容.

  3)插入对象

  要测试的内容

  a,插入程序允许的对象,如,在word中插入excel工作表;

  b,修改所插入对象的内容.插入的对象仍能正确显示;

  c,卸载生成插入对象的程序,如,在word中插入excel工作表后卸载excel,工作表仍正常使用.

  编辑操作

  编辑操作包括剪切,复制,粘贴操作.

  测试剪切操作的方法

  a,对文本,文本框,图文框进行剪切;

  b,剪切图像

  c,文本图像混合剪切

  复制操作方法与剪切类似.

  测试时,主要是对粘贴操作的测试,方法是:

  a,粘贴剪切的文本,文本框及图文框;

  b,粘贴所剪切的图像;

  c,剪切后,在不同的程序中粘贴

  d,多次粘贴同一内容,如,剪切后,在程序中连续粘贴3次;

  e,利用粘贴操作强制输入程序所不允许输入的数据.

3.界面测试用例的设计方法

  1)窗体

  测试窗体的方法:

  a,窗体大小,大小要合适,控件布局合理;

  b,移动窗体.快速或慢速移动窗体,背景及窗体本身刷新必须正确;

  c,缩放窗体,窗体上的控件应随窗体的大小变化而变化;

  d,显示分辨率.必须在不同的分辨率的情况下测试程序的显示是否正常;

  进行测试时还要注意状态栏是否显示正确;工具栏的图标执行操作是否有效,是否与菜单懒中图标显示一致;错误信息内容是否正确,无错别字,且明确等等;

  2)控件

  测试方法:

  a,窗体或控件的字体和大小要一致;

  b,注意全角,半角混合

  c,无中英文混合.

  3)菜单

  进行测试时要注意

  a,选择菜单是否可以正常工作,并与实际执行内容一致;

  b,是否有错别字:

  c,快捷键是否重复;

  d,热键是否重复;

  e,快捷键与热键操作是否有效

  f,是否存在中英文混合

  g,菜单要与语境相关,如,不同权限的用户登陆一个应用程序,不同级别的用户可以看到不同级别的菜单并使用不同级别的功能;

  h,鼠标右键快捷菜单

  4)特殊属性

  1,安装界面应有公司介绍或产品介绍,有公司的图标

  2,主界面及大多数界面最好有公司图标

  3,选择"帮助"->"关于"命令,应 看见相关版权和产品信息

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

相关文章:

3功能测试心得分享

1. 登陆、添加、删除、查询模块是我们经常遇到的,这些模块的测试点该如何考虑 (1)登陆 ① 用户名和密码都符合要求(格式上的要求) ② 用户名和密码都不符合要求(格式上的要求) ③ 用户名符合要求,密码不符合要求(格式上的要求) ④ 密码符合要求&#xff…...

Python-推导式

Python 推导式 Python 推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体。 Python 支持各种数据结构的推导式: 列表(list)推导式 字典(dict)推导式 集合(set)推导式 元组(tuple)推导式 列表推导式 列表推导式格式…...

操作系统线程

进程那一章,我们留下了一个问题 第一个cpu调用进程,进程调用i/o设备,主动进入ready 队列 第二个cpu将程序执行时间平均分时,进程执行时间到 第三个fork函数,我们上一章的lab有实践,可以看出是父进程主动条用…...

vue3中如何定义响应式变量

vue2中定义方式&#xff1a; 熟悉vue2的前端开发小伙伴&#xff0c;都知道定义变量的方式是属于 选项式写法&#xff0c;所有的变量名全都定义在 data(){return { title:‘hello world’}},里&#xff0c;如下图所示&#xff1a; <template><div><h1>{{tit…...

【C++修炼之路】20.手撕红黑树

每一个不曾起舞的日子都是对生命的辜负 红黑树实现:RBTree 前言一.红黑树的概念及性质1.1 红黑树的概念1.2 红黑树的性质二.红黑树的结构2.1 红黑树节点的定义2.2 红黑树类的封装三.红黑树的插入情况1&#xff1a;只变色情况2&#xff1a;变色单旋情况3&#xff1a;双旋插入的代…...

树状数组(高级数据结构)-蓝桥杯

一、简介树状数组 (Binary Indexed Tree,BIT)&#xff0c;利用数的二进制特征进行检索的一种树状结构。一种真正的高级数据结构&#xff1a; 二分思想、二叉树、位运算、前缀和。高效!代码极其简洁!二、基本应用数列a1,a2,....,an&#xff0c;操作&#xff1a;单点修改&#xf…...

Flink-多流转换(Union、Connect、Join)

文章目录多流转换分流基本合流操作联合&#xff08;Union&#xff09;连接&#xff08;Connect&#xff09;基于时间的合流——双流联结&#xff08;Join&#xff09;窗口联结&#xff08;Window Join&#xff09;间隔联结&#xff08;Interval Join&#xff09;窗口同组联结&a…...

kubeadmin安装k8s集群

目录 一 、环境部署 1、服务器规划 2、环境准备 二、所有节点安装docker 1、配置yum源&#xff0c;安装docker 2、配置daemon.json文件 三、所有节点安装kubeadm、kubelet 和kubectl 四、部署k8s集群 1、查看初始化需要的镜像 2、导入镜像 3、初始化kubeadm 3.1 方…...

java3月train笔记

java笔记 day01 一、jdk和idea下载及安装&#xff08;一般不建议装C盘&#xff09;&#xff1a; jdk&#xff1a;java开发环境 idea&#xff1a;开发工具&#xff08;软件&#xff09;&#xff0c;用来编写代码的 苍老师文档服务器&#xff1a;doc.canglaoshi.org jdk下载&…...

Apollo Config原理浅析

文章目录1. 简介2. 基本功能3. Apollo关键功能实现原理3.1 框架整体原理3.1.1 Apollo角色3.1.2 框架执行原理3.1.3 整体组成3.2 细节实现3.2.1 Eureka和不同角色机器的关系3.2.2 Meta Server的作用3.2.3 ReleaseMessage消息实现原理3.2.4 Client的通信方式1. 简介 apollo是携程…...

Kubernetes二 Kubernetes之实战以及pod详解

Kubernetes入门 一 Kubernetes实战 本章节将介绍如何在kubernetes集群中部署一个nginx服务&#xff0c;并且能够对其进行访问。 1.1 Namespace Namespace是kubernetes系统中的一种非常重要资源&#xff0c;它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。…...

机械革命黑苹果改造计划第四番-外接显示器、win时间不正确问题解决

问题 1.无法外接显示器 最大的问题就是目前无法外接显示器&#xff0c;因为机械革命大多数型号笔记本电脑的HDMI、DP接口都是直接物理接在独显上的&#xff0c;内屏用核显外接显示器接独显&#xff0c;英伟达独显也是黑苹果无法驱动的&#xff0c;而且发现机械革命tpyec接口还…...

Linux docker(03)可使用GPU渲染的x11docker实战总结

该系列文章的目的旨在之前的章节基础上&#xff0c;使用x11docker构建一个可以使用GPU的docker容器。该容器可以用于3D图形渲染/XR 等使用GPU渲染的程序调试和运行。 0 why docker 为什么非要用x11docker&#xff0c;而不是其他的docker呢&#xff1f; 因为一般的docker是不…...

【Linux操作系统】【综合实验一 Linux操作基础】

文章目录一、实验目的二、实验要求三、实验内容四、实验报告要求一、实验目的 要求掌握Linux基础操作&#xff0c;熟悉Linux行界面&#xff0c;并明白操作的原理以及目的&#xff1b;熟悉Linux系统环境。 二、实验要求 通过这个第一阶段实验&#xff0c;要求掌握以下操作与相…...

关于监控服务器指标、CPU、内存、警报的一些解决方案

文章目录关于监控服务器指标、CPU、内存、警报的一些解决方案Prometheus Grafana 配置 IRIS / Cach 监控服务器Prometheus简介特点架构图Grafana简介特点配置流程自定义Prometheus接口定义配置 Exporter 监控服务器系统资源简介配置流程使用 Alertmanager报警简介配置流程基于…...

vue3全家桶技术栈基础(一)

在认识vue3全家桶之前,先简单回顾一下vue2的全家桶 一.在vue2中&#xff0c;全家桶技术栈 技术栈: vue2 vue-cli vuex3vue-router3webpack elementUI 1.vue-cli 脚手架构建vue项目&#xff0c;CLI 服务是构建于 webpack 和 webpack-dev-server构建快速生成一个vue2的开发项…...

群晖-第2章-设置HTTPS访问

群晖-第2章-设置HTTPS访问 本章介绍如何通过HTTPS访问群晖&#xff0c;前置要求是完成群晖-第1章-IPV6的DDNS中的内容&#xff0c;可以是IPV4也可以是IPV6&#xff0c;或者你有公网IP&#xff0c;直接添加DNS解析也可以。只要能通过域名访问到nas就行。 本文参考自群晖添加SS…...

005 利用fidder抓取app的api,获得股票数据

一、下载安装fidder 百度搜索fidder直接下载&#xff0c;按提示安装即可。 二、配置fidder 1. 打开fidder&#xff0c;选择tools——options。 2. 选择HTTPS选项卡&#xff0c;勾选前三项&#xff0c;然后点击右侧【actions】&#xff0c;选择【trust root certificate】&a…...

京东测试进阶之路:初入测试碎碎念篇

1、基本的测试用例设计方法 基本的测试用例设计方法&#xff08;边界值分析、等价类划分等&#xff09;。 业务和场景的积累&#xff0c;了解测试需求以及易出现的bug的地方。 多维角度设计测试用例&#xff08;用户、业务流程、异常场景、代码逻辑&#xff09;。 2、需求分析 …...

华为OD机试 - 乘积最大值(JavaScript) | 机试题+算法思路+考点+代码解析 【2023】

乘积最大值 题目 给定一个元素类型为小写字符串的数组 请计算两个没有相同字符的元素长度乘积的最大值 如果没有符合条件的两个元素返回0 输入 输入为一个半角逗号分割的小写字符串数组 2 <= 数组长度 <= 100 0 < 字符串长度 <= 50 输出 两个没有相同字符的元…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...

全面解析数据库:从基础概念到前沿应用​

在数字化时代&#xff0c;数据已成为企业和社会发展的核心资产&#xff0c;而数据库作为存储、管理和处理数据的关键工具&#xff0c;在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理&#xff0c;到社交网络的用户数据存储&#xff0c;再到金融行业的交易记录处理&a…...

jdbc查询mysql数据库时,出现id顺序错误的情况

我在repository中的查询语句如下所示&#xff0c;即传入一个List<intager>的数据&#xff0c;返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致&#xff0c;会导致返回的id是从小到大排列的&#xff0c;但我不希望这样。 Query("SELECT NEW com…...

篇章二 论坛系统——系统设计

目录 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 1. 数据库设计 1.1 数据库名: forum db 1.2 表的设计 1.3 编写SQL 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 通过需求分析获得概念类并结合业务实现过程中的技术需要&#x…...

路由基础-路由表

本篇将会向读者介绍路由的基本概念。 前言 在一个典型的数据通信网络中&#xff0c;往往存在多个不同的IP网段&#xff0c;数据在不同的IP网段之间交互是需要借助三层设备的&#xff0c;这些设备具备路由能力&#xff0c;能够实现数据的跨网段转发。 路由是数据通信网络中最基…...