前言
互联网正在以日新月异的速度高速发展,软件的质量要求也在随之不断地变化,为了有一个宏观的认识,小编决定以另外一种视角来总结软件的质量包含哪些内容。
质量有哪些
质量模型总览
1、功能质量 2009年,我们还在使用PC电脑上淘宝、上人人网。这一时期软件质量要保障的主要是软件功能的可用性。因此,我们把这一阶段的质量称为“功能质量”,质量保障的内容主要是:软件的需求一致性、稳定性、性能、兼容性等内容。 2、工程质量 2012年手机网民规模首次超过台式,移动互联网进入了快速发展期。这一阶段,最为明显的感受是:为了保障快速迭代下的质量保障,国内部分公司开始实践持续集成的理念。 (备注:这里只是一个大致时间感受并没有标志性的事件作为里程碑。《持续集成》于2008年翻译后出版,结合国内引入落地需要一段时间,时间大致是2012年前后)。 因此,我们把这一阶段的质量称为工程质量,其主要保障的内容是:通过持续集成的方式,开始重视研发过程中的质量,手段包括但不限于:代码管控、测试环境管控、持续构建、构建中的自动测试(一般是UT)等。 3、算法质量 随着大数据和人工智能时代的开启,测试所要保障的内容也从功能质量上升到功能质量 算法质量。
- 以推荐系统为代表的产品(如头条),除了软件功能层面的各项保障内容无误之外,还需要进行算法新颖性、多样性等方面进行质量建设。
- 以图像及语音识别为代表的产品(如输入法语音输入),还需要进行准确性、覆盖性等方面的质量建设。
4、数据质量 大数据是人工智能引擎的燃料,燃料的质量决定了引擎的能力水平,因此我们将这一环节总结为数据质量,需要保障的内容包括数据的准确性、可靠性、一致性等。
质量模型的作用
上述的质量模型能做什么用呢?1、理解他人的分享。 这个看起来没什么太多作用:),它只是帮助我们能够在整体框架下去理解他人所做、所讲内容,而不是盲人摸象一样。以本次MTSC 2019移动互联网测试开发大会为例,小编将所听讲的议题填入到下表中以此理解各个议题所解决的问题和方向。
2、评估现状以便做规划。 一个关于规划最为常见的问题是:(团队或部门老大)参加大会听人分享后,表示自己部门也要搞创新,这个想做,那个也想做;看别人有了自动化框架,自己也想做一个;看别人开始涉足AI测试,自己团队也铺人力去做。但实际上,因为资源有限且每个项目所属的阶段和面对的问题不同,团队是要根据实际情况进行战略规划(因为战略涵盖的内容非常之多,本篇暂不展开去介绍)。 战略规划一般来说是三个步骤:了解现状及定位、明确未来目标、选择方向及路径。
其中,了解现状及定位是前提。本次总结的质量分层模型,可以用于宏观层面的现状分析,以此决定未来的发展路线。举个例子: i.成熟项目:
- 假如你所负责的项目是一个成熟的项目正在稳步发展。
- 经过评估了解,在质量保障方面,功能质量基本满足要求,但是工程质量还有不少问题。团队下一阶段的目标是满足版本快速迭代下的高质量保障需求。
- 那么我们可以着手进行工程质量保障的建设。
ii.创业项目:
- 假如你所负责的项目是一个创业项目(如互联网保险)。
- 经过评估了解,项目团队刚起步不久,基本的功能质量还未建设。团队下一阶段的目标是保障产品的上线发布以获得更多的用户。
- 那么我们可以着手进行功能质量的建设。
iii.新兴领域:
- 假如你所负责的项目是AI方向的新兴领域,与上述创业项目不同的是,产品的体验性是当前整体项目的重中之重。
- 经过评估了解,项目在功能质量方面对稳定性和性能有相关诉求之外,最主要是希望保障功能的算法效果。
- 那么我们除了建设基本的功能质量,同时也着力进行算法质量的建设。