测试基础知识(2)

本文详细介绍了设计测试用例的各种方法,包括等价类划分、边界值分析、判定表法、正交法、场景法以及错误猜测法。重点阐述了如何根据需求确定有效等价类和无效等价类,并通过实例演示了如何运用这些方法进行测试用例编写。
摘要由CSDN通过智能技术生成

用例篇

测试用例的基本要素:用例编号,所属模块,测试标题,重要级别,前置条件,测试输入,操作步骤,预期结果

设计测试用例的万能思路:
功能测设 + 界面测试 + 性能测试 + 兼容性测试 + 易用性测试 + 安全测试 

具体设计方法:

1) 等价类

等价类的思想是:根据需求将输入分成几个若干个等价类,从等价类中选取一个测试用例进行测试,如果测试通过则认为该测试用例所在的等价类是通过的。

等价类就是分区分块,使用较少的测试用例到到符合的系统测试覆盖。

等价类又划分为有效等价类和无效等价类:

有效等价类:针对需求来说是有效且有意义的数据构成的集合

无效等价类:针对需求来说是无效且没有意义的数据构成的集合

根据等价类划分测试用例的步骤:

确认有效等价类和无效等价类

编写测试用例

需求:用户长度为6~200位,应该如何设计测试用例。

确定有效等价类和无效等价类

有效等价类:6~200

无效等价类:小于6大于200

编写测试用例

又或者是针对密码为6到20位来设计无效等价类?

长度设计:小于6或者大于20

根据类型:数字、字符串、特殊字符等等

2) 边界值

边界值法通常是对等价类的补充

设计边界值的测试用例时需要加上:边界值+次边界值

假设有某一个需求:活动截止的日期是5月23日

时间的次边界值就得设置为:00:00:00和23:59:58

比如1的次边界值为:0和2


-1的次边界值为:-2和0

3) 判定表法

适用场景:针对不同的输入条件之间的组合对应不同的输出结果

判定表法是一种逻辑判断工具

假设有需求:订单已提交,订单合计金额大于300或者订单有红包,则认为该订单属于有优惠的订单,否则属于没有优惠的订单。

判定表设计测试用例的步骤:

1.找出输入条件和输出条件

2.找出输入条件和输出条件之间的关系

3.画出判定表

4.根据判定表编写测试用例

5.针对上述去求确定输入条件和输出条件

输入条件:金额大于300(A)、有红包(B)、订单已提交(c)

输入条件:1有优惠、2无优惠

找出输入条件和输入条件之间的关系

AC   BC   ABC C     A     B     AB 非ABC

1     1     1     2     2     2     2     2

1

2

根据判定表来编写测试用例

有红包、金额不大于300、订单已提交,结果为有优惠

无红包、金额大于300、订单已提交。结果为有优惠

有红包、金额大于300、订单已提交,结果为有优惠

无红包、金额不大于300,订单已提交,结果为无优惠

无红包、金额大于300、订单未提交,结果为无优惠

有红包、金额不大于300、订单未提交、结果为无优惠

有红包、金额大于300、订单未提交,结果为无优惠

无红包、金额不大于300、订单未提交,结果为无优惠

有一个步骤叫根据因果图画判定表法,因为因果图画判定表很多余,而且因果图实际在设计测试用例的时候并没有什么意义,而且抽象。

4) 正交法

所谓正交法,就是由试验因素的全部水平组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了解全面试验的情况,找出最优的水平组合。正交试验设计是一种基于正交表的、高效率、快速、经济的试验。

因素(Factor):在一项试验中,凡欲考察的变量称为因素(变量)

水平(位级)(Level):在试验范围内,因素被考察的值称为水平(变量的取值)

正交表的构成:

行数(Runs):正交表中的行的个数,即试验的次数,用N代表。

因素数(Factors):正交表中列的个数,用C代表。

水平数(Levels):任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数“水平数-1”或从1到“水平数”,用T代表。

正交表的表示形式: L=行数(水平数*因素数) L=N(TC)

正交表的两条性质:1.每一列中各数字出现的次数都一样多 2.任何两列中的各有序数对出现的次数都一样多。

5)场景法

就是把一个个孤立的功能串联起来形成一个场景,每一个功能的选择触发不同的走向,根据这些不同功能的不同输入触发形成的场景进行测试用例的设计。举一个例子,比如说银行ATM机的插卡流程

6)错误猜测法

这个错误猜测法,就很考验测试人员本身的功底了。错误猜测法是对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。

这个方法强调的是对被测试软件的需求理解以及设计实现的细节把握,还有个人的经验和直觉。错误推测法和目前流行的“探索式测试方法”的基本思想一致,这类方法在敏捷开发模式下的投入产出比很高,被广泛应运于测试。

这个方法的缺点是难以系统化,并且过度依赖个人能力。

【使用教程】 一、环境配置 1、建议下载anaconda和pycharm 在anaconda中配置好环境,然后直接导入到pycharm中,在pycharm中运行项目 anaconda和pycharm安装及环境配置参考网上博客,有很多博主介绍 2、在anacodna中安装requirements.txt中的软件包 命令为:pip install -r requirements.txt 或者改成清华源后再执行以上命令,这样安装要快一些 软件包都安装成功后才算成功 3、安装好软件包后,把anaconda中对应的python导入到pycharm中即可(不难,参考网上博客) 二、环境配置好后,开始训练(也可以训练自己数据集) 1、数据集准备 需要准备yolo格式的目标检测数据集,如果不清楚yolo数据集格式,或者有其他数据训练需求,请看博主yolo格式各种数据集集合链接:https://blog.csdn.net/DeepLearning_/article/details/127276492 里面涵盖了上百种yolo数据集,且在不断更新,基本都是实际项目使用。来自于网上收集、实际场景采集制作等,自己使用labelimg标注工具标注的。数据集质量绝对有保证! 本项目所使用的数据集,见csdn该资源下载页面中的介绍栏,里面有对应的下载链接,下载后可直接使用。 2、数据准备好,开始修改配置文件 参考代码中data文件夹下的banana_ripe.yaml,可以自己新建一个不同名称的yaml文件 train:训练集的图片路径 val:验证集的图片路径 names: 0: very-ripe 类别1 1: immature 类别2 2: mid-ripe 类别3 格式按照banana_ripe.yaml照葫芦画瓢就行,不需要过多参考网上的 3、修改train_dual.py中的配置参数,开始训练模型 方式一: 修改点: a.--weights参数,填入'yolov9-s.pt',博主训练的是yolov9-s,根据自己需求可自定义 b.--cfg参数,填入 models/detect/yolov9-c.yaml c.--data参数,填入data/banana_ripe.yaml,可自定义自己的yaml路径 d.--hyp参数,填入hyp.scratch-high.yaml e.--epochs参数,填入100或者200都行,根据自己的数据集可改 f.--batch-size参数,根据自己的电脑性能(显存大小)自定义修改 g.--device参数,一张显卡的话,就填0。没显卡,使用cpu训练,就填cpu h.--close-mosaic参数,填入15 以上修改好,直接pycharm中运行train_dual.py开始训练 方式二: 命令行方式,在pycharm中的终端窗口输入如下命令,可根据自己情况修改参数 官方示例:python train_dual.py --workers 8 --device 0 --batch 16 --data data/coco.yaml --img 640 --cfg models/detect/yolov9-c.yaml --weights '' --name yolov9-c --hyp hyp.scratch-high.yaml --min-items 0 --epochs 500 --close-mosaic 15 训练完会在runs/train文件下生成对应的训练文件及模型,后续测试可以拿来用。 三、测试 1、训练完,测试 修改detect_dual.py中的参数 --weights,改成上面训练得到的best.pt对应的路径 --source,需要测试的数据图片存放的位置,代码中的test_imgs --conf-thres,置信度阈值,自定义修改 --iou-thres,iou阈值,自定义修改 其他默认即可 pycharm中运行detect_dual.py 在runs/detect文件夹下存放检测结果图片或者视频 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值