【软件测试】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)错误猜测法

错误猜测法是对被测试软件设计的理解,过往经验以及个⼈直觉 ,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。

这种依靠个人经验所使用的方法,需要随着经验的不断累积才能灵活使用,这里不再赘述。


总结

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

相关推荐
东巴图16 小时前
分解如何利用c++修复小程序的BUG
开发语言·c++·bug
程序员小远16 小时前
软件测试之压力测试详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·压力测试
workflower3 天前
Fundamentals of Architectural Styles and patterns
开发语言·算法·django·bug·结对编程
测试老哥4 天前
测试用例之正交试验法、功能图法
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
lvchaoq4 天前
记录小程序真机bug,而模拟器无法复现
小程序·bug
喜欢便码4 天前
禅道提交bug的几种状态
bug
从前慢,现在也慢4 天前
(3)Bug篇
学习·bug·测试
西柚小萌新4 天前
【Bug:docker】--Docker国内镜像源加载失败
docker·容器·bug
Apifox.6 天前
如何在 Apifox 中通过 AI 一键生成几十个测试用例?
人工智能·程序人生·ai·测试用例·ai编程