热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

测试用例设计格式及常用的方法

测试用例格式用例编号:​A-B-C-D​A:产品或项目名称,B:用户属性STITUT,C:

测试用例格式

用例编号:

​ A-B-C-D

​ A:产品或项目名称,B:用户属性 ST IT UT ,C:客户管理(C1新增客户)

​ D:编号

​ CRM-ST-客户管理-新增客户-001

测试项:

​ 客户管理-新增客户

测试标题:

​ 新增名称为空的客户信息

​ 新增名称超过20个汉字的客户信息

​ 新增名称包含单引号的客户信息

用例属性

​ 功能性测试,性能测试,兼容性测试,安全性测试

重要级别

​ 高:实现主体功能的用例

​ 中:主项流程进过备选流处理或者经过异常处理能够正确实现

​ 低:GUI,易用性表述,文字描述类

预置条件

测试输入

操作步骤

预期结果

实际输出


用例设计方法


等价类

​ **定义:**具有相同属性或方法的事物集合;这个集合中某个个体所表现的特征与其他个性完全一致;对于某个被测对象的测试输入而言,某个个体能够被接受或被拒绝,则该个个体中的任意个体都应该被接受或拒绝

​ **等价类划分:**有效等价类(针对被测对象而言,合理的,有意义的,系统接受的输入);无效等价类(针对被测对象而言,不合理,无意义的,系统不能接受的输入)

等价类划分规则:


  • 如果需求规定了输入域的取值个数或确定了某个范围时,则可确定一个有效等价类及两个无效等价类
  • 如果需求规定了某个输入域的集合,或者必须如何的情况下,可确定一个有效等价类和一个无效等价类
  • 如果需求规定了某个输入域是真假值时,可确定一个有效等价类和一个无效等价类
  • 如果用户需求规定了输入域是一组值,则可确定若干个有效等价类及一个无效等价类
  • 用户需求规定必须遵守某种规则时,可确定一个有效等价类及若干个从不同角度违反规则的无效等价类

进行用例设计


  • 根据需求,划分有效及无效等价类,有效等价类统一编号,无效等价类同一编号
  • 设计一个新的测试用例,使其尽可能覆盖所有有效等价类,指导所有有效等价类都被覆盖
  • 设计一个新的测试用例,使其尽可能覆盖一个无效等价类,直到所有无效等价类都被覆盖

等价类四则运算


  • 加: 不考虑需求其他子项,细致分解当前测试点击详细需求,做累加
  • 减:根据业务规则减少,排除相关不肯出现的规则,检索不可能出现的组合
  • 乘:如果有效等价类中具有互斥条件的需求时,可进行相乘得到用例个数
  • 除:排除所具有的重复特性的等价类,尽可能做到有效等价类之间交集为空,无效等价类之间交集也为空,有效及无效等价类的并集为整个输入域

以某个注册为例:等价类图标在这里插入图片描述

然后根据图编写测试用例


边界值

一种特殊的等价类

​ 边界值三点:


  • 上点: 边界上的点
  • 离点: 离上点最近的点(根据上点的精度确定)
  • 内点: 边界有效范围内的任意一点

如何确定离点: 边界时闭区间,离点在外;边界时开区间,则离点在内

应用场景:


  • 如果需求规定了取值范围或规定了取值个数时,可领该范围的边界内及边界附近的数据进行测试
  • 如果需求规定了取值个数,则少于个数一个,或者多余个数一个的值进行测试
  • 如果需求规定了一个有序集合的时候,可使用该集合的第一个和最后一个值进行测试
  • 如果程序中使用一个内部数据结构的话,则应该从该数据结构的边界进行考虑

判定表

​ (一般用在各种判定的条件,主要考虑条件和动作之间的关系)

​ 定义: 分析和表述若干输入条件下,被测对象针对这些输入做出的响应的一种工具,在遇到复杂业务逻辑时,可以利用该表沥青业务逻辑关系

​ 概念:


  • 条件 条件桩(需求规格说明书定义的被测大小的所有输入) 条件项(针对条件桩所有可能的输入数据的真假值)
  • 动作 动作桩(针对条件被测对象可能采取的所有操作) 动作项(针对动作桩,被测对象响应的可能取值)
  • 规范 动作项和条件桩组合在一起,形成的业务逻辑处理规范

应用步骤:


  • 理解需求,确定条件桩、动作桩
  • 设计及优化判定表
  • 填写动作项
  • 根据判定表中输出结果的表现,进行判定表的合并(非必须)也称简化判定表
  • 抽取测试用例

判定表例子在这里插入图片描述


因果图

当输入输出关系逻辑比较复杂时

输入与输入关系


  • 异: 所有输入条件中最多一个产生,也可以一个都没有
  • 或: 所有输入条件中,最少一个产生,或者多个,或所有
  • 唯一: 所有输入条件中,有且只有一个条件产生
  • 要求: 所有输入条件中,只要有一个产生,其他跟着也会出现

输入与输出关系


  • 恒等:当输入条件发生时,结果一定发生;当输入条件不发生时,结果一定不会出现
  • 非: 当输入条件发生时,结果一定不会出现;当输入条件不发生时,结果一定会出现
  • 与: 当多个输入条件中,只有所有输入条件都发生,结果才出现
  • 或: 当多个输入条件中,只要有一个发生,结果就会出现

正交实验

多条件查询情况下,多输入条件情况下,用判定表很复杂

一般用于查询测试,兼容性测试等

因子: 所有参与实验的影响实验结果的条件称为因子。

水平: 影响实验因子的取值或输入称为水平。

​ **整齐可比:**在同一张正交表中,每个因子的每个水平出现的次数完全相同,实验中,每个因子的每个水平与其他因子的水平参与实验的机率完全相同

​ **均匀分配:**同一张正交表中,人员两列的水平搭配是完全相同的

设计流程:


  • 分析需求获取因子及水平

  • 根据因子水平选择合适的正交表

  • 替换因子水平,获取实验次数

  • 根据经验或其他因素补充实验次数

  • 细化输出获取测试用例
    在这里插入图片描述
    在这里插入图片描述
    注意:

  • 选择正交表时,因子与水平恰好与正交表相同

  • 被测对象因子与正交表中的因子数不同,选择正交表中因子稍大于被测对象因子数,且实验次数最少

  • 被测对象水平与正交表中的水平不同,可根据实际情况进行合并,然后拆分

  • 因子水平都不相同,则可选择因子,水平稍大于被测对象的,且实验次数最少的


状态迁移

​ 关注被测对象的状态变化,在需求规格书中是否有不可到达的状态和非法的状态,是否产生非法的状态迁移

​ 状态:被测对象在特定输入条件下锁保存的响应形式

方法流程:


  • 根据需求明确状态节点
  • 绘制状态迁移图
  • 绘制状态迁移树
  • 抽取测试用例
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

流程分析

​ 基本流:通过实现业务流程输入都为正确的,能够最后达到目标的流程

​ 备选流:通过实现业务流程时,因错误操作或异常输入,导致流程存在反复,但最终能够完成期望的业务

​ 异常流:通过实现业务流程是,因错误操作或异常输入,倒置业务没有正确完成
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用方法:


  • 理解需求,确定业务流程
  • 绘制流程图
  • 根据流程图,抽取测试路劲(每次路劲需包含一个从未走过的路径)
  • 细化路径设计测试用例

注意点:

​ 需使用等价类,边界值,正交实验,判定表,因果图等方法保证单个功能的正确性


推荐阅读
  • 本文介绍了新款奇骏的两个让人上瘾的功能,分别是智能互联系统和BOSE音响。通过对新款奇骏的配置和功能进行评测,探讨了这两个新增功能的使用体验和优势。此外,还介绍了新款奇骏的其他配置和改进,如增加的座椅和驾驶辅助系统,以及内饰的舒适性提升。对于喜欢音响的消费者来说,BOSE音响的升级也是一个亮点。最后,文章提到了BOSE音响的数字还原能力,以及7座版无法配备BOSE音响的原因。 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文详细介绍了华为4GLTE路由器B310的外置天线安装和设置方法。通过连接电源和网线,输入路由器的IP并登陆设置页面,选择手动设置和手动因特网设置,输入ISP提供商的用户名和密码,并设置MTU值。同时,还介绍了无线加密的设置方法。最后,将外网线连在路由器的WAN口即可使用。 ... [详细]
  • 本文讨论了前端工程化的准备工作,主要包括性能优化、安全防护和监控等方面需要注意的事项。通过系统的答案,帮助前端开发者更好地进行工程化的准备工作,提升网站的性能、安全性和监控能力。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • MyBatis错题分析解析及注意事项
    本文对MyBatis的错题进行了分析和解析,同时介绍了使用MyBatis时需要注意的一些事项,如resultMap的使用、SqlSession和SqlSessionFactory的获取方式、动态SQL中的else元素和when元素的使用、resource属性和url属性的配置方式、typeAliases的使用方法等。同时还指出了在属性名与查询字段名不一致时需要使用resultMap进行结果映射,而不能使用resultType。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 如何修改路由器密码?路由器登录密码和无线密码的修改方法
    本文介绍了修改路由器密码的两种方法:一是修改路由器登录口令,需要进入路由器后台进行操作;二是修改无线连接密码,通过进入路由器后台的无线设置和无线安全设置进行修改。详细步骤包括复位处理、登录路由器后台、选择系统工具、填入用户名和用户密码、保存修改等。 ... [详细]
  • 本文介绍了2019年上半年内蒙古计算机软考考试的报名通知和考试时间。考试报名时间为3月1日至3月23日,考试时间为2019年5月25日。考试分为高级、中级和初级三个级别,涵盖了多个专业资格。报名采取网上报名和网上缴费的方式进行,报考人员可登录内蒙古人事考试信息网进行报名。详细内容请点击查看。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
  • 本文介绍了Java高并发程序设计中线程安全的概念与synchronized关键字的使用。通过一个计数器的例子,演示了多线程同时对变量进行累加操作时可能出现的问题。最终值会小于预期的原因是因为两个线程同时对变量进行写入时,其中一个线程的结果会覆盖另一个线程的结果。为了解决这个问题,可以使用synchronized关键字来保证线程安全。 ... [详细]
  • 有没有一种方法可以在不继承UIAlertController的子类或不涉及UIAlertActions的情况下 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有