软件品质评测系统-评测体系

2020-07-14 10:55:56 浏览数 (1)

1

评测体系的意义

相信每个测试同学都会有这样的疑问,有时候评测效果很棒的项目,仍然会接到某些场景下的用户反馈,这个时候就需要我们重新思考应该怎么去整体的评估产品质量的好坏,怎么样建立完整的评测体系。将评测点用系统化的思维整理起来,形成全面的质量覆盖,就是我们今天要讲的软件评测体系。

2

评测体系的内容

评测体系可大可小,根据评测的内容而有所不同,一个完整的评测体系应包含:

  • 评测对象
  • 评测属性
  • 评测场景
  • 评测指标

在进行评测体系的设计之前,首先应明确评测对象是什么,可以大到一个系统,也可以小到一个排序算法都可以进行评测体系的设计。

有了评测对象后,根据产品的需求或者应解决的问题,就可以确认哪些评测属性,比如准确度,覆盖度,再比如多样性,健壮性等。

评测属性再向下,确认好评测属性的应用场景指标项,综合形成评测矩阵。将以上结合,就是一个完整的评测体系。

3

评测体系的设计方法

评测对象相对来说比较明确,接下来就是被测对象的特质进行评测属性的选择,以及确认好评测属性后进行评测矩阵的划分。

  • 评测属性的选择

常用评测属性的设计方式有以下几种:

  • 根据需求,自顶向下 1. 需求覆盖全面 2. 用户真实感受很难从顶层全面考虑到
  • 根据问题, 自下而上 1. 将问题汇总,聚类,形成评测属性 2. 需要适配战略规划
  • 参考已经成型的体系 1. 指标全面 2. 需要根据被评测对象的特性进行调整

以输入法这个推荐系统举例,假设我想评测输入法打字能力的好坏,首先就需要对打字能力进行一个定义。从上而下的角度出发,最基本的要求打字要准确,打字要快。怎么样证明打字准确呢,就要根据用户的习惯来,用户有哪些日常输入的场景,每个场景下展示哪些词,词应该排在什么样的位置。基于这样的从顶层出发的角度去看,我们大致能够得出这样的一张评测矩阵。

这样规划出来的评测矩阵似乎看起来可以基本上完成对一个评测对象属性的评估,但是有很多用户的真实体验从上层考虑是覆盖不到的,这就需要自底向上,从问题出发,对评测矩阵进行补充和维护。比如之前有用户反馈,我们的输入法当误触几次错误的候选时,正确的候选排序很难调整回来,这个时候反观我们的目前已有的评测矩阵,是很难覆盖到这样的场景的,这个时候我们就参考了一些已有的评测体系的相关指标,比如推荐系统的健壮性,在正向的数据中加入噪声数据,通过比较前后相似度的方法,评测排序算法的健壮性。相信通过自顶向下的框架设计以及从问题出发向上排查完善,不断的优化和迭代评测矩阵,一定能够让评测体系越来越全面。

  • 评测场景的选择

确认好了评测属性以后,接下来就是针对评测属性进行评测场景的覆盖及指标项的选择。评测场景一般是根据实际应用场景结合实现细节进行敲定。

以打字能力为例,用户实际可能在不同的键盘下进行打字,每个键盘下可以打字不同的长度,输入的时候可以按照全拼和简拼的方式。

场景选择时要以无重复无遗漏为原则,一旦场景较多,需要考虑评测成本,应用使用率更高的评测场景。

  • 评测指标的选择

评测系统中,除了框架设计外,评测指标的选择也是评价产品各方面性能的重点,是质量落地的体现。一般常用的推荐系统的指标有以下几种:

准确率:准确率是我们最常见的评价指标,而且很容易理解,就是被分对的样本数除以所有的样本数,通常来说,正确率越高,算法的效果越好。虽然如此但是有时候准确率高并不能代表一个算法就好。比如纠错功能,假设纠对准确率高达99%,但是纠错率高达99%,那对用户打字输入的影响也是无法估计的,因此,单纯靠准确率来评价一个算法模型是远远不够科学全面的,类似的指标还有错误率,精确率,召回率和F值,都是用来评价算法的准确程度。

覆盖率:对算法长尾能力的挖掘,以输入法举例,就是用户期待的候选能够展示到用户面前占所有case的比例。一个好的推荐系统的算法不仅仅有高的准确率,还应有好的覆盖率。

健壮程度:处理噪声数据的能力。当用户误触的情况下,输入法的排序效果没有大的变化,仍然能给用户的满意候选。

除以上几种常用的外,多样性,新颖性,惊喜度,信任度等都有相关的评价指标,大家如果遇到相关问题可以搜索推荐系统或者是各类算法的评价指标,在这里就不过多赘述了。

  • 评测矩阵

当评测属性,评测场景及评测指标一一敲定后,我们可以根据矩阵思想,将属性,场景及指标建立成一个二维矩阵,后续可以按照迭代的版本维护起来,全面的展示该评测对象需要重点评测的全部内容。

4

总结

文章最后要说明的是,评测体系不是设计完后就一成不变的,需要根据产品的战略方向,以及用户的反馈意见不断的迭代更新和完善,要带着审视的眼光不断的反思和总结,这样才能保证全面直观,尽早的发现问题。

0 人点赞