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

部分设计用例(了解),编写测试用例方法

因果图(了解)===最终打是走向判断表

(1)因果图提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。
其中,原因是表示输入条件,结果是对输入执行的一系列计算后得到的输出。
因果图方法最终生成的就是判定表。(重要)
它适合于检查软件输入条件的各种组合情况(作用)

(2)因果图中的约束 在实际问题中输入状态相互之间、输出状态相互之间可能存在某些依赖关系,称为“约 束”
。对于输入条件的约束有E、I、O、R四种约束,对于输出条件的约束只有M约束。
E约束(异):a和b中最多有一个可能为1,即a和b不能同时为1。
例如:一个橙汁按钮、一啤酒按钮 ,只能选择一个按钮
I 约束(或):a、b、c中至少有一个必须为1,即a、b、c不能同时为0。
例如:两个人有2条路有2条路 :1号路线,2号路线,
你可以选1号路线
你可以选1号路线,2号路线两条路线
O约束(唯一):a和b必须有一个且仅有一个为1。
例如:两个人有2条路 :1号路线,2号路线,
只能选择一条路线,不能不选
R约束(要求):a是1时,b必须是1,即a为1时,b不能为0。
例如:两个人有2条路 :1号路线,2号路线
我选择1号路线,你也只能选择1号路线
M约束(强制):若结果a为1,则结果b强制为0。
例如:两个人有2条路 :1号路线,2号路线
我选择1号路线,你也只能选择2号路线

(3)因果图中的4种基本关系在因果图的基本符号中,
图中的左结点ci 表示输入状态(或称原因),右结点ei表示输出状态(或称结果)。ci与ei取值0或1,0表示某 状态不出现,1则表示某状态出现。
恒等:若 c1 是1,则 e1 也为1,否则e1 为0。
例如:有钱富豪
非:若 c1 是1,则 e1 为0,否则e1为1。
例如:有钱
穷人
或(符号:v):若 c1 或 c2 或 c3 是1,则e1 为1,否则e1为0
例如:有钱人== 有车或有房或存款
与():若 c1 和 c2 都是1,则e1 为1,否则e1为0。
例如:有钱人== 有车、有房、存款(同是满足)

(4)
因果图的步骤:
1.把大的系统规格划分解成可以测试的规格片段
2.分析分解后待测的系统规格,找出哪些是原因,哪些是结果
3.画出因果图
4.把因果图转换成判定表
5.简化判定表
6.用判定表中的每一列生成测试用例
(5)
因果图转换判定表的方法:

  1. 将因果图中的所有条件(因)填入判定表 的条件桩中
  2. 将因果图中的所有动作(果)填入判定表 的动作桩中;
  3. 根据因果图确定各个条件组合对应的动作,并且确定判定表中各个规则的条件项和动作项,在需要时优化判定表
    (4)
    因果图的优点/缺点 优点:
  4. 等价类法尽管各个输入条件可能出错的情况都考虑到了,但是多个输入条件组合起来出错的情况却被 忽略了2. 因果图法能够帮助我们按照一定步骤,高效的选择测试用例,设计多个输入条件组合用例
  5. 因果图分析还能为我们指出,程序规格说明描述中存在什么问题缺点:
  6. 输入条件与输出结果的因果关系,有时难以从软件需求规格说明书得到
  7. 即使得到了这些因果关系,也会因为因果关系复杂导致因果图非常庞大,测试用例数目及其庞大

三种经验测测试技术:(三种)
经验测试方法三种:
错误推测法、异常分析法、随机测试法
(1)错误推测法:
根据经验猜想,已有的缺陷,测试经验和失败数据等可能有什么问题并依此设计测试用例。
例如:金额小数点京经常显示,无法解析
(2)异常分析法:
系统异常分析法就是针对系统有可能存在的异常操作、软硬件缺陷引起的故障进行分析,依此设计测试用主要针对系统的容错能力、故障恢复能力进行测试。
例如:系统win11中安装最新版本微信,在指定安装版本1.10,直接覆盖;
高版本 安装后,在直接安装低版本,之前无法直接覆盖;现在可以覆盖,提高容错性
(3)随机测试法:
随机测试指的是测试中的所有的输入数据都是随机生成的,其目标是模拟用户的操作。
例如:
a、没有事前写好用例或者准备,没有经验的人,随机去测试份方法
b、一个领导测试视察软件,点击软件功能
(二)设计用例方法的主要设计用例
(1)等价类 、边界值 主要针对单个场景功能用例
(2)判定表、正交表、因果图 设计方法 适合组合功能的用例
(3)场景法 适合主流程,
(4)状态迁移 适合:状态的变更用例
(5)错误推测法、异常分析法、随机测试法:在根据经验测试方法进行测试 ,补充用例

(三)、使用各种测试方法思路
a、使用场景法先将测试主流程和次要流程用例写出来 (xmind图,发红包流程)
b、根据每个节点使用等价类、边界值进行设计用例 (金额:0.01 ,200)
c、遇到组合情况用:判定表、因果图、正交表来设计用例 (金额、个数、祝福语、封面 )
d、在将状态的变化使用状态迁移法设计用例(发红中、发送失败、发送成功)
e、再根据自己的经验追加测试用例,考虑异常测试用例

(四)用例分类:测试
功能测试用例、
边界值测试用例
状态转换的测试用例
异常测试测试用例
性能测试用例
安全测试用例

(五)优化测试用例:
利用设计测试用例的10种方法不断的对测试用例进行分解与合并

白盒测试技术
1、白盒测试技术定义:(也叫代码测试、结构测试或逻辑驱动测试、透明测试)
检查程序内部结构及路径是否符合规格说明,是否符合其代码规范。
2、白盒测试方法有那些?
(1)语句覆盖;
(2)判断覆盖(也称“分支覆盖”);
(3) 条件覆盖;
(4)判断、条件覆盖;
(5) 条件组合覆盖;
(6)路径覆盖
a、独立路径
b、z路径(循环)

3、详解每种设计用例方法
(1)语句覆盖;
语句覆盖:指设计若干个测试用例,使得程序运行时,每个可执行语句至少被执行一次。
(2)判断覆盖(也称“分支覆盖”);
判断覆盖:指设计若干个测试用例,使得程序运行时,每个判断条件的真假分支至少被执行一次。
(3) 条件覆盖;
条件覆盖:指设计若干个测试用例,使得程序运行时,每个判断条件中的每个判断式的真、假值至少被执行一次。
(4)判断、条件覆盖;
指设计若干个测试用例,使得程序运行时,每个判断条件中真、假值分支至少被执行一次,且每个判断条件的内部判断式的真、假值至少被执行一次
(5) 条件组合覆盖;
条件组合覆盖:指设计若干个测试用例,使得程序运行时,每个判断条件的内部判断式的各种真假组合都至少被执行一次;是逻辑覆盖测试中“覆盖能力”最强的。
(6)路径覆盖
A:独立路径覆盖
即覆盖所有的独立路径的测试,所谓独立路径应至少包含一条在其它路径中从未有过的语句。

B:Z路径覆盖
是一种将实际项目中复杂的程序减少其循环次数的路径覆盖方法,即:不考虑循环体实际需要执行多少次,只考虑通过循环体0次和1次这两种情况。
4、白盒测试的优缺点:
a、优点
(1).深入程序内部,测试粒度较细。
(2).是测试用例设计方法的组成部分,也是黑盒测试方法的有力补充。
(3).为自动化测试与性能测试奠定基础。
b、缺点:
(1).过分关注代码本身,容易偏离SRS实际需求
(2)对相应的编程语言要求较高,
(3)人力成本较大
5、黑盒测试+白盒测试+基于经验的测试

6、面试题:
(1)白盒测试的方法有那些?
(2)白盒测试是测试什么? 测试代码逻辑、结构、方法等
(3)白盒测试优缺点?
(4)工作中需要进行白盒测试?
a、一般公司不要
b、如果需要白盒测试,(1)需要能查看代码的权限,
(2)懂开发语言 (3)调试代码进行测试

编写测试用例技巧
一、测试用例来源
1、公司里就有现成模板 (用例模板)
a、你到了公司,公司中有测试模版,那你就直接用公司的模版
2、自己设计用例模板
3、导出用例管理工具的模板 (例如:禅道)

二、查看用例模板

三、用例模板中内容
必填:
用例编号、用例标题、前置条件、用例步骤、预期结果、优先级
非必填:用例类型、功能模块、创建时间、创建时间、实际结果、系统名称、执行时间

四 、测试用例详解
(一)用例编号
也可称为:用例id 、用例编号、编号、序号
按规则编写: 系统名称__模块名称__编号 (一般情况用大写系统名称和模块名称,用__下划线连接)
例如:WX_FHB_01
(二)用例标题
也称为:测试内容、测试名称、测试标题
定义:描述用例验证什么
案例:
验证微信发红包(新用户)
验证微信发红包(老用户)
验证微信发送红包失败(红包金额大于余额)
验证微信发送红包失败(零钱余额不足)
验证微信发红包超过最大金额有错误提示(>200)
注意点:
(1)用例标题是永远唯一、不存在两条相同的用例‘’
例如:
验证微信发送红包失败(无网络)
验证微信发送红包失败(密码错误)
验证微信发送红包失败(余额不足)
(2)标题描述、清晰、简单、易懂、
(3)标题能加上“验证”尽量加上
(4)用例标题和预期结果相呼应
(5)用例标题要写清楚验证的点
(6)用例标题是陈述句,不能用判断句、选择范围、禁止写:是否、正常等词
(7)不能把 bug写成一个用例
(8)一个无效的等价类就是一条用例,不能多个无效等价类写成一条用例
(三)优先级
高、中、低
高:核心的测试用例(冒烟测试用例),会阻碍大部分其他测试的用例,
举例: 能发红包、
中:备选流功能测试用例
删除、修改、添加、刷新等用例
低:无效等价类的用例、ui界面、字体、色差等

根据优先级给到开发bug等级
致命bug (1级bug)
严重bug (2级bug)
一般bug (3级bug)
建议性bug(4级bug)
(四)前置条件
定义:执行操作之前的准备
举例:
手机、两个微信号、银行卡、网络、
(五)用例步骤
也叫:测试步骤
定义:验证测试标题的具体的步骤
a、测试流程步骤按照序号编写:1,2,3,4,5, (换行alt+回车)
b、测试步骤开头都是动词
c、测试步骤一般不超过8个步骤 ,(简化步骤,前期的动作可以卸一句话上)
d、不能把上一个用例的步骤,作为现在用例的前置条件
e、每一条用例都是独立的
(六)预期结果
定义:达到预期的目标
a、预期结果要详细
b、预期结果要注意隐藏结果
c、页面跳转
d、订单状态有变更
e、预期结果,不能只写成功或者失败
f、页面提示语“”
g、结果设计到页面、数据变化,说明变化的内容
h、如果设计数据中表和字段的变化下来

七、测试用例注意点
1、标题要有代表性 举例:验证单个红包金额大于最大金额有错误提示 (>200) 步骤:输入201
验证单个红包金额最大金额能发送(=200)
2、能通过案例举行编写用例 :
举例:验收密码错误无法送发送 前置条件:支付密码123456 测试步骤:123457
3、提示语句用“” 引号
4、按钮 用【】表示
5、禁止用:是否、正常等语句
6、写用例遵循有的就写,没有的想场景(不可取)
7、 微信发送红包失败(原因)

http://www.jsqmd.com/news/646302/

相关文章:

  • 多模态鲁棒性不达标?立即启用这6种轻量级即插即用模块(附PyTorch 2.3兼容代码)
  • 成人智能体测仪市场剖析:2026 - 2032年复合年均增长率(CAGR)为6.0%
  • 告别手动调参!用AutoAugment自动搜索数据增强策略,让你的PyTorch模型精度再涨几个点
  • MWORKS.Sysplorer代码生成实战:永磁同步电机控制算法从模型到嵌入式部署
  • 不止于最短路径:Dijkstra那些被写进教科书却鲜为人知的概念(Stack、Semaphore、Deadlock)
  • 避开SpringSecurity多表登录的3个大坑:我的MyBatis-Plus整合血泪史
  • 智慧养老|基于springboot + vue智慧养老管理系统(源码+数据库+文档)
  • 代码分支管理规范
  • ESP-CSI:三步让普通路由器变身智能传感器的终极指南
  • 树莓派 4B 摄像头驱动优化与 Yocto 集成实战指南
  • JAVA-SSM学习6 MyBatisPlus-整合SpringBoot
  • Beyond Compare 5 永久激活终极指南:免费获取完整授权密钥的完整教程
  • LeetCode 217. Contains Duplicate 题解
  • 多模态大模型临床验证真相(仅限2024Q2最新NCCN/ESMO双指南采纳数据)
  • BGE Reranker-v2-m3开源大模型部署教程:基于FlagEmbedding的轻量级重排序服务搭建
  • 告别离群值困扰:手把手教你用FlatQuant为LLaMA-3-70B实现W4A4无损量化
  • 在Rocky Linux 10.1上,用智谱GLM-4.5-flash免费API驱动Strix进行自动化渗透测试
  • Redis 主从延迟检测与修复
  • 多模态大模型全链路优化黄金三角:数据层(多源异构清洗)、模型层(动态稀疏路由)、系统层(Unified Memory Pipeline)——20年AI基础设施专家闭门课
  • 从虚拟感知到物理交互:Sim-to-Real迁移中的状态表征对齐
  • 终极视频下载神器:一键保存国内7大主流平台在线视频的完整指南
  • 微信4.1.5.16 UI树“隐身”之谜:揭秘UIAutomation按需暴露机制与RPA破解之道
  • 树莓派+匿名飞控:不用遥控器,手把手教你搭建自主无人机的大脑与神经
  • 从AT24C02 EEPROM驱动看I2C控制器设计:Verilog状态机与双向端口处理的那些坑
  • 从OCV到CRPR:一次搞懂时序分析中“降额”与“悲观去除”的协同工作流
  • 紧急预警:多模态灰度中未监控的模态间延迟放大效应正在 silently 毁掉你的Recall@1——立即启用这4项关键SLI
  • 从Air724UG到ML307R:一个开源物联网项目的模组选型与硬件升级实战记录
  • PX4-V1.14开发笔记(4):VSCode插件配置与调试技巧
  • 电机控制:PWM 原理与应用
  • 2026浙江学历提升机构哪家强?Top5实力榜深度测评 - 商业科技观察