软件质量与软件测试

  • 格式:doc
  • 大小:30.50 KB
  • 文档页数:3

下载文档原格式

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

软件质量与软件测试

摘要:保证软件质量,是一个贯穿整个软件生存周期的重要问题.在早期,由于忽视了质量管理,导致软件项目管理的严重问题,以至于在软件开发中出现软件危机.重视软件质量管理,规范软件质量管理体系,对整个软件项目管理起到非常重用的促进作用.本文主要通过对管理策略的介绍,来达到提高软件质量的目的.转自项目管理者联盟

软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查,它是软件质量保证的关键步骤。通常对软件测试的定义有两种描述:定义1:软件测试是为了发现错误而执行程序的过程。

定义2:软件测试是根据软件开发各阶段的规格说明和程序内部结构而精心设计的一批测试用例,并利用这些测试用例运行程序以及发现错误的过程,即执行测

试步骤。

在软件开发团队中,由于质量被视为软件产品的生命.那么什么是软件质量?软件质量:与软件产品满足明确或隐含需求的能力有关的特征和特征的总和,它反映了三个方面的问题:1.能满足客户需求的特性之全体;2.利用各种质量标准体系,指导软件开发人员开发软件;3.是否满足用户隐含需求.软件质量管理的目的是建立对项目的软件产品质量的定量理解,和实现特定的质量目标;着重于确定软件产品的质量目标、制定达到这些目标的计划,并监控及调整软件计划、软件工作产品、活动及质量目标以满足顾客及最终用户对高质量产品的需要及期望. 1软件质量管理的现状

在现实软件开发过程中,许多软件产品却时常陷入质量低下、甚至软件不符合用户需求的旋涡.究其根源,有以下几个方面:项目经理圈子

软件质量保证技术(审查、复审和测试)没有贯穿到整个软件开发全过程中去.项目管理者联盟

在于这些软件产品对其质量内涵的把握,仅仅停留在减少软件运行错误、加强软件测试,避免软件缺陷的一般性层面,而对整个软件开发生命周期的全过程质量管理,缺乏总体架构.转自项目管理者联盟

测试管理的一些误区也会导致严重的质量问题.没有按照测试原则进行尽早测试、连续测试与自动化测试.是测试本省变得的形式化.

质量是全过程的,不仅是测试.质量管理者应该将质量控制与保证着眼于整个软件开发生存周期内.而事实上,质量管理者仅仅认为通过严格的测试就可以保证软件质量

2软件质量保证

在软件开发中,可以采用以下措施保证软件的质量;

审查.在生命周期每个阶段结束之前,都要使用标准对该阶段生产的软件配置进行严格的技术审查.

复查和管理复审项目管理论坛

复查是检查已有的材料,以断定某阶段的工作是否能够开始或继续;管理复审是向开发组织或使用部门的管理人员,提供有关项目的总体状况、成本和进度等方面的情况,以便他们从管理角度对开发工作进行审查.

通过测试计划、测试过程与测试结果对软件质量进行保证

软件质量保证活动

以上各项活动内容都须写入质量保证计划,并由质量保证小组监督实施.由此可见,质量保证既是技术活动,也是管理活动

软件评审

评审是以提高软件质量为目的的技术活动.要通过对软件的规格说明、可靠性、性能实现、可修改性、可扩充性、可移植性、可测试性、可复用性以及评审的实施等方面对软件项目做好严格的评审,以确保软件质量.

采用质量保证标准

质量标准用于实现质量管理的组织结构、责任、规程、过程和资源.采用ISO质量保证模型.可以用于质量计划、质量控制、质量保证和质量改经所需的组织结构、规程、过程和资源.

结构化的软件测试

经过严格的软件测试,尽可能找出软件计划、总体设计、详细设计、软件编码的错误,并加以纠正,才能提高软件的质量.测试要覆盖整个软件的生存周期,而不限于程序的编码阶段.转自项目管理者联盟

软件维护转自项目管理者联盟

采用结构化维护,完整的软件配置为基础,通过完善性维护、纠错性维护、适应性维护及预防性维护提高软件质量.项目管理者联盟

3质量管理实施

项目进度的质量保证转自项目管理者联盟

项目进度是项目进行是否顺利的最直观表现.显然在项目开始之前,项目开发计划是必须的.如果项目开发计划的制定的是完全合理的,那项目进度也就真正表达了项目与最终的交付使用之间的距离,然而要制定完全合理的项目开发计划几乎不太可能.可见要保证项目进度,首先要保证项目开发计划尽可能合理.

软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。

使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别.

它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 、完全度(completeness)和质量(quality)的软件过程;是SQA(software quality assurance)的重要子域。Grenford J.Myers曾对软件测试的目的提出过以下观点:

(1)测试是为了发现程序中的错误而执行程序的过程

(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案

(3)成功的测试是发现了至今为止尚未发现的错误的测试。

然而,这种观点指出测试是以查找错误为中心,而不是为了演示软件的正确功能.但是只从字面意思理解,可能会产生误导,认为发现错误是软件测试的唯一目的,查找不出错误的测试就是没有价值的测试,实际上并非如此!

(1)测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助管理项目者

发现当前软件开发过程中的缺陷,以便及时改进

(2)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性

(3)没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法

(4)另外,根据测试目的的不同,还有回归测试、压力测试、性能测试等,分别为了检验修改或优化过程是否引发新的问题、软件所能达到处理能力和是否达到预期的处理能力等。