软件测试理论----测试设计方法论

news2024/11/24 20:29:12

1、测试用例格式

(1)用例编号:用例的唯一标识,要求具有易识别性和易维护性,能能够根据用例编号识别用例的目的和作用,一般格式为:A-B-C-D
其中

  • A:一般表示产品或者项目名称
  • B:表示用例属性(针对哪个的测试阶段,UT,IT,ST)
  • C:表示测试项或者功能模块
  • D:编号
    如:taobao-st-login-001

(2)测试项:说明测试用例所属功能模块
(3)用例名称:用于描述测试用例的关注点,原则上用例名称不能重复
如:输入错误的验证码,登录失败
(4)优先级:体现测试用例的重要程度,一般分为高、中、低
(5)测试类型:如:功能测试、可用性测试,兼容性测试、可靠性测试、安全测试,性能测试
(6)前置条件:描述执行用例时需要优先满足的条件
(7)测试步骤:根据业务流程描述出操作的每一个步骤(包括动作和数据)
(8)预期结果:根据需求描述用例每个测试步骤需要达到的效果(界面表现、功能表现、数据表现)
如:

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)根据需求,划分有效等价类和无效等价类,列出等价类表

    • 2)为有效等价类设计测试用例

    • 3)为无效等价类设计测试用例
      每个无效等价类需要用一个用例来覆盖,其他条件需要均为有效,注意,这里无效等价类不能叠加,因为如果叠加,可能存在因为一个无效等价类导致另一个无效等价类不能被测试到
      这里无效等价类的用例就不再列举了

3、边界值分析法

(1)原理:大多数的缺陷出现在输入的边界,如果边界即边界附近的值都不会引发错误,则集合内其他值引发错误的概率也非常低
(2)基本概念

  • 1)上点:输入边界上的点
  • 2)离点:离上点最近的点
  • 3)内点:输入范围内的点
    例:[2,6],上点为2,6(有效),离点为1,7(无效)
    例:[2,6),上点2(有效)、6(无效),离点1(无效),5(有效)

4、流程分析

(1)流程图的基本使用

如:

(2)基本概念

  • 1)基本流
  • 2)备选流
  • 3)异常流
    在实际测试过程中主要关注基本流和备选流

(3)使用步骤

  • 1)根据需求,画出流程图
  • 2)根据流程图提取测试路径
  • 3)利用等价类和边界值方法为每一条路径设计测试用例
    如:1)画流程图

    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)使用等价类和边界值为每一条规则设计测试用例

    例如:某系统库存查询功能,如图所示,使用正交实验法设计测试用例

    • 1)分析因此、水平数(6个因子,2水平)

      • 2)选取正交表(可以使用使用正交小助手(下载地址)),得到正交表,如下

      • 3)优化正交表

      • 1)补充全部不使用(+1)
      • 2)补充只使用一个条件(+6)
      • 4)为每一条规则设计测试用例

        6、状态迁移

        (1)什么是状态迁移法
        状态机的测试主要关注在测试状态转移的正确性上面,对于一个有限状态机,通过测试验证其在给定的条件下是否需能够产生需要的状态变化,有没有不可达的状态和非法的状态,可能不可能产生非法的状态转移等,对于被测系统,如果我们可以抽象出它的若干状态,以及这些状态之间的切换条件和切换路径,那么我们可以从状态迁移路径覆盖的角度来设计用例对该系统进行测试,状态迁移法的目标的设计足够的用例达到对系统状态的覆盖,状态-条件组合的覆盖以及状态迁移路径的覆盖
        (2)使用方法
  • 1)分析需求,明确对象的状态节点
  • 2)绘制状态迁移图
  • 3)绘制状态迁移树
  • 4)提取测试路径
  • 5)利用等价类与边界值为每条路径设计测试用例

    例如:某航空订票系统中订单的状态如下
    1)选定座位后,此时为待付款状态
    2)付款后,为已支付状态
    3)出行,到机场换取登机牌,此时为已出票状态
    4)过安检登机,此时为已出行状态
    5)在未出行前都可以取消
    步骤:
    1)分析状态节点:待付款、已支付、已出票、已出行、取消
    2)绘制状态迁移图

    3)绘制状态迁移树

    4)提取路径

    • 1)待付款-取消
      • 2)待付款-已付款-取消
      • 3)待付款-已付款-已出票-取消
      • 4)待付款-已付款-已出票-已出行
      • 5)为上述每条路径设计测试用例

7、判定表

(1)用于分析和表达在多个条件下程序执行不同动作的工具
(2)组成

  • 1)条件桩:列出影响结果的所有的条件
  • 2)动作桩:根据不同的条件可能执行的动作
  • 3)条件项:不同条件的组合
  • 4)动作项:在具体的条件下执行的动作
    格式如:


    举例如:

(3)使用方法

  • 1)分析需求,获取被测对象的输入和输出,定义条件桩,动作桩
  • 2)设计判定表
  • 3)优化判定表
  • 4)使用等价类和边界值对每一条规则设计测试用例

    举例:某文件管理系统中对修改文件有如下要求:第一个字符必须是A或者B,其余字符必须为数字,满足条件则修改文件名成功,如果第一个字符不合法,提示:第一个字符必须为A或者B。如果其他字符不合法,提示:其他字符必须为数字
    1)分析需求

    • 1)条件:
      • 1)第一个字符必须是A或者B
      • 2)其余字符必须为数字
    • 2)动作:

      • 1)修改文件名成功
      • 2)第一个字符必须为A或者B
        • 3)其他字符必须为数字

      2)设计判定表:


      3)优化判定表
      4)用等价类的方法和边界值的方法来设计测试用例

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/555303.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux的启动流程

文章目录 Linux的启动流程BIOS、boot loader与kernel加载BIOSboot loader加载内核检测硬件与 initramfs 的功能 Linux的启动流程 本文章参考: [Uncertainty!!]的Linux的启动流程 Linux的启动流程是一个非常复杂的过程,下面是对Linux启动流程的详细分析&a…

JDBC-Java与数据库之间的桥梁

1、JDBC 1.1、数据的持久化 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用, 数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数…

IO流详解

IO流 1. 文件 1.1 什么是文件 文件对大家来说都不陌生: 文件是保存数据的地方,它可以保存文字、图片、视频等等例如大家平时使用的word文档、Excel文档、PPT文档等都是文件 1.2 文件流 文件在程序中是以流的形式来操作的流是指数据在数据源&#x…

mydumper - 备份恢复工具

文章目录 介绍部署安装功能 参数详解mydumpermyloader配置文件 实际示例操作性能验证 补充definerlock 总结相关链接 介绍 部署安装 # 当前最新 release wget https://github.com/mydumper/mydumper/releases/download/v0.14.4-8/mydumper-0.14.4-8.el7.x86_64.rpm# 安装 rpm…

Linux 之 firewalld 防火墙

目录 firewalld概述firewalld 与 iptables 的区别:firewalld 区域的概念firewalld防火墙预定义了9个区域:firewalld 数据处理的流程 firewalld防火墙的配置方法:永久保存配置 firewalld概述 firewalld防火墙是Centos7系统默认的防火墙管理工具&#xff…

数据分析与预处理常用的图和代码

1.训练集和测试集统计数据描述之间的差异作图&#xff1a; def diff_color(x):color red if x<0 else (green if x > 0 else black)return fcolor: {color}(train.describe() - test.describe())[features].T.iloc[:,1:].style\.bar(subset[mean, std], alignmid, colo…

国内做校园信息化的龙头企业公司有哪些?

随着数字化转型的加速&#xff0c;越来越多的学校开始寻求校园信息化的解决方案&#xff0c;相比于传统信息化模式&#xff0c;国内有哪些做校园信息化做得比较好的企业&#xff1f;他们采用的又是什么样的方式&#xff1f; 一文带你了解&#xff0c;零代码平台搭建校园信息化…

Android 14 又来了?别扶!抬起我来吧!

Android 14 又来了&#xff1f;别扶&#xff01;抬起我来吧&#xff01; 大家好&#xff0c;好久不见&#xff0c;从去年底写完年终总结之后就再也没有更新过文章&#xff0c;之前最多也就间隔一两个月时间&#xff0c;但这回间隔时间确实有点长&#xff0c;基本快半年了&…

每日一练 | 网络工程师软考真题 Day7

1、如果希望别的计算机不能通过ping命令测试效劳器的连通情况&#xff0c;可以 &#xff08;1&#xff09; 。如果希望通过默认的Telnet端口连接效劳器&#xff0c;那么下面对防火墙配置正确的选项是 &#xff08;2&#xff09; 。 &#xff08;1&#xff09; A&#xff0…

为什么说2023年是学华为认证的最佳时机?学华为认证有什么优势?

华为认证数通方向2016年以前叫数通&#xff0c;2017年开始改为R&S&#xff08;路由交换&#xff09;&#xff0c;2021年正式升级为Datacom。 新版数通认证更聚焦于技术在现实工作场景中的应用&#xff0c;并融入了大量新技术新应用&#xff0c;实用价值更高。 通过系统学…

用java带你了解IO模型

目录 1.BIO1.1 简述1.2 代码示例1.3优点和缺点1.4 思考 2. NoBlockingIO2.1 简述2.2 代码示例2.3 优点和缺点2.4 思考 3. NIO&#xff08;NewIO&#xff09;3.1 简述3.2 代码示例3.3 优点和缺点3.3 思考 4. 扩展select/poll、epoll4.1 简述4.2 select/poll4.3 epoll4.4 扩展话题…

设计模式之【备忘录模式】,“后悔药”是可以有的

文章目录 一、什么是备忘录模式1、备忘录模式使用场景2、备忘录模式优缺点3、备忘录模式的三大角色4、白箱备忘录和黑箱备忘录5、思考&#xff1a;备份频率快&#xff0c;备份对象大的备忘录应该如何设计 二、实例1、备忘录模式的一般写法2、使用栈管理富文本编辑器3、游戏状态…

【Linux】shell编程—sed编辑器

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、sed编辑器1.sed工作流程2.sed工作场景3.sed常用选项 二、sed编辑器基本用法1.打印操作2.打印行号3.增加操作4.插入操作5.替换操作7.字符转换 一、sed编辑器 sed…

RabbitMQ(2)

一、MQ的问题 基于上篇存在的问题 1. 问题说明 MQ在分布式项目中是非常重要的&#xff0c; 它可以实现异步、削峰、解耦&#xff0c;但是在项目中引入MQ也会带来一系列的问题。 今天我们要解决以下几个常见的问题&#xff1a; 消息可靠性问题&#xff1a;如何确保消息被成功送…

编译flink1.6源码并打包成CDH6.3.2的parcel

说明&#xff1a;scala &#xff1a;2.12&#xff0c;maven:3.6.1, java:1.8&#xff0c;macOS 1、指定scala,maven的环境变量 sudo vi ~/.bash_profile export PATH$PATH:$M2_HOME/bin:/Users/admin/Documents/softwares/scala-2.12.17/bin2、克隆flink代码 git clone https…

smb配置,详细图文及配置

samba :网络文件共享服务 ​ Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件&#xff0c;而SMB是Server Message Block的缩写&#xff0c;即为服务器消息块&#xff0c;SMB主要是作为Microsoft的网络通讯协议&#xff0c;后来Samba将SMB通信协议应用到了Linux系统上…

【Android入门到项目实战-- 11.4】—— ExoPlayer视频播放器框架的详细使用

目录 什么是ExoPlayer 一、基本使用 1、添加依赖项 2、布局 3、Activity 二、自定义播放暂停 1、首先如何隐藏默认的开始暂停和快进&#xff1f; 2、自定义 三、控制视频画面旋转和比例调整 四、全屏放大和缩小 1、双击视频放大缩小 2、按钮放大缩小 五、完整的实现…

JS 面试整理

1.JS运行机制&#xff08;EventLoop事件循环&#xff09; Js是单线程&#xff0c;每次只能执行一项任务&#xff0c;其他任务按照顺序排队等待&#xff0c;使用eventloop来解决线程阻塞的问题。在执行栈过程中&#xff0c;有同步代码和异步代码时&#xff0c;首先会执行完所有…

Linux学习笔记 --- 初识Linux

PC操作系统&#xff0c;也就是个人电脑所使用的操作系统 一. 操作系统概述 导学&#xff1a;了解操作系统的作用&#xff0c;了解常见的操作系统有哪些 1.1 硬件和软件 说白了&#xff0c;硬件就是你看得见&#xff0c;摸得到的。 1.2 操作系统 1.3 常见操作系统 PC操作系统…

分布式消息队列-RabbitMQ从入门到精通

文章目录 分布式消息队列认知提升分布式消息队列&#xff08;MQ&#xff09;应用场景分布式消息队列&#xff08;MQ&#xff09;应用思考点MQ本身的一些思考点业界主流的分布式消息队列&#xff08;MQ&#xff09;MQ的技术选型关注点初识 JMS 与其专业术语 RabbitMQ四种集群架构…