测试开发技术网站
博客
设计
设计
开发
Python
测试
unittest
运维
Linux基础应用
CI/CD
CI/CD
数据库
数据库
云计算
云计算
云原生
云原生
爬虫
爬虫
数据分析
数据分析
人工智能
人工智能
登录
注册
测试理论----测试设计方法论
收藏本文
作者:redrose2100 类别: 日期:2022-05-07 16:44:11 阅读:1372 次 消耗积分:0 分
### 1、测试用例格式 (1)用例编号:用例的唯一标识,要求具有易识别性和易维护性,能能够根据用例编号识别用例的目的和作用,一般格式为:A-B-C-D 其中 * A:一般表示产品或者项目名称 * B:表示用例属性(针对哪个的测试阶段,UT,IT,ST) * C:表示测试项或者功能模块 * D:编号 如:taobao-st-login-001 (2)测试项:说明测试用例所属功能模块 (3)用例名称:用于描述测试用例的关注点,原则上用例名称不能重复 如:输入错误的验证码,登录失败 (4)优先级:体现测试用例的重要程度,一般分为高、中、低 (5)测试类型:如:功能测试、可用性测试,兼容性测试、可靠性测试、安全测试,性能测试 (6)前置条件:描述执行用例时需要优先满足的条件 (7)测试步骤:根据业务流程描述出操作的每一个步骤(包括动作和数据) (8)预期结果:根据需求描述用例每个测试步骤需要达到的效果(界面表现、功能表现、数据表现) 如: ![](/static/upload/20220507_163918.png) ### 2、等价类 (1)原理:根据需求将被测对象的所有可能的输入划分为若干集合,在每一个集合中,每一个元素对于发现but的效果是等价的 (2)分类: * 1)有效等价类 * 2)无效等价类 (3)等价类划分原则 * 1)在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类 * 2)在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类 * 3)在输入条件时一个布尔量的情况下,可以确定一个有效等价类和一个无效等价类 * 4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确定n个有效等价类和一个无效等价类 * 5)在规定了输入数据必须遵守的规则情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则) * 6)在确定已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步细分 (4)使用步骤: * 1)分析需求,根据划分原则,划分出有效等价类和无效等价类 * 2)列出等价类表 * 3)为有效等价类设计测试用例(设计原则:一条用例尽量多的覆盖未被覆盖的有效等价类,重复操作,知道所有的有效等价类被覆盖完) * 4)为无效等价类设计测试用例(设计原则:每条测试用例覆盖一个未被覆盖的无效等价类,重复操作,知道所有的无效等价类被覆盖完) * 举例:邮箱注册: 要求: * 1)邮箱地址:6-18个字符,可以包含字母数组下划线,以字母开头 * 2)密码:6-16个字符,区分大小写 * 3)手机号:有效 步骤: * 1)根据需求,划分有效等价类和无效等价类,列出等价类表 ![](/static/upload/20220507_163947.png) * 2)为有效等价类设计测试用例 ![](/static/upload/20220507_164006.png) * 3)为无效等价类设计测试用例 每个无效等价类需要用一个用例来覆盖,其他条件需要均为有效,注意,这里无效等价类不能叠加,因为如果叠加,可能存在因为一个无效等价类导致另一个无效等价类不能被测试到 这里无效等价类的用例就不再列举了 ![](/static/upload/20220507_164030.png) ### 3、边界值分析法 (1)原理:大多数的缺陷出现在输入的边界,如果边界即边界附近的值都不会引发错误,则集合内其他值引发错误的概率也非常低 (2)基本概念 * 1)上点:输入边界上的点 * 2)离点:离上点最近的点 * 3)内点:输入范围内的点 例:[2,6],上点为2,6(有效),离点为1,7(无效) 例:[2,6),上点2(有效)、6(无效),离点1(无效),5(有效) ### 4、流程分析 (1)流程图的基本使用 ![](/static/upload/20220507_164051.png) 如: ![](/static/upload/20220507_164111.png) (2)基本概念 * 1)基本流 * 2)备选流 * 3)异常流 在实际测试过程中主要关注基本流和备选流 (3)使用步骤 * 1)根据需求,画出流程图 * 2)根据流程图提取测试路径 * 3)利用等价类和边界值方法为每一条路径设计测试用例 如:1)画流程图 ![](/static/upload/20220507_164147.png) 2)提取路径 * 1)1-2-3-4 * 2)1-2-5-6-7-8-9-2-3-4 * 3)1-2-5-10-11-8-9-2-3-4 * 4)1-2-5-6-7-8-12 * 3)为每条路径设计测试用例 * 1)一次猜测正确,奖励1000积分 * 2)第一次猜大了,第二次猜测正确,奖励1000积分 * 3)第一次猜小了,第二次猜测正确,奖励1000积分 * 4)连续猜错5此,游戏结束 ### 5、正交试验 (1)常用于功能测试(查询)、配置测试等 (2)基本概念: * 1)因子:影响试验结果的条件 * 2)水平:每个因子可能的取值 (3)试验步骤 * 1)分析需求,获取因子以及因子的水平数 * 2)根据因子及水平选择正交表 * 3)根据实际情况以及经验优化正交表 * 4)使用等价类和边界值为每一条规则设计测试用例 例如:某系统库存查询功能,如图所示,使用正交实验法设计测试用例 ![](/static/upload/20220507_164207.png) * 1)分析因此、水平数(6个因子,2水平) * 2)选取正交表(可以使用使用正交小助手(下载地址)),得到正交表,如下 ![](/static/upload/20220507_164223.png) * 3)优化正交表 * 1)补充全部不使用(+1) * 2)补充只使用一个条件(+6) * 4)为每一条规则设计测试用例 ### 6、状态迁移 (1)什么是状态迁移法 状态机的测试主要关注在测试状态转移的正确性上面,对于一个有限状态机,通过测试验证其在给定的条件下是否需能够产生需要的状态变化,有没有不可达的状态和非法的状态,可能不可能产生非法的状态转移等,对于被测系统,如果我们可以抽象出它的若干状态,以及这些状态之间的切换条件和切换路径,那么我们可以从状态迁移路径覆盖的角度来设计用例对该系统进行测试,状态迁移法的目标的设计足够的用例达到对系统状态的覆盖,状态-条件组合的覆盖以及状态迁移路径的覆盖 (2)使用方法 * 1)分析需求,明确对象的状态节点 * 2)绘制状态迁移图 * 3)绘制状态迁移树 * 4)提取测试路径 * 5)利用等价类与边界值为每条路径设计测试用例 例如:某航空订票系统中订单的状态如下 1)选定座位后,此时为待付款状态 2)付款后,为已支付状态 3)出行,到机场换取登机牌,此时为已出票状态 4)过安检登机,此时为已出行状态 5)在未出行前都可以取消 步骤: 1)分析状态节点:待付款、已支付、已出票、已出行、取消 2)绘制状态迁移图 ![](/static/upload/20220507_164245.png) 3)绘制状态迁移树 ![](/static/upload/20220507_164306.png) 4)提取路径 * 1)待付款-取消 * 2)待付款-已付款-取消 * 3)待付款-已付款-已出票-取消 * 4)待付款-已付款-已出票-已出行 * 5)为上述每条路径设计测试用例 ### 7、判定表 (1)用于分析和表达在多个条件下程序执行不同动作的工具 (2)组成 * 1)条件桩:列出影响结果的所有的条件 * 2)动作桩:根据不同的条件可能执行的动作 * 3)条件项:不同条件的组合 * 4)动作项:在具体的条件下执行的动作 格式如: ![](/static/upload/20220507_164325.png) 举例如: ![](/static/upload/20220507_164344.png) (3)使用方法 * 1)分析需求,获取被测对象的输入和输出,定义条件桩,动作桩 * 2)设计判定表 * 3)优化判定表 * 4)使用等价类和边界值对每一条规则设计测试用例 举例:某文件管理系统中对修改文件有如下要求:第一个字符必须是A或者B,其余字符必须为数字,满足条件则修改文件名成功,如果第一个字符不合法,提示:第一个字符必须为A或者B。如果其他字符不合法,提示:其他字符必须为数字 1)分析需求 * 1)条件: * 1)第一个字符必须是A或者B * 2)其余字符必须为数字 * 2)动作: * 1)修改文件名成功 * 2)第一个字符必须为A或者B * 3)其他字符必须为数字 2)设计判定表: ![](/static/upload/20220507_164404.png) 3)优化判定表 4)用等价类的方法和边界值的方法来设计测试用例
始终坚持开源开放共享精神,同时感谢您的充电鼓励和支持!
版权所有,转载本站文章请注明出处:redrose2100, http://blog.redrose2100.com/article/106
上一篇:
测试理论----测试管理方法论
下一篇:
Git命令基础应用
搜索
个人成就
出版书籍
《Pytest企业级应用实战》
测试开发技术全栈公众号
测试开发技术全栈公众号
DevOps技术交流微信群
加微信邀请进群
常用网站链接
开源软件洞察
云原生技术栈全景图
Python语言官方文档
Golang官方文档
Docker官方文档
Jenkins中文用户手册
Scrapy官方文档
VUE官方文档
Harbor官方文档
openQA官方文档
云原生开源社区
开源中国
Kubernetes中文文档
Markdown语法官方教程
Kubernetes中文社区
Kubersphere官方文档
BootStrap中文网站
JavaScript中文网
NumPy官方文档
Pandas官方文档
GitLink确实开源网站
数据库排名网站
编程语言排名网站
SEO综合查询网站
数学加减法练习自动生成网站
Kickstart Generator
文章分类
最新文章
最多阅读
特别推荐
×
Close
登录
注册
找回密码
登录邮箱:
登录密码:
图片验证码:
注册邮箱:
注册密码:
邮箱验证码:
发送邮件
注册邮箱:
新的密码:
邮箱验证码:
发送邮件