首页 > 其他分享 >【5】测试用例

【5】测试用例

时间:2024-06-16 18:01:10浏览次数:28  
标签:字符 等价 评审 用例 测试用例 输入

【一】基本术语
【1】术语一:
(1)动态测试:通过运行软件的组件或系统来测试软件
==》需要不断地去运行系统来检测软件是否存在bug或缺陷。 eg.运行抖音,腾讯课堂能否进入课堂等。
(2)静态测试:对组件的规格说明书进行评审,对静态代码进行走查。
》比如通过阅读等方式去检测软件是否存在bug或缺陷。 eg.阅读和看需求规格说明书,看代码是否有书写错误。
(3)正式评审又叫组内评审:对评审过程以及需求文档的一种特定评审。
多次用例评审有三种方式:
交叉评审:在测试组内测试人员相互进行先评审(人员一般就是测试组里面的)
组内评审(又称正式评审):在项目组内进行评审(项目经理,测试经理,开发经理,开发人员等等与项目组相关的人员)
会议评审:有客户方参与。
(4)度量:测试所使用的方法或者标准。用了哪些测试方法,版本迭代过程中是否 0 bug才能上线,bug率也会作为度量的指标,bug密度。
》1000条测试用例出现了多少条bug也会作为度量当前产品的质量。
(5)评审员:参与评审的人,每个人都可以是评审员
(6)记录员:记录评审会议上的会议纪要。
【2】术语二:
(1)技术评审:同行间对技术进行的评审,目的是技术实现达成共识。
==》对当前更新或者迭代的功能代码进行一个评审
==》对接口的代码进行一个评审
(2)走查::由文档作者逐步陈述文档内容,以收集信息并对内容达成一致
==》由产品经理对需求文档进行主讲
==》由软件测试工程师对测试用例进行主讲
(3)复杂性:系统或组件的设计或内部结构比较复杂, 导致难以理解,维护或验证的程度
(4)圈复杂度:程序中独立路径的数量。可以衡量一个组件模块的判定结构的复杂程度。(独立路径的数量就是圈复杂度)
==》开发人员编写的代码越复杂,圈复杂度越高
==》开发人员编写的代码越简单,圈复杂度越低

独立路径:独立路径是指从入口到出口的路径
1-4-6 ==》1指向4,4指向6
1-4-5-6
1-2-5-6
1-2-3-7-6
1-2-3-2-5-6 ==》不能1-2-3-2-3 ,走过一次就不能走了
一共5条独立路径 ==》圈复杂度等于5

1.圈复杂度的第一个通用计算公式:V = E - N + 2 (E:结构图的边数,N:节点数)
上面这个结构图一共10条边,7个节点
V = E - N + 2 = 10 - 7 + 2 = 5 ==》圈复杂度等于5
2.圈复杂度的第二个计算公式:V = 区域数
上面这个结构图所有的节点和线将整个区域分为了5块,最外面也属于一块区域。
3.圈复杂度的第三个计算公式:V = P + 1 (P是判定节点数,指向两个或两个以上的节点,判定节点指包含条件的节点,就是一个节点有是有否,一个节点有两个不同的方向,比如1指向2和4,2指向3和5,所以1和2是判定节点,图中一共有1,2,3,4四个判定节点 ==》4+1=5 ==》圈复杂度就是5)

练习:

圈复杂度等于3,独立路径:3条
单元测试,白盒测试
&与的符号:必须都满足条件,||或的符号,满足一个条件就可以了
a-d-g ==》(这条路径是n不满足的条件下走的)x=101,y=500,z=5000
a-b-c ==》(这条路径是y满足的条件下走的)输入x=101,y=501
a-d-e-f ==》x=101,y=500,z=5001
(5)控制流:执行组件或系统的一系列顺序的路径,以下为控制流程图(控制流图也叫控制流程图,是一个过程或程序的抽象表现)
==》开发人员根据要发生的场景画出控制流程图,比如登陆界面,输入密码失败,进入到重置密码界面,然后需要输入手机验证码等一系列场景,根据这些场景画出控制流程图

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

==》数据流从哪里来?从用户哪里来,用户首次注册的时候输入的数据
==》数据流最终会到哪里去?数据保存到数据库里面去,下次用户登陆的时候就会调取数据库的数据。
(7)计算对象:计算对象是结构图或程序图,而程序图又包括控制流图与流程图

【二】功能测试用例 设计方法 》等价类
常用的设计方法:
等价类(重点)
边界值(重点)
判定表
因果图
场景法(几乎不用)
正交表(几乎不用)
状态迁移图(几乎不用)
软件测试工程师
》根据需求文档编写测试点》根据测试点编写测试用例或者测试案例》根据测试用例去执行,然后发现bug

在公司如何进行评审测试用例:==》公司中最多的还是组内评审(项目组成员进行评审)
组内评审 ==》用例评审的会议 ==》发会议邀约 ==》谁写的用例谁主讲
【1】等价类
指某个输入域的集合,在集合中各个输入的条件都是等效的
输入域 ==》需求:考试成绩在0-100分之间进行打分 ==》0-100就是一个输入域 ==》0-100之间的数字属于这个输入域的集合
在0-100之间输入2,55,99,88都是等效的 ==》等价类当中的等价都是等价的
(1)有效等价类:对程序规格说明有意义的、 合理的输入数据(比如在0-100之间合理的输入数据2,55)
(2)无效等价类:对程序规格说明无意义的 、 不合理的输入数据(比如在0-100之间不合理的输入数据102,-1,dcs,小明)
规定了输入规则时,可以划分出一个有效的等价类(符合 规则)和若干个无效等价类(从不同角度违反规则)
eg1.密码由6-10位英文字符,或数字字符,或下划线组成
有效等价类:密码在6-10位字符之间
无效等价类:密码小于6位,或密码大于10位(从字符的长度方面违反),特殊字符,中文字符(从字符的类型方面违反)
eg2.输入值为布尔值(真或假)
有效等价类:输入框输入真或假
无效等价类:输入框输入非真或非假
eg2.规定了输入数据的一组值(如文化程度:初 中、高中、 大学)
有效等价类:输入框输入初中,高中,大学
无效等价类:输入框输入小学或者研究生

【2】等价类划分的测试用例的设计思路:
根据等价类用例设计方法去进行用例的设计
eg.QQ密码由6-10位英文字符,或数字字符,或下划线组成 ==》输入条件
(1)找输入条件
==》QQ密码由6-10位英文字符,或数字字符,或下划线组成
(2)为每个输入条件找有效、无效等价类,并为每个等价类进行编号

(3)用最少的用例覆盖最多的有效等价类
==》根据上面的需求开始编写测试用例
1.在公司里面一般会采用excel,xmind思维导图,脑图去编写测试用例
2.有的公司可能直接会在用例管理工具里面编写
==》测试用例通常包括
1.用例编号:dcs_001,dcs_002,dcs_003
2.用例标题:通常以验证开头
3.用例步骤:验证用例标题需要执行什么样的步骤,主要验证的是密码功能,账号默认是正确的,输入正确的密码是从有效等价类1,2,3,4里挑选组成的(输入错误的密码是从无效等价类5,6,7里挑选组成的)
4.预期结果:
5.场景:正常场景:正向的,登陆成功的,里面都是有效等价类,没有包含无效等价类 / 异常场景:无效等价类
(4)每一个无效等价类都是一个用例
(5)并非所有有效等价类都有无效
(6)等价类的覆盖可以重复覆盖

【3】等价类测试用例编写规范
看清楚需求,也就是要求,不要扣细枝末节然后把需求改了
(1)用例编号:dcs_001,dcs_002,dcs_003
(2)用例标题:
==》通常以验证开头
==》用例标题不能一直重复出现,要把明确的验证点写出来
==》用例标题不能出现或,一个用例标题只能存在一个条件。
验证在档案管理系统中输入年月份长度大于6位的数字字符进行检索,检索失败,1990011
验证在档案管理系统中输入年月份长度为6位特殊字符(非数字)进行检索,检索失败,@@%%¥¥
验证在档案管理系统中输入年份小于1990,月份为01-12月之间进行检索,检索失败,188702(此条用例包含一个无效等价类-->尽量每条用例包含一条无效等价类)
验证在档案管理系统中输入年份小于1990,月份大于12月进行检索,检索失败,188791(此条用例包含两个无效等价类-->尽量不要让一条用例包含两条无效等价类)
(3)用例步骤:验证用例标题需要执行什么样的步骤,主要验证的是密码功能,账号默认是正确的,输入正确的密码是从有效等价类1,2,3,4里挑选组成的(输入错误的密码是从无效等价类5,6,7里挑选组成的)
》1)等价类当中的等价都是等价的,在编写测试用例的时候,尽量不要重复相同的有效等价类,没有什么意义(例如有效等价类:密码在6-10位字符之间,验证输入1234567和12345678是相同的效果,重复没有什么意义)》只需要验证一次有效等价类就可以了
==》2)在编写测试用例无效等价类的时候,例如密码在6-10位字符之间,小于6位和大于10位无效等价类,各自验证一次12345五位密码和12345abcde十位密码就可以了 》再去验证1234四位密码和123456abcde十一位密码没有什么意义》只需要验证两次无效等价类就可以了
==》3)6-10位(从字符的长度方面违反),特殊字符,中文字符(从字符的类型方面违反)都要考虑到 ==》在编写测试用例的时候,每个不同的有效等价类都要验证一遍,不要漏掉 ==》QQ密码由6-10位英文字符,或数字字符,或下划线组成 ==》英文字符,数字字符,下划线都要验证到
》4)用例步骤用阿拉伯序号1,2,3表示就可以,用例步骤中例如 1.输入正确的密码如:1234567;》1234567后面不要加‘ ; ’ 因为测试的时候会把1234567;看作一个整体
(4)预期结果:
==》用例标题验证的正确密码,而在用例步骤的时候输入错误的密码,预期结果验证的登陆失败,写用例时要注意检查要首尾呼应,不要自相矛盾。
(5)场景:正常场景:正向的,登陆成功的,里面都是有效等价类,没有包含无效等价类 / 异常场景:无效等价类

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

有效等价类取值:
199001
199012

200006

204901
204912

无效等价类取值:
19900 ==》小于6位数字字符
2049121 ==》大于6位数字字符
!@@¥¥%% ==》包含特殊字符
1990ab ==》包含英文字符
1990多测师 ==》包含中文字符
189901 ==》年份小于1990
205001 ==》年份大于2049
199000 ==》月份小于01
204913 ==》月份大于12
输入年月份为空 ==》最容易出现bug的异常场景
【4】常见的能够划分等价类的地方
(1)数值的范围:1990-2049
(2)重复次数:银行卡取钱密码3次输入错误
(3)字符串长度:规定当前输入框输入字符串长度为6-8位字符
(4)字符串组中字符的个数最低为1个,最高为3个:[‘a’,‘b’,‘c’]
(5)文件命名:支持.jpg ,.jpeg , .bmp格式
(6)文件大小:支持上传的文件大小为1M-500M
(7)屏幕的颜色种类:黑色,橙色,蓝色
(8)超时时间:60s ==》ui自动化
【5】等价类的优缺点
优点:考虑了单个输入域的各类情况,避免了盲目或随机选取输入数据的不完整性和覆盖的不稳定性
缺点:方法虽然简单易用,但是没有对组合情况进行充分的考虑。需要结合其他测试用例设计的方法进行补充。比如边界值

【二】功能测试用例 设计方法 ==》边界值
【1】边界值定义
(1)上点:边界上的点
(2)离点:离上点最近的点(即上点左右两边最邻近的点)
(3)内点:在域范围内的点

一个输入域,用边界值用用例设计方法设计测试用例需要用到几个点?几个值? ==》点:上点(有两个值),离点(有两个值),内点 ==》 值:5个值
eg.在输入框中对0-100分进行打分
上点:边界上的点0,100
离点:-1 101
内点:88

闭区间【0,100】 ==》正常测试点:0,100 ==》异常测试点:-1,101 ==》内点(正常测试点):88
开区间(0,100) ==》正常测试点:1,99 ==》异常测试点:0,100 》内点(正常测试点):88
半闭半开区间【0,100)
》正常测试点:0,99 》异常测试点:-1,100 》内点(正常测试点):20
半开半闭区间(0,100】
》正常测试点:1,100
》异常测试点:0,101 ==》内点(正常测试点):20

工作中你认为是bug? 开发认为不是bug,你是如何处理?总结:三个方向:
(1)自我原因,检查自己的测试过程或疏忽的问题,如:页面404,服务未启动,自己配置错了等。
(2)开发原因:
a.你把报错的图片截取出来
b.把测试步骤记录下来,重现bug步骤
c. 查看后台的日志,把日志错误查找出来
d、在和开发进行沟通,说明原因;如果电话沟通不了,现场沟通,操作bug说明报错。
e.如果开发还是不认,需要找开发经理,协调测试,请求其他开发辅助解决;
(3)既不是开发原因,也不是测试原因,是产品原因
与开发沟通,开发是按需求开发,测试是按需求测试,测试的时候发现测试不了,少了某个步骤或环节,测试不了,找到开发,开发不认。找产品确定功能点,是不是产品遗漏了,如果是产品少了需求,就要从产品通过邮件发送整个项目组,补上需求,给开发加上工期,测试在测试。

标签:字符,等价,评审,用例,测试用例,输入
From: https://www.cnblogs.com/IThyryZZ/p/18251005

相关文章

  • 正交法设计测试用例
    条件和结果过于多了,怎么办?使用正交法,也叫正交试验法或正交排列法,就是使用最小的测试过程集合获得最大的测试覆盖率。基于正交试验,正交试验是研究多因素、多水平的一种实验方法,它利用正交表来对实验进行设计,通过少数实验代替全面的实验。在一项实验中把影响试验结果的量称为试验......
  • 14款测试用例管理工具详解
    14款不错的测试用例管理工具对比:PingCode、TestRAIl、Xray、PractiTest、TricentisqTest、禅道(ZenTao)、Zephyr、Tapd、TestLink、TestCollab、Testin云测、云效(AlibabaCloudEffect)、TeavCloud、FitNesse。在软件开发过程中,测试用例管理工具的使用变得越来越重要。这些工具......
  • 2024华为OD机试真题-测试用例执行计划-(C++/Python)-C卷D卷-100分
     2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++) 题目描述某个产品当前迭代周期内有N个特性(F1,F2,......FN)需要进行覆盖测试,每个特性都被评估了对应的优先级,特性使用其ID作为下标进行标识。设计了M个测试用例(T1,T2,......,TM),每个测试用例对应一个覆盖特性的集......
  • 测试用例设计方法六脉神剑——第一剑:入门试招,等价边界初探
    1背景及问题G.J.Myers在《软件测试技巧》中提出:测试是为了寻找错误而运行程序的过程,一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试,一个成功的测试是揭示了迄今为止尚未发现的错误的测试。对于新手来说,日常测试用例设计时,很少用到系统的方法论,大多是根据产品需......
  • 读取Excel格式测试用例
    测试用例编写测试用例编写格式(个人习惯)测试用例名称请求方法接口路由请求参数请求体断言方法断言信息titlemothodrouterparbodyassert_mothodasserted测试用例一GET/api/test{'id':'637c79c9d055780046de5593'}......
  • 读取Excel格式测试用例
    测试用例编写测试用例编写格式(个人习惯)测试用例名称请求方法接口路由请求参数请求体断言方法断言信息titlemothodrouterparbodyassert_mothodasserted测试用例一GET/api/testtext"errorCode":0测试用例一(登录)POST/api/login/testtext"er......
  • 测试用例执行计划
    #include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h> typedefstructFeature{   intftr_id;//特性id   intftr_pri;//特性优先级}Feature;typedefstructUseCase{   intuc_id;//用例id   intuc_pri;/......
  • 大模型应用之基于Langchain的测试用例生成
    一用例生成实践效果在组内的日常工作安排中,持续优化测试技术、提高测试效率始终是重点任务。近期,我们在探索实践使用大模型生成测试用例,期望能够借助其强大的自然语言处理能力,自动化地生成更全面和高质量的测试用例。当前,公司已经普及使用JoyCoder,我们可以拷贝相关需求及设计文......
  • 面经-测试用例
    微信修改头像微信手机充值百度输入框测试case兼容:不同操作系统不同浏览器不同百度版本不同手机类型安全:加密文件不允许搜索出来规避违规字符易用:是否支持复制粘贴输入时智能搜索推荐点击输入框有光标显示界面:布局,颜色合理无错别字异常:弱网。无......
  • 【软件测试】软件测试概念 | 测试用例 | BUG | 开发模型 | 测试模型 | 生命周期
    文章目录一、什么是软件测试1.什么是软件测试2.软件测试和调试的区别测试人员需要的素养二、软件测试概念1.需求1.需求的定义2.测试人员眼中的需求2.测试用例1.测试用例概念3.BUG软件错误4、开发模型和测试模型1.软件的生命周期2.开发模型1.瀑布模型2.螺旋模型3.......