IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 软件测试理论-软件测试的设计方法 -> 正文阅读

[开发测试]软件测试理论-软件测试的设计方法

一、因果图法

二、判定表法

2.1 概念

  • 是分析和表达多逻辑条件下执行不同操作的情况的工具。它由以下几个内容组成:
  1. 条件桩(condition Stub):列出了问题的所有条件。通常认为列出的条件的次序无关紧要。
  2. 动作桩(Action Stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束
  3. 条件项(Condition Entry):列出针对它做了条件额取值。在所有可能情况下的真假值。
  4. 动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作。

2.2 判定法步骤

  1. 识别出操作条件(原因),和对应的动作(结果)
  2. 分析条件的条件项(组合数量);如果有n个条件,每个条件有成立和不成立两种情况,那么最后一共会有2^n个数量
  3. 列出所有的条件桩和动作桩:1)填入条件项 2)填入动作项,制定初始判断表
  4. 简化和优化结果,合并

2.3 判定表使用实例

需求:订购单的检查

  • 如果金额超过500元,又未过期,则发出批准单和提货单;
  • 如果金额超过500元,但过期了,则不发批准单
  • 如果金额低于500元,则不论是否过期都发出批准单和提货单,在过期的情况下还需要发出通知单。

1)分析条件和动作

条件1条件2动作
金额>500未过期发出批准单和提货单
金额>500过期发出提货单
金额<=500未过期发出批准单和提货单
金额<-500过期发出批准单和提货单,通知单

2)写入条件桩、动作桩、条件项、动作项:

3)对判定表进行简化和优化(对其中不合理或者重复的进行取舍)

通过判定表可以看出,不管金额高低,只要未过期,就会发送批准单和提货单。(在测试时间不充足的情况下,可以选二者中的一个情况进行测试),所以优化后,条件项就减少成为3个。

4)将判定表中的每一列(条件项和对应的动作项)作为测试用例的数据和操作。

案例2:文件修改规则

规则:1)输入的第一列字符必须是A或B

? ? ? ? 2)第二列必须是一个数字

? ? ? ? 3)如果第一列字符不正确,则给出信息L

? ? ? ? 4)如果第二列字符不正确,则给出信息M

? ? ? ? 5)如果两列字符输入正确,则修改文件成功

条件第一列A或B1100
第二列数字1010
动作Lxx
Mxx
成功xx

2.5 适合使用判定表设计测试用例的条件:

  • 规格说明以判定表的形式给出,或很容易转换成判定表
  • 条件的排列顺序不影响执行哪些操作
  • 规则的排列顺序不影响执行哪些操作
  • 当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则
  • 如果某一规则要执行多个操作,这些操作的执行顺序无关紧要

2.6 总结

测试用例的设计方法:没有哪一种方式是单独使用的

1)所有的软件,都是因为某种操作才会导致一定的结果--考虑使用因果图法

2)所有的软件都有文本框。--考虑必须一定使用等价类、边界值。

3)多条件依赖的问题,使用判定表方法。

2.7 使用场景

  • 有多个输入条件,多个输出结果,输入条件之间和输出结果之间有依赖(制约)关系
  • 判定表一般适用于条件组合数量较少的情况(比如4个条件以下)
  • 提示:如果碰到项目中多条件组合大于4个相互依赖,可以使用正交表和因果图来实现。

三、场景法

3.1 流程图

  • 使用标准图形和箭头来表达程序或业务的走向

?流程图的主要作用设计业务用例的

3.2 场景法概念

  • 场景法也可以叫流程图法,是用流程图描述用户的使用场景,然后通过覆盖流程路径来设计测试用例
  • 意义:1:用户使用角度:用户平时使用的不是单个功能,而是多个功能组合起来进行使用? ? 2 测试人员角度:平时测试的都是单个功能点进行测试,容易忽略多个功能的组合测试。

3.3 场景法基本原理

  • 现在的软件几乎都是事件触发来控制流程的。测试时,可以生动的描述出事件触发时的场景,有利于设计测试用例,同时使测试用例更容易理解和执行。
  • 基本流:软件功能按照正确的事件流实现额一条正确流程。通常一个业务仅存在一个基本流,且基本流仅有一个起点和一个终点
  • 备选流:除了基本流之外的各支流,包含多种不同的情况。
  • 场景列表:
  1. 场景1基本流
  2. 场景2基本流 备选流1
  3. 场景3基本流 备选流1?备选流2
  4. ......

重点:

基本流(软件功能正确实现的流程):场景中必须有基本流

备选流(基本功能流程之外的过程):场景中必须有内容从用例的开始,到用例的结束。

四、设计用例的总结

1. 解决穷举测试覆盖问题

方法:等价类

介绍:有效等价和无效等价

步骤:1)明确需求 2)划分有效和无效等价 3)编写用例

2. 解决边界限制测试覆盖问题

方法:边界值+等价类

介绍:上点 - 边界上的点;内点 - 范围内的点; 离点 - 离边界最近的点

? ? ? ? 全部有7条案例,优化后有5条案例

步骤:1)明确需求 2)划分等价(有效、无效) 3)确定边界 4)编写用例

3.?解决多条件依赖测试覆盖问题

方法:判定表

介绍:1)表格工具 2)条件桩 - 先陈列所有的条件 3)条件项 - 条件的取值

? ? ? ? 4)动作项 - 预期结果 5)动作桩?- 系统规则输出结果

步骤:1.明确需求 2.画判定表 3.设计用例

4.?解决项目业务测试覆盖问题

方法:流程图法

提示:测试用例,首先设计业务用例,其次设计单功能

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-05-01 16:02:03  更:2022-05-01 16:02:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 11:43:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码