超细,设计一个“完美“的测试用例,用户登录模块实例...
目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
好的测试用例一定是一个完备的集合,它能够覆盖所有等价类以及各种边界值,而跟能否发现缺陷无关
好的测试用例必须具备哪些特征
整体完备性:一定是一个完备的整体,是有效测试用例组成的集合,能够完全覆盖测试需求
等价类划分的准确性:对于每个等价类都能保证只要其中一个输入测试通过,其他输入页一定测试通过
等价类集合的完备性:需要保证所有可能的边界值和边界条件都已经正确识别
三种最常用的测试用例设计方法
等价类划分:
将所有可能的输入数据划分成若干个子集;
任意一个输入数据若是有效的则构成有效等价类;
输入数据对于揭露程序中潜在错误都具有同等效果则构成无效等价类;
后续只要从每个等价类中年任意选取一个值进行测试, 就可以用少量具有代表性的测试输入取得较好的测试覆盖结果;
边界值分析:
选取输入、输出的边界值进行测试;
边界值分析师对等价类划分的补充;
错误推断法:
基于对被测试软件系统设计的理解、过往经验以及个人直觉,推测出软件可能存在的缺陷,从而有针对性地设计测试用例方法。强调的是对被测软件的需求理解以及设计实现的细节把握
错误推断法的例子
如何设计出好的测试用例
例子:测试面向终端用户的GUI测试
最核心的测试点:验证软件对需求的满足程度
如何做到:在需求分析阶段和技术设计阶段就开始介入
成效:设计出从终端用户使用场景考虑的端到端的测试用例集,主要验证各个业务需求是否被满足,基于黑盒的测试设计方法
重点:在具体的用例设计时,首先要搞清楚每一个业务需求所对应的多个软件功能需求点,然后分析出每个软件功能需求点对应的多个测试需求点,最后再针对每个测试需求点设计测试用例
以“用户登录”功能设计测试用例
【用户登录】功能的映射关系图
关键点:
从软件功能需求出发,全面地、无遗漏地识别出测试需求是至关重要的,这将直接关系到用例的测试覆盖率。 比如,如果你没有识别出用户登录功能的安全性测试需求,那么后续设计的测试用例就完全不会涉及安全性,最终造成重要测试漏洞。
对于识别出每个测试需求点,需要综合运用等价类划分、边界值分析和错误推测方法来全面设计测试用例。
以用户登录的功能性需求为例
首先对“用户名”和“密码”两个输入框分别进行等价类划分,对于无效等价类的识别可采用错误推测法(如:用户名包含特殊字符);
然后补充输入框的边界值用例,如:为空、用户名长度刚刚大于限定长度;
设计测试用例的高级经验
深入理解被测试软件的架构,发现系统边界以及系统集成上的潜在错误
必须对内部的架构有清楚的认识,比如:数据库连接方式、数据库的读写分离、消息中间件的配置、缓存系统的层级分布、第三方系统的集成
必须深入理解被测软件的设计与实现细节、内部处理逻辑
只根据测试点设计测试用例只能覆盖“表面”一层,往往内部处理流程、分支处理无法覆盖完全;在具体实践中,可以通过代码覆盖率指标找出可能的测试遗漏点
测试用例设计
一般分为两种
显性功能性需求:指的就是软件本身需要实现的具体功能,比如“登录成功”,“密码错误”等
非功能性需求:主要涉及【安全性】【性能】【兼容性】三大维度,往往非功能性需求是决定软件质量的关键因素
用户登录的测试用例
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
只有经历艰辛的岁月,才能绽放出坚强的花朵;只有付出不懈的努力,才能迎来辉煌的明天。努力奋斗,为了成就自己的人生传奇,让每一份汗水都成为你成功的养料!
只有奋斗才能使生命绽放出属于自己的光彩,不断努力,才能实现心中的梦想,勇敢面对困难与挑战,每一次努力都是进步的开始,坚持不懈,终将收获辉煌的人生。
只有坚持不懈的努力,才能在人生的舞台上绽放出耀眼的光芒。无论遇到多少困难,都要永不言弃,相信自己的能力,勇往直前,追逐梦想的脚步永不停歇。
相关文章:

超细,设计一个“完美“的测试用例,用户登录模块实例...
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 好的测试用例一定…...

【C#】文件拖拽,获取文件路径
系列文章 【C#】编号生成器(定义单号规则、固定字符、流水号、业务单号) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129129787 【C#】日期范围生成器(开始日期、结束日期) 本文链接:h…...

SAP PI/PO初步了解 2023.07.03
SAP PI/PO 是SAP 提供的一种集成中间件解决方案,用于在组织内部或不同组织之间实现系统的无缝通信和数据交换。它使企业能够以统一高效的方式集成各种应用和系统,无论这些系统的技术平台或数据格式如何。 以下是关于SAP PI/PO的简要概述: 1…...

Java中生产者消费者模型
在Java中,生产者消费者模型是一种常见的多线程编程模型,用于解决生产者和消费者之间的数据交互问题。 简介 生产者(Producer)负责生成数据,并将数据放入共享的缓冲区(队列)中。消费者…...

测试Hyperledger Fabric环境
首先进入fabric-samples目录中的first-networked 子目录 cd fabric-samples/first-network 在first-network目录下有一个自动化脚本byfn.sh,可以使用-help参数查看相应的可 用命令,在命令提示符中输入如下命令: ./byfn.sh --help命令执行成功后&#…...

ClickHouse查询sql长度超超过最大限制
ClickHouse查询sql长度超超过最大限制 Max query size exceeded ClickHouse exception, message: Code: 62. DB::Exception: Syntax error: failed at position 262102 (‘fwm00ud6a3ynu0kaxr.ya0eyemkbzdvrxkhwgchccll’) (line 10406, col 17): fwm00ud6a3ynu0kaxr.ya0eyemk…...

【Axure教程】拖动调整行高列宽的表格
表格是在系统软件中非常常用的工具。表格通常由行和列组成,用于以结构化的方式显示和组织数据。它们在各种场景中都有广泛的应用,包括数据分析、数据录入、报表生成、项目管理和数据可视化等领域。 今天作者就教大家如何在Axure里制作一个能通过鼠标拖动…...

中间件-netty(1)
netty 前言篇 文章目录 一、IO基础篇1.概念1.1 阻塞(Block)和非阻塞(Non-Block)1.2 同步(Synchronization)和异步(Asynchronous)1.3 BIO 与 NIO 对比1.3.1 面向流与面向缓冲1.3.2 阻塞与非阻塞1.3.3 选择器的问世 2.NIO 和 BIO 如何影响应用程序的设计2.1 API调用2.2 数据处理2…...

【方法】想把PDF文档转换成PPT,如何操作?
很多小伙伴在工作中,会使用PDF或者PPT来展示内容。那如果需要把PDF转换成PPT,要如何操作呢? 我们知道,PPT转换成PDF很容易操作,只需通过PPT的【导出】选项,就可以直接转换成PDF;还可以通过“另…...

Linux--设置目录或文件的默认权限:umask权限掩码
目录起始权限是从777,普通文件起始权限从666 为何我们创建一个目录或文件,默认权限是你所看到的样子? 因为凡是在umask中出现的权限,都不应该在最终权限中出现! 最终权限起始权限&(~umask)…...

C++实现websocket单server单client全双工通信(基于boost!!!)
自身环境:ubuntu18.04gcc7.5.0boost1.7,3 环境配置 gcc或者g一般都有,这里主要介绍一下boost的配置方法 执行如下代码: wget https://boostorg.jfrog.io/artifactory/main/release/1.73.0/source/boost_1_73_0.tar.bz2 --no-check-cert…...

好用的网址5
搜番神器:https://trace.moe/ Online converter:Online converter - convert video, images, audio and documents for free 格式转换 GIF Explode:https://gif-explode.com/ SongDonkey:SongDonkey - AI Online Audio Split…...

做项目去实习到底做的什么?
300万字!全网最全大数据学习面试社区等你来! 今天是手机编辑的文章,说说做项目/实习这回事。 我之前发过一些视频,讲校招四要素的,其中一个很重要的部分就是实习。 对社招同学来说,就简单了,面试…...

VSC++: 验证身份证
缘由https://ask.csdn.net/questions/1082358 void 验证身份证() {//缘由https://ask.csdn.net/questions/1082358int 权重[] { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 }, 个 0, j 0, a 0, he 0;char M[] "10X98765432", 身份号[100][20]{};//…...

机器学习-方差和偏差理论
机器学习-方差和偏差理论 关于机器学习方差和偏差的内容其实很重要,这个方差和偏差可以帮助我们去分析,模型的泛化能力和过拟合的程度。 下面我们先给存储方差和偏差的公式: 注意,下式当中, f ( x ; D ) 表示在数据集…...

力扣 669. 修剪二叉搜索树
题目来源:https://leetcode.cn/problems/trim-a-binary-search-tree/description/ C题解1:递归法。当前节点为空时返回空,不为空时对其值进行分类讨论。以low为例,当前节点值等于low时,意味着其左子树都要丢弃…...

ChatGPT在多轮对话中的表现如何?
ChatGPT是一个非常强大的自然语言处理模型,它可以生成高质量的自然语言文本,并且在多轮对话中也有很好的表现。以下是关于ChatGPT在多轮对话中表现的详细介绍: 上下文感知 ChatGPT可以通过上下文感知来理解当前对话的语境和主题。在多轮对话…...

C++ 虚函数 (virtual function) 介绍
文章目录 1. 什么是虚函数2. 虚函数与非虚函数的区别3. 派生类中的虚函数4. 构造/析构函数可以是虚函数吗?5. 纯虚函数5.1 纯虚函数的定义5.1 纯虚函数的特定 1. 什么是虚函数 C 对象有三大特性:继承、封装、多态;虚函数就是实现多态的一种方…...

写给小白的ChatGPT和AI原理
前言 随着ChatGPT等生成式AI的大火,很多开发者都对AI感兴趣。笔者是一名应用层的开发工程师,想必很多类似的开发者都对AI这块不太了解,故而从自己的理解,写一篇給小白的AI入门文章,希望可以帮助到大家。 这是GPT对本…...

多元回归预测 | Matlab基于麻雀算法(SSA)优化混合核极限学习机HKELM回归预测, SSA-HKELM数据回归预测,多变量输入模型
文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元回归预测 | Matlab基于麻雀算法(SSA)优化混合核极限学习机HKELM回归预测, SSA-HKELM数据回归预测,多变量输入模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 …...

High Performance Visual Tracking with Siamese Region Proposal Network(SiamRPN)
High Performance Visual Tracking with Siamese Region Proposal Network(SiamRPN,CVPR2018) 主要贡献: 提出了SiamRPN跟踪器,首次将端到端的离线训练方式,应用到了大尺度的图像跟踪任务上在在线跟踪过程…...

【Vue3 生态】VueRouter 路由核心知识点
1. 动态路由 1.1 动态路由匹配 路由分为静态路由和动态路由。上面讲过的类似 ‘/login’ 这样写死的就是静态路由。 动态路由通过在路径中使用一个动态字段(简称:路径参数),来将不同的信息映射到同一个组件中。 如:…...

SpringCloud-Nacos配置管理
文章目录 Nacos配置管理统一配置管理在nacos中添加配置文件从微服务拉取配置 配置热更新方式一方式二 配置共享1)添加一个环境共享配置2)在user-service中读取共享配置3)运行两个UserApplication,使用不同的profile3)运…...

物流智能分拣管理
电子商务的兴起,实体消费和虚拟消费结合的方式加快商品流通速度。计算机硬件和软件结合,改变了现代社会的工作和生活。线上和线下的消费方式这种消费观念新颖,受到很多年轻消费者的青睐。不同的时期有不同的经济运行机制,电子是一…...

Qt编写视频监控系统79-四种界面导航栏的设计
一、前言 最初视频监控系统按照二级菜单的设计思路,顶部标题栏一级菜单,左侧对应二级菜单,最初采用图片在上面,文字在下面的按钮方式展示,随着功能的增加,二级菜单越来越多,如果都是这个图文上…...

界面开发框架Qt新手入门教程:如何使用Calendar组件创建日历(二)
Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 本文中的CalendarWi…...

charles unknown 问题和手机代理设置(iOS手机)
一、Charles下载 下载地址:https://www.charlesproxy.com/download/ 二、Charles配置代理 1.查看本机IP:help-->Local IP Address 2.查看或者设置访问端口:Proxy->Proxy Settings 3.设置不代理计算机的请求(推荐࿰…...

【备战秋招】每日一题:2023.03.26-阿里OD机试(第三题)-数组之和最小值
为了更好的阅读体检,可以查看我的算法学习网站 在线评测链接:P1119 题目内容 塔子哥是一个热爱数学的年轻数学家,他对数字和因子分解有着深入的研究。 有一天,他在一次偶然的探索中发现了一款神奇的游戏,名为“除数游戏”。 在…...

网站的SEO优化:提升搜索引擎可见性的关键步骤
93. 网站的SEO优化:提升搜索引擎可见性的关键步骤 SEO(Search Engine Optimization)是指通过优化网站的内容、结构、链接和其他因素,以提高网站在搜索引擎结果页面(SERP)中的排名和可见性的过程。 优化网…...

Spring Boot 中的服务注册是什么,原理,如何使用
Spring Boot 中的服务注册是什么,原理,如何使用 Spring Boot 是一个非常流行的 Java 后端框架,它提供了许多便捷的功能和工具,使得开发者可以更加高效地开发微服务应用。其中,服务注册是 Spring Boot 微服务架构中非常…...