【软件测试】bug以及测试用例的设计方法

2024-09-01 06:44

本文主要是介绍【软件测试】bug以及测试用例的设计方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

系列文章目录

第一章 【软件测试】常见的开发模型和测试模型


文章目录

  • 系列文章目录
  • 前言
  • 一、bug的基本要素。
  • 二、bug的处理流程
  • 三、弱网测试
  • 四、设计方法
    • 1.基于需求的设计方法
    • 2.具体的测试方法
      • (1)等价类划分法
      • (2)边界值分析法
      • (3)场景法
      • (4)正交表法
      • (5)判定表法
      • (6)错误猜测法
  • 总结


前言

在前文中我们对于软件测试常用的开发模型和测试模型有了一个初步的认识。而测试贯穿于软件的整个生命周期,我们常常需要通过测试对bug进行定位和修复。


一、bug的基本要素。

对于bug,我们通常认为当规格说明是存在且正确的情况下,程序与规格说明之间不匹配才是错误的。
我们需要对bug进行描述,包括问题出现的版本,问题出现的环境,问题出现的步骤,预期结果,实际结果。
bug的级别一般分为:崩溃、严重、一般、次要

二、bug的处理流程

在测试的过程中,当测试人员创建一个bug后,将bug设置为new状态;
开发人员确认bug是否有效,如果无效则将状态流转为Rejected。
当bug有效时,就设置bug为open状态,并判定bug是否需要立即修改。
当bug优先级很低/时间不够时,就推迟修复;当bug优先级很高/时间充足时,就会对bug进行修复。
修复完成之后交由测试人员重新测试,仍存在bug的情况下就重新打开bug,bug成功修复的情况下则关闭bug,整个处理流程结束。
在这里插入图片描述

三、弱网测试

在测试过程中需要编写测试用例,包括界面测试、功能测试、性能测试、兼容性测试、易用性测试、安全测试、安装卸载测试以外,还有一些特殊的测试场景如弱网测试。
弱网测试即在网络坏境较差的情况下,对于网站页面、网站功能是否存在影响。
对于测试方法,我们可以使用工具模拟弱网测试。这里使用的测试工具为fiddler

  1. 打开弱网设置
    在这里插入图片描述
  2. 对于网络上行速率和下行速率进行控制。
    在这里插入图片描述
    设置速率,1kb数据传输所需要的时间进行设置。当数字越大,则传输的速率就越慢,因此能够模拟出弱网环境。
    在这里插入图片描述

四、设计方法

1.基于需求的设计方法

测试人员接到需求以后,要对需求进行分析和验证。从合理的需求中进一步分析细化需求,从细化的需求中找出测试点并设计测试用例。

2.具体的测试方法

(1)等价类划分法

根据需求将输入划分为若干个等价类,从等价类中选出测试用例。(类似区间)
解决了不能穷举测试的问题。等价类划分法分为有效等价类和无效等价类
最简单的例子:在用户信息中用户名要求6-15个字符串,超过则违约。

有效等价类为6-15个字符;
无效等价类分为str<6 或str > 15

大致如下图所示。

在这里插入图片描述

(2)边界值分析法

边界值分析法就是对输入或输出边界值进行测试,通常边界值分析法是对等价类划分法的补充。
边界值包含:边界值+次边界值

1)假设有效范围为[6,15]边界值:6  ,15(有效)次边界值:5,16(无效)
2)假设有效范围(6,15)边界值:6,15 (无效)次边界值:7,14 (有效)

(3)场景法

场景法分为基本流和备用流
基本流即功能的常规操作流程;备用流为功能的特殊操作情况。

以用户注册功能为例编写测试用例
1)基本流:点击注册入口,同意用户协议,输入正确信息,点击注册按钮,成功注册。
2)备用流:点击注册入口,不同意用户协议,退回注册入口,同意协议,输入正确信息,点击注册按钮,成功注册。
3)备用流:点击注册入口,不同意用户协议,退回注册入口,不同意用户协议,退回注册入口,同意用户协议,输入错误信息后报错,重新输入正确的信息,点击注册按钮,成功注册。

(4)正交表法

正交表法的目的是为了减少用例数目,用尽量少的用例覆盖输入的两两组合。
正交表以二维表格展开,分为水平和因素两种。(X轴方向为因素,Y轴方向为水平)
以账号密码的信息是否填写为例,进行排列组合就有4种。我们可以通过allpairs设计正交表。

以下面的因素和水平作为案例使用allpairs生成正交表

在这里插入图片描述

  1. 将因素和水平按照上图的方式写入excel中。
    在这里插入图片描述
  2. 在allpairs下创建test.txt文件并把excel中的内容复制进去,确保格式正确。
  3. 执行allpairs应用,生成正交表文件res-test.txt
    在这里插入图片描述
  4. 最后就能在文件夹中找到正交表文件res-test.txt了,其中的数据已经进行了正交生成了有用的测试用例。
    在这里插入图片描述

(5)判定表法

判定表是一种表达逻辑判断的工具,它的思路清晰,很容易就能编写出测试用例。
它的编写方式如下图所示:
在这里插入图片描述

(6)错误猜测法

错误猜测法是对被测试软件设计的理解,过往经验以及个⼈直觉,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。
这种依靠个人经验所使用的方法,需要随着经验的不断累积才能灵活使用,这里不再赘述。


总结

本文对于测试方法以及设计测试用例的方法进行了简要的讲解。

这篇关于【软件测试】bug以及测试用例的设计方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1126236

相关文章

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

JAVA中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

Java 方法重载Overload常见误区及注意事项

《Java方法重载Overload常见误区及注意事项》Java方法重载允许同一类中同名方法通过参数类型、数量、顺序差异实现功能扩展,提升代码灵活性,核心条件为参数列表不同,不涉及返回类型、访问修饰符... 目录Java 方法重载(Overload)详解一、方法重载的核心条件二、构成方法重载的具体情况三、不构

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu