常见的算法测试质量评价标准

发表于:2020-4-08 11:05

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:软件测试艺术    来源:软件测试艺术

分享:
  评价标准有时也称为质量目标、过点标准,是评价测试质量的手段之一,只有达到该标准评审人员才能做出判断,是否能够发布或进入下一个阶段。任何一项测试都会设定通过标准,基本的功能测试和模块专项测试也有,例如用例通过率和缺陷解决率过点标准。而本文主要介绍一些基本的算法的质量目标。
  如今智能手机都有指纹解锁、人脸解锁等功能,还有最近的很流行的刷脸支付。针对这些非常前沿的技术,在测试的时候不仅仅只测试基本功能和性能,还会有一个准确率或叫精度的测试,那就是多样本的解锁压力测试,其评价的指标一般使用如拒真率(False Rejection Rate, FRR)和认假率(False Accept Rate, FAR)作为评价算法优劣的标准。
  拒真率就是使用录入的手指或人脸来解锁识别错误的次数,认假率就是使用非录入的手指或人脸来解锁识别成功的百分比。例如使用不同年龄段、性别的1000 例样本,每个人左右手分别录入大拇指、食指、中指6 例指纹样本,相当于一共有6000 例样本,然后使用录入的手指和非录入的手指来解锁进行统计目标是否小于某个值,例如FRR<0.1%,FAR<0.001%等。
  例如在指纹算法测试中有如下定义( T 代表True, F 代表False,P 代表解锁成功, N 代表解锁失败):
  TP:正确的指纹解锁,解锁成功
  FN:正确的指纹解锁,解锁失败
  FP:错误的指纹解锁,解锁成功
  TN:错误的指纹解锁,解锁失败
  则FRR = FN / ( TP + FN )、FAR = FP / ( FP + TN )
  准确率评价标准:
  准确率的定义是正确指纹解锁并解锁成功和错误的指纹解锁并解锁失败的次数占总解锁次数的百分比,其公式如下:
  准确率= (TP + TN )/(TP + TN + FN + FP )
  如果正确的指纹、错误的指纹解锁样本数量不均衡的话,得到的高准确率结果则水分很大,使用准确率作为评价标准则会失效。例如正样本(录入的指纹解锁)占90%,负样本(非录入的指纹解锁)占10%,怎么测试准确率都高达90%。
  精准率评价标准:
  精准率其实就是在所有解锁成功的次数中实际为使用正确的指纹解锁的百分比。
  精准率= TP / ( TP + FP )
  精准率的值其实就是1-FAR的值,精准率越高,说明认假率越低。
  另外一种评价标准就是召回率(recall):
  召回率就是在所有使用录入指纹手指解锁的次数中解锁成功的百分比。
  则召回率(recall)= TP / ( TP + FN )
  召回率的值也即1-FRR。召回率越高,说明识别率越高,算法的鲁棒性越好。
  一般的简单的算法测试使用以上几个标准也基本能够满足,特别要注意准确率和精准的率的区别,一般人经常会容易搞混淆,其实他俩有天壤之别。当然还有一些的其他的评价标准,如ROC曲线。

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号