软件过程的质量度量(二)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、实验目的

了解软件过程,了解软件过程的质量度量方法,掌握软件过程不同阶段中度量的侧重点及其各自的度量方法,重点了解软件测试阶段的过程度量内容。

二、实验时间

2课时

三、实验内容

1.依据网络资源,了解软件过程度量中的相关内容,重点了解软件测试过程的质量度量内

容。

2.以测试过程为主要内容,展开对软件测试过程的质量度量方法的综述。

四、实验要求

1.根据实验要求,撰写有关软件测试过程的质量度量方法的综述报告,报告中实验内容部

分要做到内容准确详尽,逻辑清楚,中心内容突出,文字表达通顺,且不少于3000字。

2.实验报告排版符合要求,不得相互抄袭或拷贝,否则一律不合格。

五、实验总结

软件测试是软件质量保证的关键步骤,软件开发生命周期受到关注最多的就是测试。在大部分软件开发活动中,软件测试被认为是基础,它对软件的成功是至关重要的。发布有缺陷的软件将导致顾客的不满意,而且会损害成产该软件的公司声誉。

软件测试过程度量的作用主要体现在:通过度量对过程、产品、资源和环境进行分析和理解,在此基础上建立过程基线;通过评价比较实际软件过程与标准或计划间的差异;通过度量所反映的产品状态信息、项目状态信息和过程状态信息,可以帮助制定合理的管理控制措施,使产品偏离度、项目偏离度和过程偏离度在可控制的范围内,使项目过程的性能表现稳定,并且项目过程性能满足需求;历史度量数据的积累能帮助预测当前项目的相关属性数据,有助于计划和决策的制定;度量并不能直接改进过程,但基于度量的理解和评价为过程改进提供了有效的线索。根据这些线索再结合度量所记录的过程场景信息分析过程偏差的原因,帮助过程改进制定有效的变更措施。过程改进既是度量的结果,又是度量的动因。

对软件测试过程的度量是对软件测试过程特性的一种描述,不同的描述类型决定了不同的度量内容、度量的表达方式、度量数据的采集手段、度量数据的分析方法。根据不同的描述类型主要划分为:

1.客观度量和主观度量:客观度量是过程或产品的实际结果,主观度量是人的主观判断

结果,也可以是在客观数据基础上的分析结果。

2.绝对度量和相对度量:绝对度量其度量值的取得没有参照物或没有其他属性之间的依

赖关系,相对度量是指其度量值的取得具有参照物或与其他属性之间有依赖关系,比

如生产效率依赖于过程时间和产品的规模。

3.显式度量和隐式度量:显式度量是可直接得到数据的度量,隐式度量是对原始度量数

据进行运算或结合多个度量分析得到的结果。

4.动态度量和静态度量:动态度量是二维以上的度量,用于动态监控过程信息随时间的

更新情况。一般第一维表示数值或类别,第二维表示时间。

5.预测度量和解释度量:预测度量是根据既有度量信息来预测过程的未来执行情况。解

释度量是事后度量,对已经执行的活动进行度量。从过程迭代的角度来看,上一次的解释度量可能是下一次的预测度量。

6.内部度量和外部度量:内部度量和外部度量的划分是从度量的信息源和结果应用的作

用域而言的。

软件测试阶段的过程度量内容或项目比较多,包括软件测试进度、测试覆盖度、测试缺陷出现/到达曲线、测试缺陷累积曲线、测试效率等。在进行测试过程度量时,要基于软件规模度量(如功能点、对象点等)、复杂性度量、项目度量等方法,从三个不同的测度来完整度量测试的过程状态:

1.测试广度的测量提供了多少需求(在所有需求的数目中)在某一时刻已经被测试,来

度量测试计划的执行、测试进度等状态;

2.测试深度是对被测试覆盖的独立基本路径占在程序中的基本路径的总数的百分比的

测度,基本路径数目的度量可以用McCabe环形计算复杂度方法来计算;

3.过程中收集的缺陷数度量,发现的、修正的和关闭的缺陷数量在过程中的差异、发展

趋势等,为过程质量、开发资源额外投入、软件发布预测提供重要依据。

如前所述,测试过程的度量可以将过程状态度量和过程结果度量结合起来分析,是测试过程度量更有效。

软件测试的目标是以最少的人力、物力黑时间投入,尽可能多地找出软件中潜在的各种错误和缺陷。此外,测试结果为软件可靠性分析提供了依据。

在金典的软件开发过程中,软件测试涉及两个阶段:1、在编码阶段,每个模块写出之后进行的单元测试,测试者应为该模块的作者;2、对软件系统进行的各种综合测试,即软件生命周期中的一个独立阶段,由专门的测试人员完成。

软件开发过程经历了分析、设计、编码等阶段,表现在程序中的错误,并不一定是编码所引起的,也可能是详细设计、概要设计阶段,甚至是在软件需求分析阶段的问题引起的。错误在初期可能只是小范围的隐藏问题,由于开发阶段的连续性,使得问题愈发严重、扩展。如果早期开发中出现的错误不能及时发现和解决,将会影响到设计、编码、测试等阶段,就需要付出不必要的人力、物力等资源来修正错误。

测试是贯穿整个软件生命周期的一个系统的过程。系统的测试过程能够在软件发布前发现更多的问题,并保证及早发现问题,从而以最小的代价更正问题。测试阶段,主要的过程质量度量有:

1.缺陷度量或缺陷分布度量;

2.测试用例的深度、质量和有效性;

3.测试执行的效率和质量;

4.缺陷报告的质量;

5.试覆盖度(测试整体的质量);

6.测试环境的稳定性或有效性;

软件测试过程,测试计划、测试设计、测试执行和测试评估几个基本步骤:

1.测试计划

测试计划是定义一个测试项目的过程,确定个测试阶段的目标和策略,以便能够正确的度量和控制测试。这个过程将输出测试计划文档,明确要完成的测试活动,为测试过程的每一阶段提供清楚的测试目的;评估完成活动所需要的时间和资源;设计测试组织和职权,进行活动的安排和资源分配;安排跟踪和控制测试过程的活动。

2.测试设计

测试设计是根据测试计划设计测试方案,编写详细的测试脚本的过程。主要输出的是个测试阶段使用的测试用例。将测试计划阶段制定的测试活动分解、细化成多个可执行的测试过程,构造测试计划中说明的执行测试所需的要素。这些要素通常包括驱动程序,测试数据和实际执行测试所需的软件。测试设计的结果可作为个阶段测试计划的附件提交评审。

3.测试执行

按照测试计划、使用测试用例对待测试项目进行逐一、详细的测试,将获得的测试结果和预期的结果进行对比、分析和评估,判断软件是通过了,每项测试还是失败,确定开发过程中将要执行的下一步工序,同时记录、跟踪和管理软件缺陷。在每个测试执行之后,对发现的错误都要进行相应的修改。当软件修改后必须运行原有的全部测试用例重新测试,并验证测试结果,这样可以确保修改后软件的正确性。

4.测试评估

将测试执行阶段得到的测试结果进行测试分析和汇总,依次评定测试用例、测试项、软件总体质量等级。经过测试后,证实软件具有的能力以及它的缺陷和限制,并给出评价的结论性意见。

缺陷度量是测试阶段的主要度量内容,包括产品缺陷度量和缺陷过程度量。测试环境的稳定性或有效性度量,就像软件有效性一样,用MTTF来测量。如:软件缺陷到达模式、PTR 出现/积压模型、测试用例的度量、基于需求的测试覆盖评估、基于代码的测试覆盖评估等等。

随着软件生产规模的日益增大,保证软件产品质量的软件测试工作越来越得到人们的重视,为更好地保证软件产品质量、更有效地执行软件测试工作,迫切需要对软件测试过程进行有效管理并逐步改善。目前,软件生产过程的管理模式也经历了完全依据管理者的经验到以数据为依据的量化管理这样一个逐步转化的过程。要对软件测试过程进行有效的管理就需要有反映过程本质特性的过程数据,通过这些数据,测试过程的执行状况才能得到监控,测试过程改进的决策才能有的放矢。由于软件测试过程的不可见性,软件测试过程度量则成为对软件测试过程进行量化管理不可或缺的一个环节。

参考文献:

[1]张春霞.软件测试过程分析.西安,西安交通大学.2004.

相关文档
最新文档