超细,设计一个“完美“的测试用例,用户登录模块实例...

目录:导读

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


前言

好的测试用例一定是一个完备的集合,它能够覆盖所有等价类以及各种边界值,而跟能否发现缺陷无关

好的测试用例必须具备哪些特征

整体完备性:一定是一个完备的整体,是有效测试用例组成的集合,能够完全覆盖测试需求
等价类划分的准确性:对于每个等价类都能保证只要其中一个输入测试通过,其他输入页一定测试通过
等价类集合的完备性:需要保证所有可能的边界值和边界条件都已经正确识别

三种最常用的测试用例设计方法

等价类划分:
将所有可能的输入数据划分成若干个子集;
任意一个输入数据若是有效的则构成有效等价类;
输入数据对于揭露程序中潜在错误都具有同等效果则构成无效等价类;
后续只要从每个等价类中年任意选取一个值进行测试, 就可以用少量具有代表性的测试输入取得较好的测试覆盖结果;

边界值分析:
选取输入、输出的边界值进行测试;
边界值分析师对等价类划分的补充;

错误推断法:
基于对被测试软件系统设计的理解、过往经验以及个人直觉,推测出软件可能存在的缺陷,从而有针对性地设计测试用例方法。强调的是对被测软件的需求理解以及设计实现的细节把握

错误推断法的例子

C1

如何设计出好的测试用例

例子:测试面向终端用户的GUI测试
最核心的测试点:验证软件对需求的满足程度

如何做到:在需求分析阶段和技术设计阶段就开始介入

成效:设计出从终端用户使用场景考虑的端到端的测试用例集,主要验证各个业务需求是否被满足,基于黑盒的测试设计方法

重点:在具体的用例设计时,首先要搞清楚每一个业务需求所对应的多个软件功能需求点,然后分析出每个软件功能需求点对应的多个测试需求点,最后再针对每个测试需求点设计测试用例

以“用户登录”功能设计测试用例

【用户登录】功能的映射关系图

C2

关键点:
从软件功能需求出发,全面地、无遗漏地识别出测试需求是至关重要的,这将直接关系到用例的测试覆盖率。 比如,如果你没有识别出用户登录功能的安全性测试需求,那么后续设计的测试用例就完全不会涉及安全性,最终造成重要测试漏洞。

对于识别出每个测试需求点,需要综合运用等价类划分、边界值分析和错误推测方法来全面设计测试用例。

以用户登录的功能性需求为例

首先对“用户名”和“密码”两个输入框分别进行等价类划分,对于无效等价类的识别可采用错误推测法(如:用户名包含特殊字符);
然后补充输入框的边界值用例,如:为空、用户名长度刚刚大于限定长度;

设计测试用例的高级经验

深入理解被测试软件的架构,发现系统边界以及系统集成上的潜在错误
必须对内部的架构有清楚的认识,比如:数据库连接方式、数据库的读写分离、消息中间件的配置、缓存系统的层级分布、第三方系统的集成

必须深入理解被测软件的设计与实现细节、内部处理逻辑
只根据测试点设计测试用例只能覆盖“表面”一层,往往内部处理流程、分支处理无法覆盖完全;在具体实践中,可以通过代码覆盖率指标找出可能的测试遗漏点

测试用例设计

一般分为两种
显性功能性需求:指的就是软件本身需要实现的具体功能,比如“登录成功”,“密码错误”等

非功能性需求:主要涉及【安全性】【性能】【兼容性】三大维度,往往非功能性需求是决定软件质量的关键因素

用户登录的测试用例

请添加图片描述

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有经历艰辛的岁月,才能绽放出坚强的花朵;只有付出不懈的努力,才能迎来辉煌的明天。努力奋斗,为了成就自己的人生传奇,让每一份汗水都成为你成功的养料!

只有奋斗才能使生命绽放出属于自己的光彩,不断努力,才能实现心中的梦想,勇敢面对困难与挑战,每一次努力都是进步的开始,坚持不懈,终将收获辉煌的人生。

只有坚持不懈的努力,才能在人生的舞台上绽放出耀眼的光芒。无论遇到多少困难,都要永不言弃,相信自己的能力,勇往直前,追逐梦想的脚步永不停歇。

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

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

相关文章

java项目之足球赛会管理系统(ssm+mysql+jsp)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的足球赛会管理系统。技术交流和部署相关看文章末尾! 项目地址: https://download.csdn.net/download/sinat_26552841…

C#安装.Net平台科学计算库Math.Net Numerics

工作的时候需要使用到C#的Math.Net库来进行计算。 Math.Net库涵盖的主题包括特殊函数,线性代数,概率模型,随机数,插值,积分,回归,优化问题等。 这里记录一下,安装Math.Net库的过程…

Hugging Face开源库accelerate详解

官网:https://huggingface.co/docs/accelerate/package_reference/accelerator Accelerate使用步骤 初始化accelerate对象accelerator Accelerator()调用prepare方法对model、dataloader、optimizer、lr_schedluer进行预处理删除掉代码中关于gpu的操作&#xff0…

【C++ 重要知识点总结】表达式

表达式 1 基础 组合运算 优先级结合律 类型转换 运算符重载 左值和右值 2 算数运算符 3 逻辑和关系运算法 短路求值 逻辑与,当第一个判定为否的时候,不再执行第二个判定,可以用来屏蔽第二步的计算,代替条件判断&#xff0…

String类

String类 String类是Java中的字符串类型,它是引用类型 三种常用的字符串构造 public class Test {public static void main(String[] args){String str1 "hello";String str2 new String("hello");char[] array {h,e,l,l,o};String str3 new String(…

云计算——虚拟化层架构

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​ 前言 本章将会讲解云计算的虚拟化层架构,了解云计算虚拟化层都有哪些架构模式…

WPF嵌入外部exe应用程序-实现基本的嵌入

WPF嵌入外部exe应用程序 使用场景功能实现嵌入基本功能实现1.导入windows API2.运行外部程序3. 获取窗体句柄4. 嵌入窗体5.设置子窗体位置整个代码 嵌入存在的问题: 使用场景 在WPF桌面应用程序开发过程中,有时候需要将其他程序结合到一起,让…

mssql 以xml类型为存储过程传递不确定数量的参数

mssql 以xml类型传递不确定数量的参数 存储过程xml 处理在存储过程中参数在存储过程中使用 xml 作为参数存储过程 相信各位小伙伴在使用数据库的过程中,或多或少的建立了一些存储过程,并且带有一些参数,用来增加存储过程的适用性。 类似老顾的截图这样的,通常,我们需要将…

Redis基本全局命令(含key过期策略)

Redis基本全局命令 KEYEXISTSDELEXPIRETTLRedis的key过期策略TYPE KEY 返回所有满⾜样式(pattern)的key。⽀持如下统配样式。 h?llo 匹配 hello , hallo 和 hxlloh*llo 匹配 hllo 和 heeeelloh[ae]llo 匹配 hello 和 hallo 但不匹配 hilloh[^e]llo 匹配…

Debian 系统安装中文输入法-iTOP3588开发板

Debian 系统烧写完成之后,并没有中文输入功能。本文档将介绍如何安装 ibus pinyin 输入法。 首先安装 fcitx 对应的工具,如下图所示: apt-get install fcitx fcitx-tools fcitx-config* fcitx-frontend* fcitx-module* fcitx-ui-* presage …

2023-7-13-第十八式观察者模式

🍿*★,*:.☆( ̄▽ ̄)/$:*.★* 🍿 💥💥💥欢迎来到🤞汤姆🤞的csdn博文💥💥💥 💟💟喜欢的朋友可以关注一下&#xf…

opencv-06 使用numpy.array 操作图片像素值

opencv-06 使用numpy.array 操作图片像素值 **1.二值图像及灰度图像****利用item 读取某一个像素值****利用itemset 修改像素值****彩色图像numpy.arry 像素值操作** numpy.array 提供了 item()和 itemset()函数来访问和修改像素值,而且这两个函数都是经…

基于MATLAB的无人机遥感数据预处理与农林植被性状估算

查看原文>>>基于MATLAB的无人机遥感数据预处理与农林植被性状估算 在新一轮互联网信息技术大发展的现今,无人机、大数据、人工智能、物联网等新兴技术在各行各业都处于大爆发的前夜。为了将人工智能方法引入农业生产领域。首先在种植、养护等生产作业环节…

Offset Explorer2 监视kafka的利器

kafka作为一个生产者和消费者集为一体的框架,消费者必须一直保持打开的状态,并且每隔一段时间接收一次数据,才能够保持生产者放入的数据及时被处理掉,而生产者则可以每隔一段时间发送一波数据,这样消费者就能够接收到了…

layui入门增删改查

layui入门增删改查 创建Lauiyi对象1.后台准备1.dao方法2.子实现类 2.R工具类的使用3.查询前端代码实现前端页面 4.增删改实现2.浮层3分离的js代码1.userManage.js2.userEdit.js3.index.js 5.运行效果 作为一名开发人员,我们经常需要对数据库中的数据进行增删改查&am…

前端node.js入门

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 Node.js 入门 什么是 Node.js? 什么是前端工程化? Node.js 为何能执行 JS&…

【数据结构】二叉树详解(2)

⭐️ 前言 ✨ 往期文章链接:二叉树的概念性质 上一篇我们讲了二叉树的结构定义,以及前序/中序/后序的递归遍历,还有一些二叉树的接口实现,本篇我们补充一个二叉树的接口 BinaryTreeDepth。✨上一篇文章链接:二叉树详…

结合ChatGPT制作PPT

今天看到圈友的一个AI分享,然后自己本身需要做一个分享的PPT。刚好那着帖子实战一下。先说下整体感受。 优点:制作成本确实会比较低,很熟练的话大概就是1分钟一个都有可能。整体流程是先找个第三方PPT制作网站,看下支不支持文本转…

PLEX如何搭建个人局域网的视频网站

Plex是一款功能非常强大的影音媒体管理系统,最大的优势是多平台支持和界面优美,几乎可以在所有的平台上安装plex服务器和客户端,让你可以随时随地享受存储在家中的电影、照片、音乐,并且可以实现观看记录无缝衔接,手机…

opencv-14 图像加密和解密

在OpenCV中,图像加密和解密是通过对图像像素进行一系列的变换和操作来实现的 通过按位异或运算可以实现图像的加密和解密。 通过对原始图像与密钥图像进行按位异或,可以实现加密;将加密后的图像与密钥图像再次进行按位异或,可以实…