首页 > 其他分享 >Testing Egineer note:2024_5_7-day06-part02

Testing Egineer note:2024_5_7-day06-part02

时间:2024-05-07 19:44:41浏览次数:18  
标签:Testing part02 2024 用例 测试用例 输入 测试 条件 因果

测试技术与测试设计

黑盒设计测试用例方法

    1. 等价类,边界值,判定表,因果图,正交表,场景法,状态迁移法
    1. 错误推测法,异常分析法,随机测试

白盒测试设计用例方法

    1. 语句覆盖
    1. 判断覆盖
    1. 条件覆盖
    1. 判断条件覆盖
    1. 路径覆盖(独立路径覆盖,z路径)

一、设计测试用例方法之等价类

等价类:

  • 定义:
    指某个输入域的集合,在集合中各个输 入的条件都是等效的。
  • 有效等价类:
    对程序规格说明有意义的、合理 的输入数据
    案例:
    手机号:(1)11位(2)纯数字
    有效用例:15949613302
  • 无效等价类:对程序规格说明无意义的、不合 理的输入数据
    案例:
    手机号:(1)11位(2)纯数字
    无效用例1:12位:159496133022,比手机位数多1
    无效用例2:10位:15949613302,比手机位数少1
    无效用例3:值类型:1594961330A,非纯数字
  • 等价类设计用例覆盖的原则:
    1. 每个用例尽可能多的覆盖多个有效的等价类
    1. 每个用例只能覆盖一个无效等价类

案例-练习:
现有一个档案管理系统,容许用户通过输入年月对档案文件进行 检索,系统对查询条件年月的输入限定为1990年1月~2049年12月,并规定:日期由6位数字字符组成,前4位表示年,后2位表示月

等价类划分的设计用例思路:
    1. 找输入条件
    1. 为每个输入条件找有效、无效等价类
    1. 为每个等价类编号
    1. 用最少的用例覆盖最多的有效等价类
    1. 每一个无效等价类都是一个用例
    1. 并非所有有效等价类都有无效
    1. 等价类的覆盖可以重复覆盖
常见的能够划分等价类的地方:
    1. 数值范围
    1. 重复次数
    1. 字符串长度
    1. 字符串组中字符的个数
    1. 文件命名
    1. 文件大小
    1. 屏幕的颜色种类
    1. 超时时间
等价类的优缺点
  • 优点:是考虑了单个输入域的各类情况, 避免了盲目或随机选取输入数据的不完整 性和覆盖的不稳定性。
  • 缺点:方法虽然简单易用,但是没有对组 合情况进行充分的考虑。需要结合其他测试用例设计的方法进行补充。比如边界值。
练习1:

条件:条件1(大于等于5位)条件2(小于等于13位)条件3(纯数字)

  • 解答:
    有效:812462278 满足1,2,3
    无效1:1234 小于5位
    无效2:12345678901234 大于13位
    无效3:1234s56
    无效4:aaaaaaa
    无效5:!@@####
    无效6: 空或null
练习2:

银行卡:条件1,卡号长度16-18位,条件二,卡号组成:纯数字或字母
点评:
(1)
练习3:微信红包红包金额:
条件
条件1:金额0.01-200
条件2:纯数字
条件3:小数位数保留两位
有效等价类:
1、20.22 1,2,3
无效等价类:
1、0.00 小于最小金额
2、200.01 大于最大金额
3、12.1a 非纯数字
4、12.001 保留三位小数

二、设计测试用例方法之边界值

边界值

  • 定义:
    (1)边界上的点
    (2)离点:离上点最近的点(即上点左右两边最邻近的点)
    (3)内点:在域范围内的点:
  • 案例1:5-13位
    1. 闭区间
      上点:5,13
      离点:4,14
      内点:8(6,7,8,9,10,11,12)
      测试: 5(最小值),13(最大值),4(小于最小值),14(大于最大值),8中间值
    1. 开区间:
      上点:5,13
      离点:6,12
      内点:8
      测试:5(最小值),13(最大值) ,6(最小值大1),12(最大值小1),8(中间值)
练习1:

根据实际场景
11位手机号
测试:
11位 (手机固定位数)
12位:12----五无上限 (固定位数大1)
10位: 1-10位(固定位数小1)
0位:为空

练习2:

单人红包金额0.01-200元
测试:0.01(最小值) ,200(最大值),0.00(小于最小值),200.01(大于最大值),1(中间值0.02-199.99)
(4)
边界条件分析:

  1. 输入条件明确了一个值的取值范围,或规定了值的个数
  2. 输入条件明确了一个有序集合
    (5)
    边界值分析原则
  3. 如果输入(输出)条件规定了取值范围,则应该 以该范围的边界内及边界附近的值作为测试用例
  4. 如果输入(输出)条件规定了值的个数,则用最 大个数,最小个数,比最小个数少一,比大个 数多一的数作为测试数据
  5. 如果程序规格说明中提到的输入或输出是一个有 序集合,应该注意选取有序集合的第一个和最后 一个元素作为测试数据

案例:
atm 输入框金额100-5000
测试:上点 100 5000
内点:101-4999
离点:99, 5001
备注:边界值是发现bug能力最强的一种测试方法

三、设计测试用例方法之判定表

判定表

  • 定义:分析和表达多逻辑条件下的执行不同操作的情况
  • 作用:对组合情况设计用例
    利用判定表将复杂的问题按照各种可能的 情况全部列举出来,能针对不同逻辑条件 的组合值,
    分别执行不同的操作。
  • 组成部分:
    1)条件桩(condition stub):列出问题的 所有条件(通常条件次序无关紧要)。
    2)条件项(condition entry):列出针对 它条件的取值(所有情况下的真假值)
    3)动作桩(action stub):列出问题规定 可采取的动作(顺序无约束)。
    4)动作项(action entry):列出条件各种情况的应采取的 动作

案例1:
对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理……”。

理解:1、 功率大于50马力的机器 和维修记录不全(优先)
2、已运行10年以上的机器(优先)
备注:条件3个 2的3次方=8次, 8次可以覆盖所有的组合情况

a.初始化判定表
b.简化后的判定表
4、
创建步骤:
1)确定规则的个数:若有N个条件,每一个条件下有2个值,则有2^n种规则。
2)列出所有条件桩与动作桩。
3)输入条件项。
4)输入动作项得到初始判定表。
5)简化(合并相似规则)。
6)编写测试用例
5、扫雷讲解
扫雷游戏:链接
网站1:(没有问号)http://www.minesweeper.cn/
网站2:https://saolei123.com/
6、判定表的作用:
利用判定表将复杂的问题按照各种可能的 情况全部列举出来,能针对不同逻辑条件 的组合值,分别执行不同的操作。

设计测试用例方法之因果图

因果图:
(1)定义:
因果图提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。其 中,
原因是表示输入条件,结果是对输入执 行的一系列计算后得到的输出
(2)作用:
因果图方法最终生成的就是判定表。它适合于检查软件输入条件的各种组合情况
(3)
a.因果图中的约束
在实际问题中输入状态相互之间、输出状 态相互之间可能存在某些依赖关系,称为“约 束”。对于输入条件的约束有E、I、O、R四种 约束,
对于输出条件的约束只有M约束。
ØE约束(异):a和b中最多有一个可能为1,即a和b不能 同时 为1。
ØI 约束(或):a、b、c中至少有一个必须为1,即 a、b、 c不能同时为0。
ØO约束(唯一):a和b必须有一个且仅有一个为1。
ØR约束(要求):a是1时,b必须是1,即a为1时,b不能 为0。
ØM约束(强制):若结果a为1,则结果b强制为0。
b.因果图中的4种基本关系
在因果图的基本符号中,图中的左结点ci 表示输入状态(或称原因),右结点ei表示输出 状态(或称结果)。
ci与ei取值0或1,0表示某 状态不出现,1则表示某状态出现。
Ø恒等:若 c1 是1,则 e1 也为1,否则 e1 为0。
案例1:有钱 = 富豪
Ø非:若 c1 是1,则 e1 为0,否则e1为1。
案例2:有钱 = 穷人
Ø或:若 c1 或 c2 或 c3 是1,则 e1 为1,否则 e1 为0。
案例3:
有车、
有房、 满足一个有钱人
有存款
Ø与:若 c1 和 c2 都是1,则 e1 为1,否则 e1 为0。
案例4:
有车、
有房、 满足三个是:有钱人
有存款
(4)
因果图转换判定表的方法:

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

================================
案例:
因果图案例:
一个处理单价为5角钱的饮料的自 动售货机。其规格说明如下:
若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币
案例3:
案例;
某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。
解答:
根据题意,原因和结果如下:
原因:
1——第一列字符是A;
2——第一列字符是B;
3——第二列字符是一个数字。
结果:
21——修改文件;
22 ——给出信息L;
23——给出信息M。
其对应的因果图如下:
11为中间节点;考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束。

设计测试用例方法之场景法(重要

标签:Testing,part02,2024,用例,测试用例,输入,测试,条件,因果
From: https://www.cnblogs.com/Aorphine/p/18177253

相关文章

  • 背单词 首字母 2024年05月
    2024-05-312024-05-302024-05-292024-05-282024-05-272024-05-262024-05-252024-05-242024-05-232024-05-222024-05-212024-05-202024-05-192024-05-182024-05-172024-05-162024-05-152024-05-142024-05-132024-05-122024-05-112024-05-102024-05-092024-05-082024-05-072024-......
  • 英语背单词 专四词汇 2024年04月 ChatGPT
    2024-05-312024-05-302024-05-292024-05-282024-05-272024-05-262024-05-252024-05-242024-05-232024-05-222024-05-212024-05-202024-05-192024-05-182024-05-172024-05-162024-05-152024-05-142024-05-132024-05-122024-05-112024-05-102024-05-092024-05-082024-05-072024-......
  • 2024.4.23
    继续之前任务@keyframescuIcon-spin{ 0%{ -webkit-transform:rotate(0); transform:rotate(0); } 100%{ -webkit-transform:rotate(359deg); transform:rotate(359deg); }}.cuIconfont-spin{ -webkit-animation:cuIcon-spin2sinfinitelinear; animation:cuIc......
  • 2024.4.25
    radio.radio[checked]::after,radio.radio.uni-radio-input-checked::after{ content:""; background-color:transparent; display:block; position:absolute; width:8px; height:8px; z-index:999; top:0upx; left:0upx; right:0; bottom:0; margin:......
  • 2024.4.24
    /*==================初始化====================*/body{ background-color:#f1f1f1; font-size:28upx; color:#333333; font-family:HelveticaNeue,Helvetica,sans-serif;}view,scroll-view,swiper,button,input,textarea,label,navigator,image{ box-sizi......
  • 概率学习2(2024-5-7)
       1.数据总体population、横截面研究cross-sectionalstudy,周期cycle,纵向研究longtitudinalstudy,记录record,参与调查的人respondent、样本sample、有代表性representative、过度抽样oversampling、原始数据rawdata、重编码recode、数据清洗datacleaning。 数据......
  • YC281A [ 20240429 CQYC省选模拟赛 T1 ] 玫瑰(rose)
    题意给定数列\(A,B,C\),每次操作,你可以花\(1\)的代价将\(A_i\)或\(B_i\)或\(C_i\)增加\(1\)。求使得三个数列每个元素排名相同的最小代价。\(n\le500\)Sol很厉害的题目。首先注意到这个最优方案只和前缀最大值有关,考虑设\(f_{i,j,k}\)表示当前状态枚举到了......
  • 2024.5.5 模拟赛
    seq对于\(n\leq15\),枚举每个子序列然后排序计算即可。时间复杂度\(\mathcalO(2^nn\logn)\)。对于\(A_i\)互不相同,可以枚举每个元素的贡献。即若\(A_i\)满足在某一子序列中排名第\(A_i\),则有\(1\)的贡献。也就是当\(1\simA_i\)都被选择时才能有贡献。而大于\(A......
  • 2024平航个人赛
    流量1、成功入侵网站的ip是192.168.5.214观察协议分级,发现主要是tcp的http报文为主使用统计功能,发现最多的分组是192.168.5.146,其次是192.168.5.214和192.168.5.157进行排查发现5.157的攻击者在1秒钟之内向5.146完成了所有的http请求,猜测5.157的攻击者只是实施了扫描或者......
  • 2024.5 模拟赛日志
    NOI2024数据结构选讲「广铁一中张冀飞」(20240427)多校NOI2024国赛模拟赛8(20240429)多校NOI2024国赛模拟赛9(20240430)NOI2024简单杂题选讲「金华一中毛艺婷」(20240501)多校NOI2024国赛模拟赛10(20240503)NOI2024网络流问题及其简单应用「重庆八中谢自均」(20240506)剩余7题。最小割......