设计测试用例(万能思路 + 六种设计用例方法)(详细 + 图解 + 实例)
一、设计测试用例的万能思路
针对某个物品/功能进行测试。
万能思路:功能测设 + 界面测试 + 性能测试 + 兼容性测试 + 易用性测试 + 安全测试。
总结:
功能测试:
水杯:装水、喝水...
注册场景:注册 + 登录
想象日常使用中的注册场景有哪些功能。
界面测试:
非软件:颜色、形状、大小、材质、整体
软件:
文字/输入框/图片/下拉框 ——> 颜色、大小、形状、布局都要进行测试;
文字是否存在错别字、病句、折叠、重叠...
性能测试:
水杯:耐热性、耐寒性、耐摔性、抗压性...
软件:
响应时间
几千万人同时访问...
兼容性测试:
水杯:水杯可以装液体,针对不同液体。
软件:
系统:Linux、Windows、Mac;
终端:PC、移动端
浏览器:Chrome、FireFox、Safari...
易用性测试:
需要具备便捷、简单易上手的属性,用户引导、符合用户使用习惯。
安全测试:
水杯:
水杯的材质是否安全;
特殊情况下(高温低温)材质是否会释放毒性;
存放特殊的液体会不会导致化学反应,材质是否会释放毒性;
软件:
SQL注入
XSS漏洞
越权(垂直越权、水平越权)
二、设计用例的方法
针对手撕代码、明确额需求、项目来设计测试用例。
1. 等价类
等价类是分块/分区的概念。将需求的输入划分若干个等价类,从等价类中选出一个测试用例,如果这个测试用例通过,则认为这整个等价类就通过。
通过等价类可以用较少的测试用例就可以尽可能多的覆盖功能,可以解决穷举法解决不了的问题。
有效等价类:针对需求文档是合理的、有意义的集合。
无效等价类:针对需求文档是没有意义的集合。
使用步骤:
1. 确定有效等价类和无效等价类;
2. 编写测试用例。
假设需求:姓名输入6~200位的字符
有效等价类:输入6~200位的字符
无效等价类:输入小于6位 或 大于200 位的字符
2. 边界值
可以认为是等价类的补充,在等价类的基础上添加边界值和次边界值的测试用例。
假设需求:姓名输入6~200位的字符。
边界值:输入6位的字符,输入200位的字符;
次边界值:输入5位的字符,输入7位的字符;输入199位字符,输入201位字符。
3. 判定表法
(因果图法)通过输入条件和输出动作之间的关系,设定判定表,再根据判定表编写测试用例。
使用步骤:
1. 确定输入条件和输出结果;
2. 找出输入条件和输出结果之间的关系;
3. 画判定表;
4. 根据判定表编写测试用例
假设需求: 提交订单,当订单金额大于300或有红包时,是有优惠的。
1. 确定输入条件和输出结果
输入条件:金额大于300、有红包、提交订单;
输出结果:有优惠、无优惠;
2. 输入条件和输出结果之间的关系:
(为了方便书写,这里将金额大于300定为A,有红包定为B,提交订单定为C;有优惠定为1,无优惠定为2)
3. 画判定表
4. 根据判定表编写测试用例
(1)金额大于300,没有红包,提交了订单,则该订单为有优惠订单;
(2)金额不大于300,有红包,提交了订单,则该订单为有优惠订单;
(3)金额大于300,有红包,提交了订单,则该订单为有优惠订单;
(4)金额大于300,没有红包,没有提交订单,则该订单为无优惠订单;
(5)金额不大于300,有红包,没有提交订单,则该订单为无优惠订单;
(6)金额不大于300,没有红包,提交了订单,则该订单为无优惠订单;
(7)金额大于300,有红包,没有提交订单,则该订单为无优惠订单;
(8)金额不大于300,没有红包,没有提交订单,则该订单为无优惠订单;
注意:
在因果图法里,也是通过确定输入条件和输出结果来画出因果图(比较复杂难),然后再根据因果图画出判定表。因此这里直接通过输入条件和输出结果的关系确定了判定表,然后再编写测试用例。
4. 正交法
通过构造正交表编写测试用例。
正交表表达式:L4(2³ )
L:正交表;
4:试验次数(测试用例的个数)
2:因素数(输入条件)
3:水平数(输入条件的可选项)
正交表的特点:
1. 每一列中数字出现的次数是相同的;
2. 任意两表中数字的排序方式齐全且均衡。
使用步骤:
1. 找出因素数和水平数;
2. 使用allpairs工具生成正交表;
3. 编写测试用例;
4. 补充测试用例。
使用allpairs工具生成正交表步骤:
(1)在.exe 存在的目录下新建text文档。
(2)在 Excel 表中先写好每个输入条件及其对应的可选项。然后复制粘贴到新建的text文档中。然后直接保存(ctrl + s)。
(3)打开cmd命令行窗口(win + r),cd 到allpairs 的目录下启动allpairs(执行.exe文件)allpairs.exe 2023_5_111.txt > 2023_5_111.txt,然后重定向一个新文件2023_5_111.txt,里面就是正交表。
假设需求: 一个注册页面,输入姓名、电子邮箱、密码、确认密码、验证码进行注册。
1. 找出因素数和水平数
因素数:姓名、电子邮箱、密码、确认密码、验证码
水平数:填写、不填写。(这里每个因素数的可选项都一样,都是填写或者不填写)
2. 使用 allpairs工具 生成正交表
3. 编写测试用例
(1)填写姓名、电子邮箱、密码、确认密码、验证码;
(2)填写姓名,不填写电子邮箱、密码、确认密码、验证码;
(3)填写电子邮箱、确认密码,不填写姓名、密码、验证码;
(4)填写密码、验证码,不填写姓名、电子邮箱、确认密码;
(5)填写姓名、电子邮箱、密码,不填写确认密码、验证码;
(6)填写姓名、确认密码、验证码,不填写电子邮箱、密码;
4. 补充测试用例
(7)都不填写。
5. 场景设计法
包括基本事件流和多个备选事件流。以一个例子来解释什么是基本事件流和备选流。
假设需求:在ATM上取款
编写测试用例:
基本事件流:
先插卡、输入正确密码、选择取款功能、输入正确金额、取钱、取卡。
备选事件流:
(1)插卡,输入密码错入、第二次输入正确、选择取款.....取卡;
(2)插卡、密码忘记、取卡。
.......
6. 错误猜测法
通过资深的测试员提出的可能会出现的错误,来编写测试用例。
基于MATLAB的ACC控制算法设计及仿真测试
作者 | 不可说
出品 | 汽车电子与软件
自适应巡航控制系统(ACC)是汽车自动驾驶技术研究中一项重要的纵向跟驰技术,通过有无前车、前车的加减速情况、跟车距离等传感器传递的信息,在控制系统中通过车间距、加速度控制等相关算法给定主车加速度,控制车辆的纵向跟驰速度,从而有效减轻驾驶员在驾驶过程中的频繁、持续的操作,降低驾驶员的负担,增强车辆的通行性,提高车辆行驶的主动安全性。
在以往的研究与应用中,ACC的实现大多基于毫米波雷达的测距功能来实现的,这是因为毫米波雷达的成本相对于激光雷达要低很多,同时,也较为便捷的集成与车身上。但是,激光雷达是智能车未来发展的必不可少的助力,它可以实现目标的测速、测距、目标的识别、定位与地图的构建等功能,因此,激光雷达极有可能成为今后智能车的标准配件,借助激光雷达实现目前已成功应用的智能辅助驾驶系统也是有研究必要的。
#01
自适应巡航系统的设计
1.1 稳态跟随车间距特性
在车辆跟驰的车间距控制策略中,恒定时间间隔(constant time-gap,CTG)策略和恒定间隙策略适用广泛,在稳定跟随运动(即,
)中, “跟车时间间距”
定义如下:
其中,
是前面的车辆和本车之间的距离间隔,并且
是本车车速,该间隙表示“从前方车辆的尾部表面到目标车辆的前表面的距离”。
给出用于表示在稳定跟随情况下车间距
和车速
之间的关系的一阶和二阶回归模型:
车间距
的一阶回归模型:
车间距
的二阶回归模型:
其中,
表示速度为0时的车间距,
是线性系数,
是二次系数。
Fancher.P.[3,11]等人采集了143位驾驶员的数据,对比稳态跟随情况下的车间距
的一阶回归拟合与车间距
的二阶回归拟合,发现车间距
的一阶回归拟合就可以很好的描述驾驶员的稳态跟随情况,所以,在这里取
。
1.2 跟车模式的上层决策
目前来讲,规划车辆正常跟随情况下的所需加速度常用的方法之一为线性最优控制理论。
解决最优控制问题的关键在于运动方程的建立,这个运动方程应当描述清楚受控运动的过程,同时也要给出受控系统中变量的范围,明确初始时的运动状态,与所要达到的目标,并选定某一个性能指标对运动过程进行评价。一般来讲,性能指标的选取与控制运动方程和运动状态息息相关。
使用积分器对车辆进行建模,受控车辆和前车的运动状态可以用状态空间模型表示如下:
是线性系数,即取“跟车时间间距”
. u 表示受控车辆的加速度,干扰量
表示为前方车辆加速度,跟车的状态矩阵
表示为:
上式中,
表示期望的车间距,即利用车间距的一阶回归模型计算得到的结果,
表示实际车间距,即利用激光雷达测得的车间距;
表示前方车辆的速度,
表示本车车辆的速度,稳态跟随情况下车辆的控制可以看作线性二次优化问题,最小跟随距离误差和速度误差的状态反馈控制原理及控制输入的设计如下:
权重矩阵
有如下表示:
选择状态反馈原理的增益
来使最代价函数小化。通过求解公式J可以确定受控车辆的期望加速度。根据李雅普诺夫的第二法和黎卡提方程有:
系数矩阵
的计算表达式如下:
是黎卡提方程的正定稳态解。因此,期望的加速度表示为:
与
是受控车辆的速度
的函数,表示控制增益,并且是通过调整加权矩阵
和
得到的。由于加权矩阵
和
对车辆系统的性能有影响,因此选择加权因子
和
或者选择对应的
来实现受控车辆的自动控制。
在跟车模式下,存在这样一种情况:旁边车道上行驶的车辆,突然并入本车车道,并且并入后车间距较小、目标车辆的速度较小。这样对于受控车辆来讲是危险的,因为上述的跟车加速度决策是考虑一般情况下的稳态跟车,主要考虑到驾驶员的乘坐主观感受,因此在下文中会对之前决策的加速度进行限制,但是有危险情况发生时,加速度则不应限制。是否为危险情况可以用
来进行判断,当下式成立时则认为危险:
为危险临界的
的值,一般可取0.5。
危险情况下的加速度可由下式决策:
表示的是紧急制动时的增益系数。
1.3 速度跟随模式的上层决策
当车辆前方没有其他车辆或者障碍物时,即受控车辆前方的激光雷达返回点云不包含非地面点云。这时ACC的功能主要体现在对速度的跟随上,即受控车辆自动加减速,使其达到驾驶员所设定的速度,并维持这个设定的速度行驶。
对于某一个特定的设定速度,对于不同的速度差值,希望加速度变化可以是非线性的,并且希望尽可能的减少运算量,具有较强的鲁棒性和稳定性,因此,在这里采用模糊控制决策速度跟随模式下的加速度。
模糊控制器包括四部分:
(1)模糊化,(2)规则库,(3)模糊推理,(4)解模糊。
首先要确认模糊控制器的输入量,将其转变为模糊控制器可输入的需求量,确定每个输入的模糊语言值和相应的隶属函数,根据相关的专家经验建立合适的模糊规则,再基于模糊规则进行推理决策,最后进行解模糊,得到的量就是控制输出量。
模糊控制原理:
在模糊控制中,被控对象的元素的所有集合可称为论域,以
表示论域,把
上的实值函数记为
,那么则有下式成立:
如果
为
中的任意一个元素,那么
表示的就是
对于
的隶属度,因此,把
称为隶属度函数。可以通过控制
达到控制
的目的。
表示
完全归属于
表示
完全不归属于
表示
不完全归属于
,即介于前两者之间。
在模糊控制中,精确的变量通过隶属度函数将其转化为模糊量,是解决非线性时变问题的关键。隶属度函数的选择具有极大的主观性,视情况而定,但是要考虑到整个论域,不能遗漏论域里面的元素。以下三种隶属度函数在控制系统中应用广泛:正态分布型(高斯基函数)、三角形和梯形:
1)正态分布型数学表达式
其中,
为函数的中心值,
表示函数的宽度。
2)三角形数学表达式
其中,
为三角形的三个形状参数。
3)梯形数学表达式:
其中,
为梯形的四个形状参数。
模糊控制器的结构设计,是指确定其输入变量与输出变量的个数,通常将一个输入一个输出的模糊控制器称为单变量模糊控制系统(SISO),又称为一维模糊控制器,其他数量的输入量/输出量的模糊控制器称为多变量模糊控制系统(MIMO),理论上,模糊控制器的维数越高,控制越为精细,但是模糊规则的制定相当复杂,同时,计算量也很大,车辆速度跟随模式下的加速度求解较为简单,应用一维模糊控制器即可,如图所示:
采用模糊控制器来决策出车辆的当前期望加速度,使车辆底层模型可以理想的跟踪上期望车速,选取期望车速与当前车速的速度差
,作为模糊控制器的输入信号,即:
上式中,
为驾驶员的期望车速,
为受控车辆的本车车速。
对于
而言,采用七个模糊语言子集来确定,即
,分别对应负大、负中、负小、零、正小、正中、正大,输入变量的论域为
;对于输出变量,即期望加速度
,也采用七个模糊语言子集来确定,即
,输出变量的论域为
,这里主要考虑到速度跟随过程中的舒适性,所以不采用较大的加减速度。
参考专家经验,并依据车辆传动系统的动力学特性与驾驶员驾驶习惯,确定模糊控制规则的选取原则如下 :
(1)速度误差较小时,应该产生较小的期望加速度,车辆可以平稳的达到期望速度;
(2)速度误差处于中等水平时,应该产生较大的期望加速度,这样可以很快的缩小速度误差,当其达到较小的水平时,又以较小的加速度值使车辆平稳的达到期望速度;
(3)速度误差处于较大水平时,应该产生一个中等的期望加速度,因为速度误差值较大时,根据驾驶员习惯,加速度变化规律往往是由小变大再变小,因此,速度差较大时应该产生一个中等加速度值,快速又不失平稳的过渡到(2)与(1)的状态。
根据上述的三条原则,确定模糊控制规则如下表:
防止加速过程产生加速度的跳变,同时保持加速过程的平稳变化,采用重心法进行加速度的决策。
输入变量和输出变量的模糊子集采用三角形隶属度函数,如图所示:
表达模糊控制器输入输出的关系如下图所示:
1.4 ACC模式的切换
ACC主要分为速度跟随与跟车两个模式,这两个模式均可决策出车辆的加速度,在开启ACC后,应该决定进入哪个模式,或者,满足某种条件后,应由当前的模式切换到另一个模式。当没有前方目标车辆的时候,毫无疑问的应该为速度跟随模式;当存在前方目标车辆时,并且前方车辆与受控车辆距离足够近,此时应该为跟车模式。以往常用的模式切换条件可以用图来描述:
可以看出,在坐标系
中,三四象限表示车间距为负值,即车辆会发生碰撞,这是不允许的,所以三四象限为死区,不需要考虑。模式切换线为一、二象限中的一条水平直线,这条直线表示车间距为
,当车间距大于
时,ACC处于速度跟随模式,当车间距介于
之间时,ACC处于跟车模式,很显然,这种模式判别条件仅与车间距有关,而没有考虑车速、相对车速的影响。
由于第二象限的
是负的,在这象限内的沿任何轨迹的运动,所代表的车间距都不会增加,从物理上来说,这意味着主车(受控车辆)接近前车,因为它的速度比前车大,类似的推理表明,车辆的对应状态处于第一象限时,主车与前车的车间距不会减小,这意味着主车(受控车辆)远离前车。因此,可以说,车辆运动状态处于第一象限时比处于第二象限时更为安全,所以,当受控车辆由速度跟随模式切换到跟车模式时,车辆状态处于第一象限时比处于第二象限时可以 “更晚”的进行切换,并且,速度差值
越大时,车辆间的安全性更高。所以,可以采取更为合理的模式切换线,如图所示
模式切换线可以表述为下式:
上式中
,一般取值
, R 表示两车相对速度为0时,理想的车间距,R
, C0 为两车静止时的理想车距,
表示跟车时距,
表示前车的车速。
车辆状态位于切换线右上方时,处于速度跟随模式;车辆状态位于切换线左下方时,处于速度跟随模式。
另外,还需要考虑驾驶员设定的期望车速与前方目标车速的关系:如果期望车速小于前方目标车速,车辆应该按照驾驶员的意图行驶,即进入速度跟随模式,不应该跟随前方较快的目标车辆,其余情况下,均按照ACC模式判别正常决策。
#02
仿真实验验证
2.1 实验场景的设计
根据上文对于ACC系统的设计,设计四个常见的交通场景来验证ACC控制的准确性与激光雷达在ACC系统中的可应用性:
实验场景1: 不同车道的车辆切入实验车辆车道前方,一段时间后,又切出该车道; 实验场景2: 前方车辆位于实验车辆同车道,距离实验车较远,实验车逐渐接近前车。基于以上仿真场景的设计,在仿真软件平台搭建实验场景,主要分为以下几个步骤:
(1)道路场景与行驶环境的构建;
(2)实验车辆模型与激光雷达传感器模型的添加;
(3)交通车辆模型的添加与行驶设定;
(4)实验车辆控制算法在Simulink中的搭建。
2.2 仿真实验结果与分析
实验过程中记录车辆的相关参数与激光雷达的探测数据,同时判断激光雷达的探测目标是否位于实验车辆的前方车道内。
实验中,会设定驾驶员的期望车速与前方车辆的速度(如果有前车),同时设定ACC的模式:1表示速度跟随模式,2表示跟车模式。
实验场景1:
实验刚开始时,激光雷达探测到目标车辆的航向角很大,这是因为目标车辆处于实验车辆的旁边车道内,同时判定0-2.27s时,目标车辆未在实验车辆的前方同一车道内,于2.27s左右切入实验车辆所在的车道,目标车辆在实验车辆的前方同一车道内,又于32s左右时,目标车辆又切出实验车辆所在的车道。
分析实验结果可知: 设定驾驶员期望巡航车速为50km/h,目标车辆初始车速为30km/h,最高车速为60km/h。初始0-2.27s时,ACC模式处于1,即速度跟随模式,此时目标车辆处于实验车辆的旁边车道内,本车应加速至巡航车速,但是2.27s时,目标车辆切入实验车辆前方,本车则切换到跟车模式,稳定跟随目标车辆,在大约26s的时候,目标车辆仍在实验车辆的前方同一车道内,但是前方车辆速度超过了设定的驾驶员设定的巡航车速,所以本车的ACC模式切换回1,即速度跟随模式,本车不再跟随目标车辆,而是进行速度跟随控制,稳定的达到巡航速度,目标车辆于32s左右时,切出本车所在车道,并未对本车行驶产生影响。从车间距特性图像中可以看出,期望车间距仅仅在ACC模式为2的时候进行计算,因为速度跟随模式下车间距没有意义。综合上述分析结果,验证了切入--切出工况下ACC控制的准确性与激光雷达在该系统中的可应用性。
实验场景2:
与实验场景设定的一致,目标车辆一直处于本车车辆的前方同一车道内。
分析实验结果可知: 设定驾驶员期望巡航车速为50km/h,目标车辆初始车速为30km/h,最高车速为60km/h。0-13s时,ACC模式处于1,即速度跟随模式,此时目标车辆处于实验车辆的同一车道的前方,但是距离很远,并且两车速度较低,所以处于速度跟随模式,本车应加速至巡航车速;在约6s的时候,本车车辆达到巡航车速,并维持巡航车速至13s,此时,控制参数达到了模式切换的标准,ACC模式切换到2状态,即跟车模式,车速平滑过渡到与前车保持一致,在约24s时,前车车速超过了设定的驾驶员设定的巡航车速,所以本车的ACC模式切换回1,即速度跟随模式,本车不再跟随目标车辆,而是进行速度跟随控制,稳定的达到巡航速度。综合上述分析结果,验证了实验场景4设定工况下ACC控制的准确性与激光雷达在该系统中的可应用性。
#03
总 结
虽然目前已有很多ACC产品化,但是实现大多基于毫米波雷达的测距功能来实现的,同时,激光雷达是智能车未来发展的必不可少的助力,它可以实现目标的测速与测距,因此,激光雷达极有可能成为今后智能车的标准配件,所以设计了上述基于激光雷达的ACC功能,借助了了激光雷达的测距与测速功能,经仿真实验验证,基于激光雷达的ACC功能完善,适应多种较为复杂的工况,同时对于速度跟随与跟车模式下的控制较为稳定,验证了ACC控制的准确性与激光雷达在该系统中的可应用性。
/ END /
招募 | 特约撰稿人(兼职)
欢迎关注,小编微信:btighteast
相关问答
应用电子技术 专业介绍[代码590202][回答]本专业培养德、智、体全面发展,掌握电子技术、信息技术及计算机应用技术的基础理论知识,具有较熟练的实际操作技能,能够从事电子设备及系统的生产维...
大家 设计 的时候用什么 测量 工具?做产品设计的总结了一下,常用的有下面几种测量工具:一、宽、高、深、外径:1、卡尺2、高度尺3、千分尺4、卷尺5、钢尺二、轴类直径用千分尺、卡尺三、...
松下EW-BW50 电子 血压计 测量 一直显示u12体动怎么调-ZOL问答松下电子血压计出现U12代码应该是充气泵管路可能漏气,管路连接一个压力传感器,先检查管路是否接口没套好。请问如何打开面板?咋样检查这个问题怎么办5条回...
怎么用 电子 经纬仪测水平距离?_作业帮[最佳回答]经纬仪的测距与水准仪的测距道理是一样的,都是视距的上丝和下丝之间的读数乘以100,这里的*100是机器结构内部决定的经纬仪的测距与水准仪的测距道...
【 电子 计数法 测量 频率和周期用计数式频率计 测量 fx=200Hz的信...[最佳回答]测频法,1/200=0.5%测周,200/10M=2*10^-5=0.003%
测量系统 由哪些部分组成?在实际工作中,对于比较复杂,要求较高的以及被测参数较多的测量工作,必须使用较多的测量设备。这种由数量较多的测量仪表、有关附件和连接器件,且按照一定规律...
武汉精测 电子 ,怎么样?简介:武汉精测电子技术股份有限公司主营业务为平板显示检测系统的研发、生产与销售。公司主营产品包括模组检测系统、面板检测系统、OLED检测系统、AOI光学检...
电子 温度计是如何测室温的?如果体温计能用于测室温,那么,体温计在测完体温拿出来读数时,读数就会发生动态变化,这样就无法用于正常测量体温。因此,体温计在设计时已经考虑到这点,使其...
应用电子 技术专业要学哪些课程?应用电子技术专业需要学习的课程主要有电子技术课程、信号与系统课程、自动控制原理课程、高频电子线路课程、电测技术课程、电声技术课程、模拟电路课程、数...
电子设计 工程师是干什么的?电子工程师指从事各类电子设备和信息系统研究、教学、产品设计、科技开发、生产和管理等工作的高级工程技术人才。一般分为硬件工程师和软件工程师。硬件工程...