测试环境使用问题及其优化对策实践

这篇具有很好参考价值的文章主要介绍了测试环境使用问题及其优化对策实践。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 背景及问题

G.J.Myers在<软件测试技巧>中提出:测试是为了寻找错误而运行程序的过程,一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试, 一个成功的测试是揭示了迄今为止尚未发现的错误的测试。

对于新手来说,日常测试用例设计时,很少用到系统的方法论,大多是根据产品需求文档或自己的主观判断直接进行测试用例的编写,经常会造成漏测等严重问题。所以,使用方法论支撑测试用例设计的过程,使其更加合理化、规范化,是一件至关重要的事情。但测试用例设计方法种类繁多,适用场景也各不相同,针对具体需求层面进行测试用例编写时,很难选取合适的方法来进行设计。

2 目标及意义

质量管理领域权威人物J.M.Juran将质量定义为“决定产品性能”和‘“满意程度’的特征”, 而测试注重于产品的满意度。 测试用例设计的过程是将产品需求转化为一种可操作性的步骤,在整个产品生命周期中发挥着至关重要的作用,基于方法论的规范化用例设计,能帮助测试人员拓展测试范围,完善测试覆盖面,降低漏测率,提升产品满意度。

本系列文章对经典的测试用例设计方法逐个进行剖析,并深入到日常工作的实际需求中,结合具体场景进行实战演练,并分别对各类方法的适用场景进行归纳梳理,形成可复用系统模板,帮助大家快速熟悉常用测试用例设计方法,提升测试人员专业度及工作效率,从而提升交付质量。

3 初探

说到测试用例设计方法,大家最容易想到的肯定是等价类和边界值法,所以,首先,我们将对这两种测试用例设计方法进行介绍。

3.1 等价类划分法

3.1.1 概念及原理

1.定义

  • 等价类:某个输入域的子集合
  • 等价类划分:有效等价类(合理的、有意义的输入集合)
  • 无效等价类(不合理的 or 无意义的输入集合)

2. 基本思想

设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。

3.1.2 方法步骤

  1. 根据需求,大体上可以先划分为有效和无效两种
  2. 然后再细化相应的等价类(从组合情况进行细化)
  3. 建立等价类表
  4. 生成测试用例

3.1.3 举个栗子

场景:一个输入框的输入规则为1~12位字母和数字组合

根据等价类划分法,具体可建立等价类表如下(把输入拆分成长度和符号组合两种),即可得到用例

划分 有效等价类 编号 无效等价类 编号
长度 [1,12] (1) 0 (2)
- - (12,+∞) (3)
符号 a (4) 数字+其它字符 (5)
- - 其它字符 (6)

3.2 边界值分析法

3.2.1 概念及原理

1.定义

是等价类划分的一个补充方法,将等价类划分的边界作为用例设计(在有效和无效等价类的边界取值中,会存在值重复的情况,可按有效无效进行取舍)。

2. 基本思想

大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部,所以为了保证测试质量,就需要重点测试边界,就有了边界值这样的测试方法。

3. 等价类和边界值的关系

  • 边界值分析法是作为对等价类划分法的补充,边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。
  • 边界值数据本质上是属于某个等价类的范围,测试时有时是一种冗余(正好等于,刚刚大于或刚刚小于边界的值),但是为了更好的测试质量,边界值必须要单独进行测试,适当必要的冗余是可以接受的。

4. 使用方法

那我们怎么去找边界值呢?一般会关注以下几个点:

  • 上点:区间的端点值
  • 内点:上点之间任意一点
  • 离点:若是开区间的离点,就是开区间中上点内侧紧邻的点;若是闭区间的离点,就是闭区间中上点外侧紧邻的点

① 闭区间

② 半开半闭区间

③ 开区间

3.2.2 举个栗子

场景:一个输入框的输入规则为1~12位字母和数字组合

具体可建立等价类表如下(把输入拆分成长度和符号组合两种)

根据边界值法,按照闭区间[1, 12]确定上点(1,12)、内点(2)、离点(0,13),建立等价类和边界值表如下(把输入拆分成长度和符号组合两种),即可得到用例。

划分 有效等价类 边界值 无效等价类 边界值
长度 [1,12] 1,2,11,12 0 0
- - (12,+∞) 13
符号 a 数字+其它字符
- - 其它字符

3.3 测试设计——“等价类+边界值”

3.3.1 举个栗子

场景:手机号兼容座机号的格式校验

  • 有横杠:XXX(3位或4位)-XXXXXXXX(7或8位):3+7或者3+8或者4+7或者4+8
  • 有横杠有分机号:XXX(3位或4位)-XXXXXXXX(7或8位)-XXX(1-5位)
  • 无横杠:XXX(3位或4位)XXXXXXXX(7或8位) 11位-17位
  • 取消第一位必须为”1“,且取消第二位必须为“除0,1,2”限制。

设计步骤:

1.等价类划分:以第一条为例-有横杠:XXX(3位或4位)-XXXXXXXX(7或8位)

根据等价类划分法的步骤,首先进行拆分第一部分和第二部分,获得第一部分的有效等价类[3, 4]和无效等价类(len>4 & 0<len<3);获得第二部分的有效等价类[7,8]和无效等价类(len>8 & 0<len<7)。以此类推,获取所有的有效和无效等价类。

2. 边界值分析:根据区间开闭性,定位上点、内点、离点。

如:有效等价类[3, 4]的上点为3和4,无效等价类(len>4 & 0<len<3)的离点为5和2,内点无。

3. 数据处理:按照步骤1和2及数据的组合情况,列出所有的情况。

4. 整理最终用例:根据步骤3得到的数据,按照要求设计测试数据及相应的预期结果,得到最终测试用例。

4 总结

方法 等价类划分法 边界值分析法
核心 “分类”及代表值 边界值和边界两边的邻值
优点 通过把输入数据和输出数据进行分类,选用分类中的代表值,在保证了测试覆盖的情况下大大减少了测试用例的数量,使测试工作变得简单高效 大量的程序错误发生在输入的边界上,考虑了边界值的测试用例能更高效发现程序中的错误和缺陷
缺点 输入与输入之间的关系考虑少,可能产生一些逻辑错误。还需要其他用例设计方法来补充测试 只能作为一个对其他设计方法的补充;这种方法表面上听起来简单,但有的边界值非常微妙,不容易确定下来;只适用于多个变量相互独立又都代表实际物理量的情况,对变量之间的依赖关系则考虑不到。
适用场景 有数据输入(编辑框)的地方,可以使用等价类划分法。例如:用户登录、注册、新建、查询 有数据输入且存在取值边界或长度边界时,边界值法往往跟等价类划分法一起使用,从而形成一套较为完善的测试方案。

等价类划分和边界值分析法只考虑了单个的输入条件,在输入条件有各种组合、输入条件之间的相互制约关系的场景中很难发挥有效作用,这个时候就需要因果图与判定表法来帮助我们设计测试用例了,让我们一起来看看吧~

作者:京东物流 陈雨婷 王鹏 张苑 李硕

来源:京东云开发者社区 自猿其说Tech 转载请注明来源文章来源地址https://www.toymoban.com/news/detail-747648.html

到了这里,关于测试环境使用问题及其优化对策实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JVM系统优化实践(20):GC生产环境案例(三)

    您好, 这里是 「 码农镖局 」 CSDN博客,欢迎您来,欢迎您再来~ 某新手开发工程师接到了一个保存Elasticsearch日志的任务,以供后续分析之用。但写代码的时候,误将保存日志的代码段弄成了无限循环,程序启动后,没用多久就崩溃了。 另一名工程师在动态创建类时,没有

    2024年02月16日
    浏览(37)
  • JVM系统优化实践(23):GC生产环境案例(6)

    您好, 这里是 「 码农镖局 」 CSDN博客,欢迎您来,欢迎您再来~ 在互联网大厂中,对每天亿级流量的日志进行清洗、整理是非常常见的工作。在某个系统中,需要对用户的访问日志做脱敏处理,也就是清洗掉姓名、身份证号、手机号等个人隐私信息后在保存到数据库中或者

    2024年02月15日
    浏览(26)
  • JVM系统优化实践(22):GC生产环境案例(五)

    您好, 这里是 「 码农镖局 」 CSDN博客,欢迎您来,欢迎您再来~ 除了Tomcat、Jetty,另一个常见的可能出现OOM的地方就是微服务架构下的一次RPC调用过程中。笔者曾经经历过的一次OOM就是基于Thrift框架封装出来的一个RPC框架导致的宕机。   也就是当服务A更新后,服务B宕机了

    2024年02月15日
    浏览(35)
  • RabbitMQ系统监控、问题排查和性能优化实践

    一、系统监控:RabbitMQ的各项性能指标及监控 Message Rates:消息率包含了publish,deliver/get,ack等方面的数据,反映了消息在系统中流转的情况。 Queue Length:队列长度反映了系统当前的负载情况。如果队列中的消息过多,可能需要增加消费者来处理消息,或者检查消费者是否出

    2024年04月11日
    浏览(40)
  • 应用部署引起上游服务抖动问题分析及优化实践方案

    作者:京东物流 朱永昌 本文主要围绕应用部署引起上游服务抖动问题展开,结合百川分流系统实例,提供分析、解决思路,并提供一套切实可行的实践方案。 百川分流系统作为交易订单中心的专用网关,为交易订单中心提供统一的对外标准服务(包括接单、修改、取消、回

    2023年04月14日
    浏览(63)
  • 测试环境治理之MYSQL索引优化篇

    作者:京东物流 李光新 测试环境这个话题对于开发和测试同学一定不陌生,大家几乎每天都会接触。但是说到对测试环境的印象,却鲜有好评: •环境不稳定,测试五分钟,排查两小时 •基础建设不全,导致验证不充分,遗漏缺陷 •多人共用,节点堵塞 这些问题在行业内

    2023年04月18日
    浏览(24)
  • 华为云上云实践:Windows环境下优化云硬盘EVS的创建、挂载和初始化

    本文主要讲解华为云云硬盘 EVS 的在 Windows 服务器上创建、挂载及云硬盘初始化等基本操作,快速掌握华为云云硬盘 EVS 操作方法。 华为云 EVS(Elastic Volume Service)是华为云提供的一种弹性块存储服务,它可以为云服务器实例提供高性能、高可靠性的数据块存储,支持多种性能

    2023年04月19日
    浏览(25)
  • R语言的水文、水环境模型优化技术及快速率定方法与多模型案例实践

    在水利、环境、生态、机械以及航天等领域中,数学模型已经成为一种常用的技术手段。同时,为了提高模型的性能,减小模型误用带来的风险;模型的优化技术也被广泛用于模型的使用过程。模型参数的快速优化技术不但涉及到优化本身而且涉及采样设计、不确定性估计等

    2024年02月16日
    浏览(24)
  • ROS2入门与实践--1(ROS2的安装与环境测试)

    对于VMware虚拟机的安装教程请看这篇文章:VMware虚拟机安装 对于20.04版本的Ubuntu操作系统安装教程请看这篇文章:Ubuntu-20.04系统安装 对于22.04版本的Ubuntu操作系统安装教程请看这篇文章:Ubuntu-22.04系统安装 1.在ROS2官方的文档中,安装ROS2之前需要首先检查操作系统语言环境 官

    2024年02月15日
    浏览(39)
  • 若干优化问题的测试集

    先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号: 启发式算法讨论 。我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年提出的新型智能优化算法,并附MATLAB代码。 原文在

    2024年02月01日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包