CRM软件测试质量控制过程的效度分析

统计过程控制(Statistical process control,SPC)是通过使用控制图来制定过程决策和预测过程行为的一种质量控制方法。SPC的方法最初用于生产过程,主要监控制造业流水线的质量。随着SPC在制造业的不断推广和切实的成效,众多领域也相继开始使用SPC来控制产品质量,如医药、保健、机械设备、包装、制造、航空、电子、软件开发、以及软件测试。近年来,SPC的概念逐渐被应用于软件过程中,人们开始使用控制图来度量和监控软件过程的性能和能力。由于软件测试过程是软件开发过程中质量控制的关键,SPC方法也开始被应用在软件的检查和评审过程中,以判定过程性能是否稳定。如果稳定,则在此基础上衡量过程的能力,以达到不断地改进。

  一、SPC模型及本研究假设

  国内外学者在不同领域里用控制图来判断过程的稳定性,利用工序能力指数来分析工序对于技术要求的满足度,利用柏拉图分析过程中的异常产生的主要原因。本文在前人的研究基础上,构建SPC模型,它是对统计过程控制理论的一般方法描述,其理论模型如下:

  SPC模型的自变量为过程质量控制的特征,包括测试点在控制图中的分布、工序能力指标和异常归属原因在柏拉图中的累积频率。该模型的因变量为过程质量控制的有效性,包括过程的稳定性,工序的技术满足度和影响质量的主次因素。

  SPC模型的基本原理是:首先,在控制图中绘制测试点的分布,利用其判异指标来判断生产过程中是否存在不稳定的因素,如果控制图中存在超出上下控制线的点或者有较大的波动的点,则说明系统处于不稳定状态或不受控制的,反之系统稳定。其次,计算工序能力指标,计算结果越大表明工序能力越满足技术要求,甚至有一定的能力储备,反之,要采取相应的改善措施。最后,当系统出现异常时,在柏拉图得到各类异常归属原因的累积频率,依据80/20原则确定影响质量的主要因素与次要因素。

  本文尝试将SPC模型应用到某CRM软件测试质量控制中,研究命题如下:

  命题1:基于SPC模型,是否可以判定CRM软件的测试过程是稳定的。

  其判定指标为:通过对控制图的分析来获得过程目前的稳定性。依据国标GB/T4091-2001《常规控制图》中的判定准则,我们可以选用以下几种测试规则判断过程中是否存在异常模式和非随机行为:

  (1)一个点落在A区控制限制外;(测试点出上或下控制界限就判异)

  (2)连续9个点落在中心线同一侧;

  (3)连续6点递增或递减;

  (4)连续14点相邻点上下交替。

  命题2:基于SPC模型,是否可以判定经过系统测试的CRM软件的工序能力满足技术要求。

  其判定指标为:国标GB/T4091-2001工序能力指数值CPK评价标准的一般原则。

  (1)当CPK>1.67时,表明过程能力过高,可以放宽对质量特性值波动的上、下界限制;也可以改用精度稍差的设备,以降低成本。

  (2)当1.33

  (3)当1.00

  (4)在CPK值接近1.00时,出不合格产品的可能性增大,此时应加强对生产线检查和产出品进行抽样检验。

  (5)当CPK≤1.00时,过程能力不足,应分析原因并采取必要的措施。

  命题3:基于SPC模型,是否可以判定CRM软件缺陷的主要和次要归属原因。

  其判定指标为:柏拉图遵循经济学上的80/20原则,即20%来源导致80%问题。根据累积频率在0~80%之间的因素为主要因素的原则,可在频率为80%处画一条水平线,在该水平线以下的折线部分对应的原因项便是主要因素。

  二、数据来源及数据分析

  (一)CRM软件测试的数据收集

  我们以某跨国公司A收购B公司的CBMB2B产品为研究对象,CBMB2B是企业级客户帐单管理的CRM软件。

  待系统测试结束后,在A公司的Siebel CRM质量管理信息系统ebiz中收集测试结束时CBMB2B软件Qr2和Qr3版本上的缺陷数量和CBMB2B软件Qr3版本上各个模块的设计测试案例的数量。

  (二)CRM软件测试的数据分析

  以CBMB2B软件功能模块的缺陷数目和不同版本的缺陷数目这两类数据为例,利用SPC模型的控制图和工序能力指数观察各自的分布形式。

  我们所度量的CBMB2BQF2和CBMB2BQF3两个版本的17个功能模块分别对应的缺陷数目。依图并没有符合判异规则,仅发现对于新版本而言缺陷总数目在若干点上有增长趋势。

  尽管缺陷数控制图没有符合判异规则,但是我们依然不能完全判定测试过程是否稳定,因此需要继续观察这两个不同版本的17个模块所绘制的单点值图和移动值域图。其判异规则同缺陷数控制图的判异规则。

  可以看出,不同版本的CBMB2B测试过程中已经存在表现异常的点。如图3所示,CBMB2BQF2产品第1点和第17点在单点值图中已经超出了控制限,这些已经显示出不稳定性的信号。分析这两个点所对应的模块,其中,这2个点对应的模块功能不够完善,需要优化代码,因此缺陷数目明显增多;CBMB2BQF3产品第1点,第11点和第17点在单点值图中已经超出了控制限,第11点在移动极差图中显示出了异常。分析这三个点对应的模块,其中,第1点和第17点对应模块上的缺陷并没有在新版本中被解决,导致缺陷数据未减少;第11点对应的模块是CBMB2B产品中最主要的功能,处理逻辑相对复杂,可能会存在漏洞,随着测试人员对业务的不断理解,发现了更多潜在缺陷。

  将不合格率作为质量指标,利用表2 CBMB2B各个模块不合格率,进行工序能力分析。可知,进行测试实施后的CBMB2B的工序能力指数为CPK=1.08。

  (三)CRM软件缺陷产生的原因分析

  在软件测试过程中,影响测试过程不稳定的因素有多种。如带有新需求的功能模块、功能比较复杂、原有流程的修改以及测试人员的经验等。在分析影响测试过程稳定性的各种因素之前,我们先来对测试过程中发现的所有缺陷按照其不同类型进行分类,即观察每种缺陷类型的分布情况,以帮助我们更有效地识别出可归属的原因,并加以利用或排除。这里我们将缺陷的类型分为3种Product Defect,Enhancement和Documentation Defect。

  从表3中可以清楚地观察出Product Defect类型缺陷占有绝大多数。为了进一步了解Product Defect类型的缺陷产生原因,我们需要应用统计技术中的柏拉图对此主要部分缺陷的不同归属原因按级别进行排列,这样可以帮助我们判断缺陷处理的优先级,即把精力集中在哪类缺陷上。

  从上面的分析我们可以看出,影响测试过程不稳定的主要原因在于一些功能设计考虑不周到而引起的缺陷,系统忽略了很多细节上的处理逻辑。分析表明,需要我们结合缺陷的主要类型,采取有效的措施防止相应的可归属原因的出现。

三、结果说明

  由于CBMB2B软件处于维护阶段,模块数固定,因此样本大小为1,对过程标准差盯的估计不能仅通过缺陷控制图来描述,因此需要通过相邻两个样本间的移动极差飚来进行。

  这里的单值是指CBMB2B产品各个模块不同版本上的缺陷数目,移动级差是指相邻模块缺陷数的差的绝对值,也即两个数据的级差。按照如下公式利用表6的数据计算平均值、移动极差平均值、x图和Rs图的中心控制值、上控制限值和下控制限值。

  其计算结果与利用Minidata软件计算得到的值相一致,如表6所示,说明利用该软件来绘制单值一极差控制图是准确的。

  数据分析部分CBMB2BQF2的单值一移动级差控制图中有两个点符合第一个判异规则,即1个点落在A区域外,而CBMB2BQF3的单值一移动级差控制图中有三个点符合第一个判异规则,即1个点落在A区域外,因此CBMB2B软件在不同版本测试阶段均存在不稳定因素。此外可知,CBMB2B软件的测试工序能力指数为Cpk=1.08,根据国标GB/T4091-2001工序能力指数值评价标准的一般原则可知:当1.00

  综上所述,设计人员应该完善产品设计,比如考虑语言转换或浏览器转换时的系统处理正确性。而开发人员应该注意代码的优化处理,增加冗余处理和非法校验,以便减低或规避产品缺陷。

  四、结论和展望

  本文研究结果:

  1.基于SPC模型,可以通过控制图来发现CRM软件测试过程中的不稳定因素,因此命题1成立。

  2.基于SPC模型,可以通过工序能力指标得到CBM产品工序能力指数>1并且<1.33,说明其技术满足度一般,因此命题2成立。

  3.基于SPC模型,可以通过柏拉图找到CRM软件缺陷产生的主要归属原因,因此命题3成立。

  根据本文的研究结论,质量保证人员可以有效地利用SPC模型对测试过程进行监控,并随时发现问题,提出问题,记录问题,并解决问题。他们考虑的不应该仅仅是测试产品这一环节,而应该着眼于测试的整个流程,测试计划,测试实施,测试总结等流程都可以利用SPC模型进行质量控制,以便监控整个流程中各个子过程的稳定性。这对于所有软件产品的测试过程的质量控制都有指导性意义。

  众所周知,过程统计理论已被工业、制造业广泛应用,现在它已逐渐受到被软件行业的青睐,并开始有选择地运用其技术进行质量度量。因此,越来越多的人应用此技术来研究软件测试及开发过程,本文正是在前人的研究基础上逐渐丰富起来的,此研究结果为这一领域在某种程度上提供了推动力和背景条件。尽管本文围绕过程统计理论应用于CRM软件产品测试过程的质量评估中进行一定范围及一定程度上的应用研究,得到了一些有益的结论,但是由于时间、能力以及研究内容所限,尚有很多问题论文没有涉及,或者虽然有所涉及但尚未深入探讨,而这些问题都有待我们在未来作更进一步的研究。主要存在以下四个方面需要继续探讨。

  (1)基于SPC模型进行CRM软件更多度量元的质量控制应用研究:

  本文仅以CRM软件的缺陷数目、缺陷类型及频率、模块的不合格率为度量元进行测试过程质量控制的探讨,利用控制图进行数据分析的方式对研究对象进行了初步验证,并对ebiz管理信息系统提出了一些参考建议,但是考虑到目前处于软件维护期,未对CRM软件产品所有度量元进行研究,比如缺陷变化率和测试代码的变化率,因此在后续研究中,将进一步关注这些度量元的变化。

  (2)基于SPC模型进行CRM软件测试中各个工序的应用研究:

  质量测试管理流程中包括需求分析、测试计划、测试设计、测试实施及测试总结等多个流程,由于目前的主要工作注重于系统测试实施阶段,所以对其他阶段研究还不足,在后续研究中,进一步关注各个阶段前后关联性。

  (3)基于SPC模型进行不同CRM软件测试质量控制的应用研究:

  本文仅选择笔者所接触的CRM软件进行研究,并没有机会对所有CRM软件进行研究,以此来判断是否所有CRM软件都符合研究成果。笔者假想对于成熟的CRM软件而言,前面的研究成果应该具有共性,但是对于新研发的CRM软件而言,需要不断完善该模型。

  (4)基于SPC模型进行CRM软件测试过程改造的应用研究:

  本文仅对CRM软件测试过程的质量评估进行应用研究,并没有在研究成果基础上对原有流程进行改造,因为流程改造也是一个大课题,需要花费大量的时间与精力进行研究。因此在后续的研究中,将开始思考如何对CRM软件测试流程进行改造。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22954958/viewspace-629226/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22954958/viewspace-629226/

你可能感兴趣的:(CRM软件测试质量控制过程的效度分析)