软件测试 -- 功能测试--测试用例设计(方法)

(测试用例写完,一般会进行用例评审,目的是对测试用例进行审查和评估,以确保测试用例的质量和完整性,从而提高测试的有效性和效率。用例评审通常由测试小组中的多个成员参与,包括测试人员、开发人员、业务分析师和项目经理等。

所以说这块,我没法写啊,还是去找些相关用例评审的视频,具体了解下,他们评审是怎么做的。)

测试用例设计:可以理解根据软件测试用例方法来进行测试用例。

在编写测试用例时需要遵循一定的方法论,以确保测试的全面性和有效性。

测试用例常用方法:

  1. 等价类划分法:将输入数据分成几个等价类,每个等价类的数据都应该产生相同的输出结果。

  2. 边界值分析法:测试边界值和接近边界的值,以发现边界条件是否会产生错误。

  3. 因果图法:用于描述系统的功能和行为,以确定可以生成的测试用例。

  4. 决策表(判定表)方法:将各种输入条件与其对应的行为和输出结果组合成一个表格,生成测试用例。

  5. 状态转换法:通过定义状态和状态之间的转换,生成测试用例。

  6. 错误推测法:通过推测和假设错误条件和错误数据,生成测试用例。

  7. 随机测试法:通过随机输入数据来测试系统,以模拟真实环境。

  8. 用户场景测试法:测试用户在实际使用软件时的操作流程和场景,以确定测试用例。

测重点

  1. - 等价类(五星)

  2. - 边界值(五星)

  3. - 判定表(五星)

  4. - 场景法(流程图)(五星)

  5. - 错误推测法(二星)

  6. - 其他的了解概念

等价类划分法

  1. 概念:通过科学的方法找到具有共同特性的测试输入的子集,能够从穷举测试中解

  2. 放(大大减少了测试用例的数量,从而提升测试效率。)

  3. - 分类

  4. - 有效等价类:满足需求

  5. - 设计测试用例的步骤

  6. - 需求分析

  7. - 划分等价类

  8. - 有效

  9. - 无效

  10. - 规则(需求本身)

  11. - 长度

  12. - 类型

  13. - 是否为空(必填项)

  14. - 是否重复

  15. - 设计用例

  16. - 典型应用场景

  17. - 输入框

等价类划分法设计测试用例的步骤

1. 需求分析

        明确需求 (找到所有的输入项)

2. 划分等价类

        针对每个输入项分别确定有效和无效等价类 

3. 编写测试用例

       一条用例尽可能多的覆盖有效等价类;

       无效等价类中每个取值都要使用一条用例来覆盖;

写出下面问题的有效等价类、无效等价类。1、程序要求输入一个数X,并且X的取值范围为集合{1,3,7,15}。

 有效等价类:1,3,7,15无效等价类:2,4

2、用户名(昵称)长度为 3-19,以字母开头,字母或数字结尾

  1. 有效等价类:

  2. - 用户名长度为3-19,以字母开头数字结尾

  3. - 用户名长度为3-19,以字母开头字母结尾

  4. 无效等价类:

  5. - 用户名长度小于3,

  6. - 用户名长度大于19,

  7. - 以数字开头

  8. - 以字母开头,以空格结尾

  9. - 特殊字符、汉字、为空

例1:如:城市电话号码,来设计测试用例

  1. 城市电话号码:某城市的电话号码是由3部分组成,分别是:

  2. 地区码:空白或是3位数字

  3. 前缀:非‘0’且非‘1’开头的三位数字

  4. 后缀:4位数字

图片

图片

图片

例2:新浪邮箱登录

图片

图片

图片

例3:TPShop商城注册功能测试用例设计

图片

测试用例的编写一般是根据需求说明书中的需求来进行的。

我也没有,哈哈哈,一般来说都是产品经理来写的

项目经理与产品经理跟测试人员之间的关系

  1. 在软件项目中,项目经理、产品经理和测试人员通常需要密切合作,以确保项目的成功

  2. 。他们之间的关系可以简要描述如下:

  3. 项目经理与产品经理:项目经理需要与产品经理进行沟通和协调,以确保项目的目标和

  4. 需求能够得到充分的理解和实现。项目经理需要了解产品经理所编写的需求规格说明书

  5. 或需求文档,以便将其纳入项目计划和进度管理中,并在项目执行过程中与产品经理保

  6. 持沟通,及时解决问题和风险。

  7. 产品经理与测试人员:产品经理需要与测试人员进行沟通和协调,以确保测试用例能够

  8. 充分覆盖需求,并验证软件是否满足用户和客户的期望。产品经理需要向测试人员提供

  9. 需求规格说明书或需求文档,以便测试人员编写相应的测试用例。在测试过程中,产品

  10. 经理需要与测试人员保持沟通,以及时解决测试过程中的问题和风险。

  11. 项目经理与测试人员:项目经理需要与测试人员进行沟通和协调,以确保测试计划能够

  12. 充分覆盖项目的目标和需求,并在测试执行过程中保证质量和进度。测试人员需要向目

  13. 经理提供测试计划、测试进度和测试报告,以便项目经理进行项目管理和控制。在测试

  14. 过程中,项目经理需要与测试人员保持沟通,及时解决测试过程中的问题和风险。

  15. 总之,项目经理、产品经理和测试人员需要相互合作,保持良好的沟通和协调,以确保

  16. 软件项目能够按时、按质量完成,满足用户和客户的期望和需求。

说白了,还是有工作经验的好,有工作经验还用了解这些?搞吧,趁年轻,学一点是一点

  1. tpshop注册功能需求说明:

  2. 手机号:第一位为1,第二位非2,的11位自然数

  3. 注意:对于邮箱注册,仅验证邮箱格式是否正确

  4. xxxx-长度为4-16,类型为数字,字母,下划线组合(可以是纯字母或者数字,不能以下划线开头)

  5. 验证码:字母或者数字,与图片一致,点击刷新按钮可以更新验证码

  6. 设置密码:要求同输入框提示,6-16位大小写英文字母,数字或符号的组合 (可以是纯字母,数字,符号)

  7. 确认密码:同设置密码

  8. 推荐人手机:(非必填,之前注册成功的用户)

  9. 我已阅读并同意:勾选之后才可以点击同意协议并注册

划分等价类、边界值(以密码举例)

边界值一会介绍

图片

图片

测试用例

图片

  1. ID:建用例编号

  2. 用例优先级

  3. P0:一般为保证软件中最主要、重要的功能,最基本的流程能正常运行而设计

  4. P1:次要功能、小功能

  5. P2:UI、边界、错误的设置

  6. P3:错误信息、较复杂的场景、不常用的场景

  7. 测试结果:pass、fail、block(由于有bug不能继续执行时填写)、NA(由于环境、资源缺失不能执行时填写)

  8. 测试版本号:当前测试任务所用的软件版本号

  9. 备注:

  10. 1. fail的用例问题描述和对应的bugID可填入此项中

  11. 2. block和NA的用例需要在此项填写原因

  12. 3. 对用例有疑问,或此用例需要更新也可以填写在此项中

适用场景:

针对需要数据量大,有测试数据输入的地方 

典型代表:页面级的输入框类测试

边界值

  1. 上点:边界上的点(正好等于)

  2. 离点:距离上点最近的点(刚好大于、刚好下于)

  3. 内点:范围内的点(区间范围内的数据)

       

  1. - 作用:对等价类的补充,统计表明程序最容易出错的地方就是在边界附近。

  2. - 概念:基于边界值【有效等价类和无效等价类的分界点】设计测试用例的一种【黑盒】方法

  3. - 设计测试用例步骤

  4. - 需求分析

  5. - 划分等价类

  6. - 确定边界

  7. - 上点

  8. - 内点

  9. - 离点

  10. - 设计测试用例

  11. - 典型应用场景

  12. - 存在边界 > >= < <= 大于 小于等于

图片

图片

图片

- - 上点:必选(不考虑区间开闭)  - 内点:必选(建议选择中间范围)  - 离点:开内闭外(考虑开闭区间,开区间选择内部离点,闭区间选择外部离点)

适用场景:

在等价类的基础上针对有边界范围的测试数据输入的地方 

常见词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰词语 

典型代表:有边界范围的输入框类测试

判定表

  1. - 概念:存在多个输入条件、多个输出结果,输入和输入之间有组合关系,输入和输出

  2. - 之间有依赖或制约关系。

  3. - 判定表组成:

  4. - 条件桩:所有输入条件,如欠费状态、关机状态

  5. - 动作桩:所有的可能的输出结果,如允许主被叫、不允许主被叫

  6. - 条件项:单个条件的取值范围,一般都是有效等价类和无效等价类(关机、不关机)

  7. - 表示方式

  8. - 字符:

  9. - 真/有效等价类/Y

  10. - 假/无效等价类/N

  11. - 数字:

  12. - 真/有效等价类/1

  13. - 假/无效等价类/0

  14. - 动作项:基于每一种条件的组合,得到确认的结果,如打不通等

图片

设计测试用例的步骤

1. 明确条件桩(找到所有的输入条件)2. 明确动作桩(找到所有的输出结果)3. 对条件桩进行全组合4. 明确每个组合对应的动作桩(基于每一种条件的组合情况,确定本组合下的输出结果。)5. 设计测试用例,每行数据对应一条测试用例

真假表示说明:

表示形式
数字10
符号YN

如:用户呼叫

图片

例2:

订单检查,如果金额大于500元,又未过期,则发出批准单和提货单;        如果金额大于500元,但过期了,则不发批准单与提货单;        如果金额小于500元,则不论是否过期都发出批准单和提货单;        在过期的情况下,不论金额大小还需要发出通知单。

图片

例3:文件修改

如果想对文件进行修改,   输入的第一列字符必须是A/B,第二列字符必须是一个数字,   如果第一列字符不正确,则给出信息L;   如果第二列字符不正确,则给出信息M。

图片

2个条件组合数:4

3个条件组合数:8

3个条件组合数:16

n个条件组合数:2的n次方

适用场景:

有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖(制 约)关系

以下测试用例的几种方法,不是重点,了解即可

因果图、正交法、场景法、错误推测法

因果图

  1. - 概念:用图解的方法表示输入的各组合关系,写出判定表,进而设计测试用例的一种【黑盒测试】方法。

  2. - 适用范围:适用于分析程序输入条件的各种组合情况,以及输入和输出之间的依赖关系。

  3. - 核心

  4. - 因:条件

  5. - 果:结果

  6. - 基本符号(掌握)

  7. - 恒等(-):条件成立,结果成立。

  8. - 非(~)NOT:条件成立,结果不成立;条件不成立,结果成立。

  9. - 或(V)OR:只要有一个条件成立,结果就成立;所有条件都不成立时,结果才不成立。

  10. - 与/且(^)AND:多个条件必须同时成立,结果成立;只要有一个不成立,结果就不成立。

 
  1. 设计测试用例的步骤

  2. - 需求分析

  3. - 画出因果图

  4. - **将因果图转换为判定表**

  5. - 生成测试用例

例1:

如果想对文件进行修改,   输入的第一列字符必须是A/B,第二列字符必须是一个数字,   如果第一列字符不正确,则给出信息L;   如果第二列字符不正确,则给出信息M。

图片

图片

正交法

用最小的测试用例获得最大的测试覆盖率。

L4(23):3因素2水平

图片

**说明**- k代表因素(输入参数)- m叫水平(输入参数的取值)- n代表测试用例数- 读法:k因素m水平
基于正交表设计测试用例- 需求分析- 确定因素与水平(因素:控件名称;水平:每个控件对应的取值)- 确定要采用的正交表- 将正交表中的字母用文字代替- 设计测试用例(一行就是一条测试用例)

例:字符属性设置程序

窗体中有多个控件(字体、字符样式、颜色、字号),每个控件有多个取值字体:仿宋、楷体、华文彩云字符样式:粗体、斜体、下划线颜色:红色、绿色、蓝色字号:20号、30号、40号

图片

allpairs工具,设计测试用例步骤

步骤- 需求分析- 确定因素与水平(因素:控件名称;水平:每个控件对应的取值)- 将确定的因素与水平复制到txt文件中- 打开DOS窗口,进入allpairs目录,运行命令:allpairs.exe test.txt > result.txt- 根据生成的新文件编写测试用例(一行就是一条测试用例)

工具allpairs放到百度网盘里了

场景法(流程图法)

介绍:场景法,也可以叫流程图法,是用流程图描述用户的使用场景,然后通过覆盖流程路径来设计测试用例。

意义:

用户使用角度:用户平时使用的不是单个功能,而是多个功能组合起来进行使用 

测试人员角度:平时测试的都是单个功能点进行测试,容易忽略多个功能的组合测试

  1. - 概念:场景法就是模拟用户操作软件时的场景,主要用于测试多个功能之间的组合使用情况。

  2. - 使用测试阶段

  3. - 集成测试

  4. - 系统测试

  5. - 验收测试

  6. - 设计测试用例的步骤

  7. - 需求分析

  8. - 绘制流程图

  9. - 设计测试用例(一条流程路径就是一条测试用例)

  10. - 流程图常用符号

图片

开始或结束:椭圆

方向或路径:箭头

处理或操作:长方形

判断:菱形

输入或输出:平行四边形

  1. - 绘制流程图

  2. - 第1步:确认场景中关键业务步骤

  3. - 第2步:确定业务之间的先后顺序

  4. - 第3步:用箭头连接即可

  5. - 绘制工具

  6. - Microsoft Visio

  7. - 软件介绍

  8. - Visio的安装

  9. - 以管理员身份运行Visio2003_SP3.exe

  10. - 默认安装即可,中间不需要修改或填写任何内容

  11. - Visio的基本使用:

  12. - 新建

  13. - 画图

  14. - 选中---del---删除操作

  15. - ctrl 鼠标左键 拖拽 画纸边缘 -- 扩大画纸

  16. - ctrl 滚轮 -- 放大缩小

  17. - 组合与取消组合

 visio绘制流程图软件,已放到百度网盘

图片

适用场景:对于多个功能之间的组合逻辑测试

错误推测法

概念:利用经验或智慧发现程序中可能犯错的地方。

适用场景:

所有正常测试结束后,通过错误推断法再测试之前问题较多的模块 

时间紧,任务量大,根据之前项目类似经验找出易出错的模块重点测试

总结:
- 具有输入功能,但输入之间没有组合关系==》【等价类】- 输入有边界 如长度、类型==》【边界值】- 多输入、多输出、输入与输入之间存在组合关系、输入与输出之间存在依赖或制约- 关系==》【判定表、因果图】- 用最少的测试用例获得最大测试覆盖率时 ==》【正交法】- 多个功能的组合测试 ==> 【场景法、流程图】- 最后推荐使用【错误推测法】来进一步补充测试用例

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

GPU 算力与 CUDA 版本对应关系

1. 查询 GPU 算力&#xff08;Compute Capability&#xff09; https://developer.nvidia.com/cuda-gpus#compute 2. GPU 算力与 CUDA 版本对应关系 2.1. 信息来源 1 NVIDIA Datacenter Drivers :: NVIDIA Data Center GPU Driver Documentation 2.2. 信息来源 2 https://e…

如何在openEuler上安装和配置openGauss数据库

本文将详细介绍如何在openEuler 22.03 LTS SP1上安装和配置openGauss数据库&#xff0c;包括数据库的启动、停止、远程连接配置等关键步骤。 1、安装 使用OpenEuler-22.03-LTS-SP1-x64版本的系统&#xff0c;通过命令行安装openGauss数据库。 1.1、确保系统软件包索引是最新…

ret2dl_resolve

前言&#xff1a; ret2dl_resolve 是一种利用漏洞进行攻击的技术&#xff0c;主要针对使用动态链接库的程序。它的核心原理是利用程序的重定位机制&#xff0c;通过构造特定的函数返回地址&#xff0c;来劫持控制流并执行攻击者选择的代码。以下是对 ret2dl_resolve 原理的详细…

[oeasy]python035_根据序号得到字符_chr函数_字符_character_

字符(character) 回忆上次内容 上次了解了ord函数 ord 的意思是 ordinal(序号) ord函数 可以 根据字符得到序号 那么 可以 反过来 吗&#xff1f; 根据序号 得到字符可以 吗&#xff1f;&#x1f914; ord的逆运算 首先进入游乐场 ord 根据参数"h" 得到序号104 chr…

EtherCAT转Profient协议网关简述

Profinet 转 EtherCAT 的连接与通信问题一直是许多人关注的焦点&#xff0c;也常常给人们带来诸多困惑。在此&#xff0c;我们将深入剖析这一问题&#xff0c;并为大家提供切实可行的解决方案。WL-PN-ECATM型设备在这方面表现卓越&#xff0c;能够有效解决这一难题。接下来&…

视频制作软件哪个好?前十名推荐!

在视频制作领域&#xff0c;选择合适的软件是提升创作效率和作品质量的关键。本文将根据软件的适用人群&#xff1a;新手入门和专业领域&#xff0c;以及推荐的书籍&#xff0c;为您详细介绍视频制作软件的前十名。 新手入门级别&#xff1a; 1.影忆 功能特点&#xff1a;新手入…

实现领域驱动设计(DDD)系列详解:集成限界上下文

一个项目中通常存在着多个限界上下文&#xff0c;并且我们需要在它们之间进行集成。 在上下文映射图中存在两种主要形式&#xff1a;一种是通过绘制一些简单的框图来展示它们之间的集成关系&#xff1b;另一种则是通过代码来实现这些集成关系。 到了具体的技术实现&#xff0…

设计模式之备忘录

一、备忘录设计模式概念 备忘录模式&#xff08;Memento&#xff09; 是一种行为设计模式&#xff0c; 允许在不暴露对象实现细节的情况下保存和恢复对象之前的状态。 适用场景 当你需要创建对象状态快照来恢复其之前的状态时&#xff0c; 可以使用备忘录模式。当直接访问对象的…

羽毛球场馆预约系统,便捷管理预约

全国羽毛球运动的热度不断上升&#xff0c;在健身行业中掀起了一股羽毛球热潮。同时羽毛球运动的风靡&#xff0c;也吸引了不少人入局&#xff0c;各种大大小小的羽毛球馆不断出现&#xff0c;为大众的羽毛球喜好提供了场地。 随着互联网的发展&#xff0c;羽毛球馆也开始向线…

双控开关接入NVBoard

导入NVBoard git仓库&#xff1a;https://github.com/NJU-ProjectN/nvboard 按照ysyx手册的要求&#xff0c;初始化NVBoard项目。 由于GitHub在国外&#xff0c;可能会超时无响应&#xff1a; 解决方案是修改代理。 当前的运行环境是VM VirtualBox虚拟机&#xff0c;网卡是…

豆包PixelDance:超越Runway和Sora的AI视频模型出炉

2024年9月24日&#xff0c;北京——字节跳动在火山引擎发布会上&#xff0c;震撼发布了两款AI视频模型&#xff1a;豆包视频生成的PixelDance模型和Seaweed模型&#xff0c;标志着AI视频技术迈入了一个全新的纪元。今天&#xff0c;我们将聚焦于豆包PixelDance模型&#xff0c;…

ffplay播放器研究分析

ffplay研究分析意义 ffplay.c是FFmpeg源码⾃带的播放器&#xff0c;调⽤FFmpeg和SDL API实现⼀个⾮常有⽤的播放器。 例如哔哩哔哩著名开源项⽬ijkplayer也是基于ffplay.c进⾏⼆次开发。 ffplay实现了播放器的主体功能&#xff0c;掌握其原理对于我们独⽴开发播放器⾮常有帮助…

加固与脱壳01 - 环境搭建

虚拟机 VMWare 多平台可用&#xff0c;而且可以直接激活&#xff0c;需要先注册一个账号 https://support.broadcom.com/group/ecx/productdownloads?subfamilyVMwareWorkstationPro KALI 类Ubuntu系统&#xff0c;官方提供了 vmware 版本&#xff0c;直接下载就可以使用。…

Vue3:element-plus el-Table列表合计处理显示字符串类型/计算合计数值

需求整理 1.使用element组件库中的 el-table组件实现图上 底部当前页合计的功能。在一般的情况下&#xff0c;只需要计算数值部分的值&#xff0c;因为组件中的方法中处理的就是将值的类型转换成数值类型&#xff0c;像string类型的字符串的话&#xff0c;在进行转换的时候会出…

认识URL

目录 url定义 定义 实例 url组成 组成 大家看到这时是否会有疑问&#xff1a;我们常用的端口号8080和http默认端口号有什么关系&#xff1f; url定义 定义 url就是统一资源定位符&#xff0c;简称网址。目的是使用url用于访问网络上的资源 实例 url组成 组成 实例&a…

微信小程序开发第八课

一 公告 1.1 微信小程序端 #js###const api require("../../config/settings.js") Page({data: {noticeList: [{title: 公告标题1,create_time: 2024-04-25,content: 公告内容描述1&#xff0c;公告内容描述1&#xff0c;公告内容描述1。, // 可以根据实际情况添加…

如何用Stable Diffusion XL模型,绘制精致的二次元插图,学完就能用!

哈喽大家好&#xff0c;我是画画的小强&#xff0c;持续分享AI相关知识干活。 今天给大家推荐一款Stable Diffusion XL二次元模型&#xff0c;这款模型在C站的下载排行很高&#xff0c;而且质量绘制出的二次元人物和场景都非常的棒&#xff01;那么首先介绍一些什么是Stable D…

火了!清华大学终于把Python整理成动画片了,教学通俗易懂,学完即可就业!

在当今人工智能时代&#xff0c;编程技能的重要性日益凸显。而Python作为一门广泛应用且易于学习的编程语言&#xff0c;就受到了众多学习者的青睐。 清华大学&#xff0c;作为国内顶尖的高等学府&#xff0c;其教育资源与师资力量无需多言。这部动画版教程&#xff0c;正是集…

Frontiers出版社系列SCISSCI合集

【SciencePub学术】本期&#xff0c;小编根据WOS数据库&#xff0c;整理了一下Frontiers出版社系列的SCI&SSCI合集&#xff0c;以供各位学者投稿参考&#xff01; 来源&#xff1a;WOS数据库 Frontiers系列期刊中&#xff0c;Frontiers in Immunology以其5.7分的影响因子位…

st7735调试记录

由于该模块陪我已经超过十年&#xff0c;最近想起来学习下lvgl&#xff0c;于是乎将其拿出来&#xff0c;尝试使能该模块从而学会lvgl 第一步肯定是找到资料确定下该模块是否好用。于是到网络上找到如下资料进行验证&#xff1a; https://pan.baidu.com/s/1CEunLuGUqLABR6I0UZ…