首页 > 其他分享 >第六天笔记(设计用例的方法,等价类,边界值,判定表)

第六天笔记(设计用例的方法,等价类,边界值,判定表)

时间:2024-07-13 11:57:18浏览次数:17  
标签:第六天 边界值 等价 用例 score 判定 条件 无效

一、软件测试中术语

1.动态测试(dynamic testing):通过运行软件的组件或 系统来测试软件

例如:一辆汽车发动并行使测试

2.静态测试(static testing):对组件的规格说明书进行 评审,对静态代码进行走查

例如:一辆汽车为发动未行驶,查看外观、颜色、组成部分

3.正式评审(formal review):对评审过程及需求文档的 一种特定评审,比如:用例评审

a、组内评审(项目组中的成员:产品,开发,测试)

b、交叉评审(测试同事成员:测试a、测试b,测试c)

4、评审员(reviewer):参与评审的人

5、度量:测量所使用的方法或标准 (准入,准出)

6.记录员:记录评审会议上的会议纪要

7.技术评审(Technical Review):同行间对技术进行的评审,目的是技术实现达成共识

8.走查(Walkthrough):由文档作者逐步陈述文档内容,以收集信 息并对内容达成一致

9.复杂性(complexity):系统或组件的设计或内部结构比较复杂, 导致难以理解,维护或验证的程度

10.圈复杂度(Cycloramic complexity):程序中独立路径的数量。可 以衡量一个组件模块的判定结构的复杂程度。

例如:软件复杂程度

11.控制流(Control Flow):执行组件或系统的一系列顺序的路径

12.数据流(Data Flow):表示数据对象的顺利或状态发生变化的过程

例如:状态变法:待支付》已支付,代发货》已发货,代签收

13.控制流图

控制流图(CFG,Controlflowgraph)也叫控制流程图,是一个过程或程序的抽象表现。
14.圈复杂度

程序中独立路径的数量,可以衡量 一个组件模块的判定结构的复杂程 度。
三种计算方式:
a.圈复杂=区域数
b.圈复杂度=边数-节点数+2
c.圈复杂度=判定节点+1
案例:
if (x>100&&y>500) then
score=score+1
else if (x>=1000||z>5000)then
score=score+2

讲解:

a.圈复杂=区域数
v=3 (两块区域+1块外面区域)
b.圈复杂度=边数-节点数+2
v=7-6+2=3
c.圈复杂度=判定节点+1
v=2+1=3
案例:
a.圈复杂=区域数

b.圈复杂度=边数-节点数+2

c.圈复杂度=判定节点+1

比较:

if (x>100&&y>500) then
score=score+1
else if (x>=1000||z>5000) then
score=score+2
else
score=score+3
end if

用例设计方法之等价类

一、黑盒设计测试用例方法

1、等价类,边界值,判定表,因果图,正交表,场景 法,状态迁移法

2、错误推测法,异常分析法,随机测试

二、白盒测试设计用例方法

1、语句覆盖

2、判断覆盖

3、条件覆盖

4、判断条件覆盖

5、路径覆盖(独立路径覆盖,z路径)

=========================================

等价类:

定义:指某个输入域的集合,在集合中各个输 入的条件都是等效的。

有效等价类:对程序规格说明有意义的、合理 的输入数据

案例:

手机号:(1)11位 (2)纯数字

有效用例:15949613302

无效等价类:对程序规格说明无意义的、不合 理的输入数据

案例:

手机号:(1)11位 (2)纯数字

无效用例1:12位 159496133022 比手机位数多1

无效用例2:10位 15949613302 比手机位数少1

无效用例3:纯数字 1594961330A 非纯数字

等价类设计用例覆盖的原则:
(1)每个用例尽可能多的覆盖多个有效的等价类
(2)每个用例只能覆盖一个无效等价类
案例:
案例-练习:
现有一个档案管理系统,容许用户通过输入年月对档案文件进行 检索,系统对查询条件年月的输入限定为1990年1月~2049年12月,并规定:日期由6位数字字符组成,前4位表示年,后2位表示月

等价类划分的设计用例思路:

  1. 找输入条件
  2. 为每个输入条件找有效、无效等价类
  3. 为每个等价类编号
  4. 用最少的用例覆盖最多的有效等价类
  5. 每一个无效等价类都是一个用例
  6. 并非所有有效等价类都有无效
  7. 等价类的覆盖可以重复覆盖

常见的能够划分等价类的地方:

  1. 数值范围
  2. 重复次数
  3. 字符串长度
  4. 字符串组中字符的个数
  5. 文件命名
  6. 文件大小
  7. 屏幕的颜色种类
  8. 超时时间

等价类的优缺点
优点:是考虑了单个输入域的各类情况, 避免了盲目或随机选取输入数据的不完整 性和覆盖的不稳定性。
缺点:方法虽然简单易用,但是没有对组 合情况进行充分的考虑。需要结合其他测 试用例设
计的方法进行补充。比如边界值
练习1:

条件:

条件1(大于等于5位)

条件2(小于等于13位)

条件3(纯数字)

有效:812462278 满足1,2,3

无效1:1234 小于5位

无效2:12345678901234 大于13位

无效3:1234s56

无效4:aaaaaaa

无效5:!@@####

无效6: 空或null

练习2:
银行卡: 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位
闭区间
上点:5,13
离点:4,14
内点:8(6,7,8,9,10,11,12)
测试: 5(最小值),13(最大值),4(小于最小值),14(大于最大值),8中间值
开区间:
上点: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、判定表定义:分析和表达多逻辑条件下的执行不同操作的情况
2、作用:对组合情况设计用例
利用判定表将复杂的问题按照各种可能的 情况全部列举出来,能针对不同逻辑条件 的组合值,
分别执行不同的操作。
3、组成部分:
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.简化后的判定表

标签:第六天,边界值,等价,用例,score,判定,条件,无效
From: https://www.cnblogs.com/fujintao/p/18299914

相关文章

  • 测试面试宝典(三)——请你说下如何写测试用例
            写测试用例是软件测试工作中的重要环节,我通常会按照以下步骤来进行:        首先,充分理解需求文档和项目的功能规格。与开发人员、产品经理等相关人员沟通,确保对需求有清晰、准确的把握。        然后,确定测试的范围和目标。明确需要测试的功......
  • 【python生成用例报告】unittest、HTMLTestReport、参数化demo
    使用第三方的报告模版,生成报告HTMLTestReport,本质是TestRunner-安装pipinstallHTMLTestReport-使用1.导包unittest、HTMLTestReport2.组装用例(套件,loader)3.使用HTMLTestReport中的runner执行套件4.查看报告目录结构:app.py:importosBase......
  • 代码随想录算法训练营第六天 | Python | LeetCode242.有效的字母异位词、LeetCode349.
    哈希表理论https://programmercarl.com/%E5%93%88%E5%B8%8C%E8%A1%A8%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html一般哈希表都是用来快速判断一个元素是否出现集合里。数组/set/mapLeetCode242.有效的字母异位词题目链接:https://leetcode.cn/problems/valid-anagr......
  • 坐牢第五天加第六天 20240709
    作业1、提示并输入一个字符串,统计该字符串中字母、数字、空格以及其他字符的个数代码:​#include<stdio.h>#include<string.h>intmain(intargc,charconst*argv[]){chararr[100];inta,c,d,e=0;printf("请输入一个字符串:");gets(arr);f......
  • UML图书管理系统用例图示例
    新书速览|《UML2.5基础、建模与设计实践》新书速览|《UML2.5基础、建模与设计实践【例4.4】图书管理系统用例图。图书管理系统按其业务功能分成借阅者管理、图书管理、借书、还书和用户管理等几部分,这些职能对应于系统的不同组织部门。1)系统参与者图书管理系统针对的对象......
  • Django学习第六天
     启动项目命令pythonmanage.pyrunserver取消模态框功能js实现列表数据删除第二种实现思路使用jquery修改模态框标题编辑页面拿到数据库数据显示默认数据功能实现想要去数据库中获取数据时:对象/字典三种不同的数据类型使用Ajax传入数据实现表单编辑,删除,修改......
  • 「代码随想录算法训练营」第六天 | 哈希表 part2
    454.四数相加II题目链接:https://leetcode.cn/problems/4sum-ii/题目难度:中等文章讲解:https://programmercarl.com/0454.四数相加II.html视频讲解:https://www.bilibili.com/video/BV1Md4y1Q7Yh题目状态:没思路思路:创建一个unordered_map<int,int>类型的哈希表用来存储......
  • 2024年测试用例管理9大最佳工具(包括免费、付费及开源)
    软件测试管理是软件开发项目中一个很重要的环节,近些年随着可用的测试工具越来越多,测试系统本身越来越复杂,管理测试活动的各个方面已经成为一个越来越大的挑战。一、关于用Excel​做测试用例管理工具在测试团队的管理中,Excel可以用来维护测试用例,但无法满足需求的复杂度和迭代,需......
  • 用例导图CMind
            突然有一些觉悟,程序猿不能只会吭哧吭哧的低头做事,应该学会怎么去展示自己,怎么去宣传自己,怎么把自己想做的事表述清楚。                于是,这两天一直在整理自己的作品,也为接下来的找工作多做点准备。接下来献丑了,我鄙人花了2天时间整理出......
  • 测试用例
    一、什么是测试用例 1、测试用例的定义a.什么是测试用例?提前设计一个运行情况,而软件在这种运行情况之下,必须能够正常运行并且达到程序实际的预期结果b.如果软件按照测试用例运行达不到预期结果怎么办?软件有缺陷将这个标示出来,测试人员就要提交和反馈,交给开发人员,开发人员收......