张驰咨询:如何应用六西格玛培训提高开发手机软件质量?

张驰咨询:如何应用六西格玛培训提高开发手机软件质量?

目前已经进入移动互联网的时代,智能手机的普及和5G时代的到来,现在基本靠一部手机就能解决衣食住行的所有问题。手机的系统主要是Android和iOS两大阵营主导,手机的品牌和型号众多,给移动软件开发增加了巨大难度和挑战,特别是Android的手机软件开发。怎么让一个软件能兼容市面上不同系统版本、不同分辨率以及不同硬件配置手机。单单通过开发和测试是无法覆盖这么多不同型号的手机。这就需要我们在软件发布之后必须对用户的使用情况进行统计和分析,通过对这些收集的数据分析后,再改进优化,然后不断的版本迭代。相对于传统的软件,进入移动互联网的当下,手机端的软件基本都是实时联网,用户使用过程出现软件异常,软件可以实时将异常的信息上报到服务器上。这有助于我们通过分析这些数据,找到软件需要优化改进的根源。

在本文中尝试结合六西格玛的一些工具和方法,对具体的移动端软件项目开发过程进行度量和分析,通过对软件的崩溃率进行分析反过来评价软件开发的过程稳定性和过程能力。

六西格玛是一种管理策略,策略主要强调制定极高的目标、收集数据以及分析结果,通过这些来减少产品和服务的缺陷。它有三种含义:(1)是一种质量尺度和追求的目标,定义方向和界限。(2)是一套科学的工具和管理方法,运用DMAIC(改善)或DFSS(设计)的过程进行流程的设计和改善。(3)是一种经营管理策略。

1、假设检验

假设检验是推论统计中用于检验统计假设的一种方法。基本思想是小概率反证法思想。小概率思想是指小概率事件(P

显著性检验有时,根据一定的理论或经验,认为某一假设h0成立,例如,通常有理由认为特定的一群人的身高服从正态分布。当收集了一定数据后,可以评价实际数据与理论假设h0之间的偏离,如果偏离达到了”显著”的程度就拒绝h0,这样的检验方法称为显著性检验。偏离达到显著的程度通常是指定一个很小的正数σ(如0.05,0.01),使当h0正确时,它被拒绝的概率不超过σ,称σ为显著性水平。

假设检验的种类包括:t检验,Z检验,卡方检验,F检验等等。卡方检验是用途非常广的一种假设检验方法,它在分类资料统计推断中的应用,包括:两个率或两个构成比比较的卡方检验;多个率或多个构成比比较的卡方检验以及分类资料的相关分析等。卡方检验就是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,如果卡方值越大,二者偏差程度越大;反之,二者偏差越小;若两个值完全相等时,卡方值就为0,表明理论值完全符合。

2、过程稳定性和过程能力指数计算

要计算过程能力的前提必须保证过程是稳定的,所以首先要先分析过程稳定性才能进行过程能力指数计算。

3、统计过程控制(SPC)判定过程稳定性

统计过程控制(SPC)是一种借助数理统计方法的过程控制工具。它对生产过程进行分析评价,根据反馈信息及时发现系统性因素出现的征兆,并采取措施消除其影响,使过程维持在仅受随机性因素影响的受控状态,以达到控制质量的目的。

过程稳定性的分析主要依靠控制图进行分析,休哈特根据正态分布的3sigma原理建立常规控制图。休哈特认为,基于3sigma限的控制图可以把偶然波动与异常波动区分开来。

根据控制图使用目的的不同,控制图可分为:分析用控制图和控制用控制图。根据统计数据的类型不同,控制图可分为:计量控制图和计数控制图(包括计件控制图和计点控制图)。它们分别适用于不同的生产过程。每类又可细分为具体的控制图。

控制图按数据性质分类可以分为:

(1)计量值控制图(数据服从正态分布,由两张图组成,分别控制均值与标准差)

均值–标准差控制图

均值–极差控制图

中位数–极差控制图

单值–移动极差控制图

(2)计数值控制图主要分计件值和计点值

计件值:np图(n相同)–不合格品数控制图和p图(n可不同)–不合格品率控制图

计点值:C图(n相同)–不合格数控制图和U图(n可不同)–单位不合格数控制图

不同类型控制图的适用范围总结如表1所示。

张驰咨询:如何应用六西格玛培训提高开发手机软件质量?

4、过程能力计算

过程能力指数也称工序能力指数,是指工序在一定时间里,处于控制状态(稳定状态)下的实际加工能力。产品质量就是工序中的各个质量因素所起作用的综合表现。对于任何生产过程,产品质量总是分散地存在着。若工序能力越高,则产品质量特性值的分散就会越小;若工序能力越低,则产品质量特性值的分散就会越大。那么,应当用一个什么样的量,来描述生产过程所造成的总分散呢?通常,都用6σ(μ+3σ)来表示工序能力:

过程能力指数Cp、Cpk我们常常提到的过程能力指数Cp、Cpk是指过程的短期能力。Cp是指过程满足技术要求的能力,常用客户满意的偏差范围除以六倍的西格玛的结果来表示。Cpk是指过程平均值与产品标准规格发生偏移的大小,常用客户满意的上限偏差值减去平均值和平均值减去下限偏差值中数值小的一个,再除以三倍的西格玛的结果来表示。

过程能力指数Pp、Ppk,与Cp、Cpk不同的是,过程能力指数Pp、Ppk是相对长期的过程能力,要求其样本容量大,其公式同Cp、Cpk一样,但σ是全部样本的标准偏差,即等于所有样本的标准差S。

软件开发过程数据分析

1、软件的运行环境数据采集和分析

移动端软件在发布后用户反馈的问题,大都是兼容性造成的,很多手机配置是开发工程师和测试工程师无法覆盖到的型号,这就需要对在用的用户手机配置信息做数据采集和分析,找出最大比例的分布,在开发和设计时优先考虑这部分的配置的兼容性问题。对兼容性影响最大的主要是以下四个因素,分别是手机的操作系统、屏幕分辨率、CUP和内存分布。因此针对这四个因素,我们对最近一个月收集的数据进行分析,如图1所示。

张驰咨询:如何应用六西格玛培训提高开发手机软件质量?

通过柏拉图工具对分辨率、操作系统、CPU频率以及内存进行分析,如图1所示,很容易就能看出以下结果:用户的手机系统基本是Android6.0以上,分辨率主要还是1080P,从CPU和内存分析看手机的性能都比较好,配置较高。用户手机的品牌分析可以看出前四名是华为、OPPO、VIVO、小米。在软件兼容性设计和验证的时候会优先满足这些主流的配置。

2、手机品牌的影响分析

通过Bugly平台收集的数据发现不同手机品牌与用户崩溃率数据好像差异较大,所以针对不同手机品牌产生的用户崩溃数进行卡方检验,来确定手机品牌与用户崩溃数的关系。

采集三个软件版本在不同品牌手机报告上来的崩溃数量,数据如表2所示。

张驰咨询:如何应用六西格玛培训提高开发手机软件质量?

通过对手机品牌的卡方检验,如图2所示,手机品牌对用户崩溃数的影响为:P=0.000

张驰咨询:如何应用六西格玛培训提高开发手机软件质量?

因此在开发的下一次版本迭代,需要重点关注这几个品牌的手机,并且在测试的时候针对这几个品牌做重点测试,提高这些品牌的一些主流机型测试的覆盖率。

3、通过用户崩溃率数据分析计算软件的过程稳定性和过程能力

软件的崩溃率是移动应用软件的一个重要指标,它会直接影响到用户的体验和应用的存活率,同时通过崩溃率也可以反向验证软件开发的过程能力指数。

要通过崩溃率的数据来计算软件的过程稳定性和过程能力指数,首先崩溃率的数据要符合正态分布才能进行分析,所以我们要对崩溃率数据进行正态性检验,通过Anderson-Darling、Ryan-Joiner和Kolmogorov-Smirnov三种检验结果P值都大于0.05,如图3所示,可以判判定数据符合正态分布。

4、对软件开发的过程稳定性分析-U控制图

经过以上的正态检验,用户的崩溃率数据是符合正态分布,因此我们可以对其进行过程稳定性分析,数据表n列是每天活跃的用户数,k是每天上报的崩溃数量,A表示软件版本。针对缺陷率的控制图这边选择U控制图(由于使用的样品量都是不相等),分析可以看出过程是稳定的。

5、过程能力分析

在过程稳定的情况下,就可以进行过程能力分析,软件崩溃率可以反馈出该软件的质量水平,从而推断出软件开发的过程能力。在做过程能力分析时,规格上限值设置会直接影响到过程能力分析的结果,我们这边的崩溃率数据是从Android的应用部署后,通过Bugly服务器收集到用户上报的真实数据。以Bugly平台对日活区间App的崩溃率的统计数据来看,如图5所示,我们现在的日活用户数差不多是5000到7500之间,按bugly平台的数据显示这个用户数量级的行业平均值是3.36%,而上一个基本是1千以下的日活用户崩溃率差不多是4.98%,我们就按4.98%的规格上限进行分析运算,得出的Cpu为1.19,根据查表可以看出这个数值对应的过程能力等级的描述,说明过程能力还是较低,还有较大的改进空间。图6所示为软件开发过程能力评估图。

张驰咨询:如何应用六西格玛培训提高开发手机软件质量?

张驰咨询:如何应用六西格玛培训提高开发手机软件质量?

通过结合六西格玛的一些方法和工具对软件的开发过程的数据进行度量,减少软件开发过程的主观性、盲目性判断和决策,用六西格玛提供的科学方法和工具改进软件质量,从而生产出高质量的软件

来源:张驰咨询

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年9月16日
下一篇 2021年9月16日

相关推荐