常用功能测试的检查点与用例设计思路

1 功能测试

1.1 用户登录

1.1.1 数据输入

1. 帐号或密码为空。

2. 帐号或密码长度超长。

3. 帐号或密码不符合格式要求。

4. 帐号在数据库中不存在。

5. 密码在数据库中不存在。

6. 密码在数据库中存在,但与帐号不匹配。

7. 正确的帐号和正确的密码。

8. 正确的帐号和正确的密码中,有字母的,换成其大写/小写字母。

9. 帐号或密码前/后加空格。

1.1.2 功能

1. 除了“登录”按钮之外可能存在的按钮是否正常。(例如“注册”,“清除”,“忘记密码”等)。

2. 登录信息错误时,系统提示信息是否正确、友好。

3. 登录成功进入页面后,用户名/昵称是否显示正确。

4. 登录成功进入页面后,页面显示元素、用户可操作功能是否完全。

1.1.3 安全性

1. 密码是否显示为掩码形式。

2. 密码是否允许复制粘贴。

3. 密码连续多次输入错误,是否需要锁定帐号。

4. 同一台机子,不同浏览器登录同一账号。

5. 同一台机子,不同浏览器登录不同帐号。

6. 不同IP地址,登录同一帐号。

7. 注销登录后,单击“后退”按钮,是否还能够在系统中进行操作。

8. 登录成功后,复制页面链接,用其他机器登录该链接,看是否能够登录成功。

9. Cookies工作是否正确(Cookies的测试会在后面总结)。

1.1.4 易用性

1. TAB键是否能够切换帐号和密码框。

2. 登录信息错误时,用户名是否被清除。

1.2 新增记录/修改记录

修改记录与新增记录的测试方法类似,故不单独总结。

1. 单击“新增”按钮是否会弹出新增页面。

2. 新增页面UI检查:

− 页面名称是否正确。

− 新增信息的所有字段是否显示完全,字段名称是否正确。

− 必填字段是否标红星

− 字段值得输入格式是否正确(是文本框还是下拉菜单等等)。

− 如果字段是下拉菜单等供用户选择的格式,检查下拉菜单中的字段是否完全,正确。

− 是否包含“返回”按钮。

3. 输入数据检查:

− 合法数据

ü 只填写必填字段。

ü 填写所有必填字段。

− 非法数据

ü 所有字段为空。

ü 每个必填字段的空值检查。

ü 每个字段的最大长度和最大长度+1检查。

ü 每个字段的异常格式、特殊字符检查。

ü 主键重复测试(特别要测试一下数据库中存在主键为大/小写字母的记录,而新增的主键为小/大写的情况)。

4. 单击“保存”按钮:

− 合法数据

ü 页面跳回新增内容列表。

ü 新增的记录中,每个需要显示的字段被正确、友好地显示在页面中。

ü 数据库中正确地显示新增的记录。

ü 系统中相关的地方需要显示出新增的记录。

− 非法数据

ü 页面提示信息新增失败,并未显示正确、友好地提示信息。

ü 页面中不显示新增的那条记录。

ü 数据库中不存在新增的那条记录。

5. 多新增几条记录,检查新增记录是否能够正确显示,排序是否合理。

6. 多新增几页记录(也可采用导入到数据库的方法),检查新增记录的显示列表分页功能是否正常。

1.3 删除记录

删除记录的测试一般放在所有测试步骤的最后,因为一旦测试成功,数据被删除,就无法进行接下来的测试。

 

1. 删除一条允许删除(与系统其他部分没有关联)的记录。

2. 删除一条不允许删除(与系统其他部分有关联)的记录。

− 删除该数据

ü 系统提示不允许删除。

ü 页面列表中该数据仍然存在。

ü 数据库中该数据仍然存在。

− 删除与其关联的数据

− 删除该数据。

ü 页面列表中该数据不存在

ü 数据库中该数据不存在

3. 批量删除记录。

4. 删除全部记录。

1.4 查询页面

1.4.1 查询输入

1. 检查查询条件的个数和名称是否与需求一致。

2. 查询条件如下是下列列表:

− 检查下拉列表中的值是否与需求一致。

− 在下拉列表中选择每个值,检查页面是否有错误。

3. 查询条件如果有默认值,检查默认值是否与需求一致。

4. 输入查询条件进行测试(查询结果不为空集):

− 不能输入任何条件进行查询。

− 分别输入单个条件进行查询。

ü 如果不支持模糊查询,则输入精确值进行查询。

ü 如果只支持模糊查询,则分别输入精确值和模糊值进行查询。

ü 如果支持一个条件中输入多个值,则一次输入多个值进行查询。

− 输入所有条件进行查询。

5. 输入使得查询结果为空集的查询条件进行查询。

6. 输入类型测试。

− 输入英文字符。

− 输入特殊字符。

− 输入数字。

− 输入汉字。

− 输入空格。

− 输入含有空格的文本。

− 输入全角字符。

− 输入单引号。

− 输入单引号引起来的数据。

− 输入双引号。

− 输入双引号引起来的数据。

7. 输入长度测试。

− 等于最大长度。

− 等于最大长度+1。

8. 注意:

− 如果字段太多,可以一次性输入多个查询条件来覆盖多次输入单个查询条件的测试,但是需要满足:一次性输入的多个条件相互独立,否则不能保证每个查询条件都起到筛选作用。

1.4.2 查询输出

1. 查询结果是否与数据库中的数据一致。

可以通过将数据库的全部数据导出到EXCEL 2007中,再在EXCEL中方面的筛选数据,以得到期望结果。

不过一定要保证导出数据的正确性,否则测试的期望结果肯定会出错。

2. 查询结果的字段个数、名称是否与需求一致。

3. 如果有数字字段,显示格式是否正确,保留小数位数是否正确。

4. 查询结果的默认排序。

5. 查询结果是否支持根据字段排序功能。

6. 查询结果的分页功能。

每页最多包含多少记录,页面切换是否正确。

1.4.3 安全性

1. 不同用户可以查看数据的权限不同。

1.5 导入数据

1.5.1 导入模板

1. 模板下载地址可用。

2. 模板名称正确。

3. 模板字段名称,顺序是否正确。

4. 模板中可以进行编辑,保存操作。

1.5.2 导入文件

1. 导入空文件。

2. 导入不同的文件类型(word, excel, JPG),测试系统是否会对非法类型进行提示。

3. 导入不同的文件版本(03,07):

− 如果系统支持高版本,测试系统是否会兼容低版本。

− 如果系统支持低版本,测试系统是否会对高版本报错。

4. 导入文件中的字段与后台表格要求不符:

− 字段类型不符。

− 字段个数不符。

− 字段最大长度超出。

5. 导入数据是否能够在前台正常显示。

6. 导入时,系统是否对数据唯一性进行校验。

7. 重复导入文件(根据是覆盖导入还是追加导入来写测试用例)。

1.5.3 页面呈现

1. 导入过程中,进度显示是否正确。

2. 导入数据是否在页面中正确显示。

3. 导入数据是否正确排序。

4. 导入数据是否正确分页。

1.6 导出数据

导出数据源

1. 导出全部数据。

2. 导出满足查询条件的数据。

3. 导出空文件。

检查点

4. 导出文件名是否正确。

5. 同“1.4.2 查询输出”的检查点。

 感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

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

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

相关文章

揭秘:软件测试中Web请求的完整流程!

在软件开发的过程中,测试是一个至关重要的环节。而在现代互联网应用中,Web请求是很常见的一个测试需求。本文将介绍Web请求的完整测试流程,帮助读者更好地理解软件测试的关键步骤。 一、测试准备阶段 在进行Web请求测试之前,测试团…

创意云×四川永辉直播首秀顺利开播,vLive助力本地生活直播玩转“双12”

12月5日,“四川永辉超市双12特惠”直播首秀顺利开播,蓝海创意云为此次直播提供了虚拟场景制作和全程的技术支持。蓝海创意云使用自主研发的vLive虚拟直播系统,将其应用到整个直播过程中。这种独特的视觉新体验成功吸引了众多观众的关注和参与…

Java jdk和jre的区别

jdk和jre的区别为:JRE是java运行时环境而JDK是java开发工具包,JDK包含JRE,但是JRE可以独立安装。 JDK: java development kit (java开发工具),JDK 是用于开发 Java 程序的最小环境。 JRE: java runtime e…

【动态规划】LeetCode-64.最小路径和

🎈算法那些事专栏说明:这是一个记录刷题日常的专栏,每个文章标题前都会写明这道题使用的算法。专栏每日计划至少更新1道题目,在这立下Flag🚩 🏠个人主页:Jammingpro 📕专栏链接&…

一线大厂Redis高并发缓存架构

场景1:秒杀库存场景, 10000人抢100个商品 如果用普通的分布式锁实现, 最后抢到的人,要等前面99个人抢完 优化方案:可用分段锁, 降低锁的粒度, 比如1-10库存用锁product:101_1,11-20库存用锁pr…

C++红黑树封装set和map(很详细)

前言 在前面,我们学习了红黑树。(没学过红黑树直接看会很吃力)set和map的底层就是红黑树,现在我们要用这棵树来封装STL里面的容器:set和map。 下面是之前讲过的红黑树,他只是普通的“Key”模型,适合封装set…

BabyLIN产品如何轻松搞定K线协议实现?

来源:虹科汽车电子 虹科技术丨BabyLIN产品如何轻松搞定K线协议实现? 原文链接:https://mp.weixin.qq.com/s/LR7VHFQajjyw6s6bVDJmsg 欢迎关注虹科,为您提供最新资讯! 导读 为了实现K线通信,SDF-V3在协议…

类的加载器

文章目录 1. 类加载器的分类2. 双亲委派模型3. 沙箱安全机制 1. 类加载器的分类 口述:启动类加载器加载jvm需要的核心的类库,扩展类加载器加载外部的jar包,应用程序加载器加载我们自己定义的类。 2. 双亲委派模型 规定了类加载的顺序是&a…

m1源码编译xgboost的动态链接库dylib

1、下载源码 git clone --recursive https://github.com/dmlc/xgboost cd xgboost拉取源码时候,一定要加"--recursive"这个命令。把它的字模块也要拉取下来,才能编译成功 2、安装c依赖 必要的依赖项(不然后续编译时报错),包括CM…

用java比较两个二叉搜索树是否等价

一. 定义树的的节点 ​ 不同二叉树的叶节点上可以保存相同的值序列。例如,以下两个二叉树都保存了序列 1,1,2,3,5,8,13。 package com.wedoo.coderyeah.module.iot.algorithm;import lombok.…

【CentOS】配置 Apache 服务

yum install httpd -y# 查看是否安装成功 httpd -v # 出现版本号表示成功# 启动服务 systemctl start httpd# 查看状态 systemctl status httpd # running 即可成功 ● httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; disable…

Redlock算法实现Redis分布式锁

Redlock算法实现Redis分布式锁 为什么基于故障转移的实现还不够 使用 Redis 锁定资源的最简单方法是在实例中创建密钥。密钥通常是在有限的生存时间内创建的,使用 Redis 过期功能,以便最终它被释放(我们列表中的属性 2)。当客户…

每日一题 2646. 最小化旅行的价格总和(困难,树)

分解为两个子问题,树中节点到节点的路径问题,价格减半树的最小值问题由于它是无向的树,所以对于每一次旅行,以 start 为根,通过dfs寻找 end 就可以很简单地找到需要的路径且它是唯一的,这里我们统计每经过一…

Splashtop 荣获 SDC“年度安全供应商”奖

2023年12月5日 荷兰阿姆斯特丹 Splashtop 是随处办公环境改革的先驱,在伦敦举办的第14届 SDC 颁奖典礼上荣获“年度安全供应商”奖,我们对此感到十分自豪。荣获这一知名奖项凸显了 Splashtop 致力于通过企业级加密和基于权限的访问保护不同规模组织的决…

iis--IIS8中安装和使用URL重写工具(URL Rewrite)的方法

URL重写-下载 IIS8中安装和使用URL重写工具(URL Rewrite)的方法 IIS版本号可以被识别,修复图解,亲测有效

我的NPI项目之Android 安全系列 -- 天地混沌初开

最近在因为有新项目启动,目前处在kickoff之后research阶段,预计在1st March能拿到到Pre-EVT; 在此之前最主要的就是需求分析/可行性分析/风险评估。 而对于软件来说,作为传说中的software project leader,要做的最重要…

运维之远程桌面连接失败问题排查

背景:同一局域网,可以ping通但是远程连接不上,排查一下问题。 1、被远程计算机是否允许远程连接 2、被远程计算机防火墙是否允许 3、被远程计算机远程桌面服务是否正常 4、查看用户权限

mfc项目设置软件版本

//上面设置的版本通过下面的代码可以获取到 TSTRING CVersion::GetSoftVersion() {TSTRING strVer _T("");TCHAR szPath[MAX_PATH] _T("");memset(szPath, 0, sizeof(szPath));::GetModuleFileName(NULL, szPath, sizeof(szPath));//得到本程序的目录UIN…

使用Navicat连接MySQL出现的一些错误

目录 一、错误一:防火墙未关闭 二、错误二:安全组问题 三、错误三:MySQL密码的加密方式 四、错误四:修改my.cnf配置文件 一、错误一:防火墙未关闭 #查看防火墙状态 firewall-cmd --state#关闭防…

在Linux上优化HTTP服务器的性能

在Linux上优化HTTP服务器的性能是一个涉及多个方面的任务,包括服务器硬件、网络设置、软件配置和内容优化。以下是一些关键的优化建议: 选择合适的HTTP服务器软件 Linux上有多种HTTP服务器软件,如Apache、Nginx、Lighttpd等。选择适合您需求…