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

系列文章目录

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



前言

在前文中我们对于软件测试常用的开发模型和测试模型有了一个初步的认识。而测试贯穿于软件的整个生命周期,我们常常需要通过测试对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)错误猜测法

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


总结

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

  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值