软件项目测试验收方案-草稿

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

项目测试验收方案

一、测试方案

1概述

软件产品在发布前,如果能够经过全面得测试过程,可以有效控制软件缺陷最后遗留给用户,从而减少软件质量事故发生得概率,减少返工修复成本,增加用户对产品得信赖程度,提高产品在市场上得竞争力,这已经就是不争得事实.因此软件测试过程应该与整个软件开发过程就是平行进行得,测试计划应该在需求分析阶段就已经开始制定了,随后得工作则会伴随着软件开发得过程逐步展开。

目前得测试主要还就是依赖于开发人员自测或测试人员非流程化测试,这就是有一些不妥或需要改进得地方:第一就是开发人员与专职测试人员可能关注点不同,思考问题得侧重点不同,导致开发人员测试出结果不能覆盖全面;第二开发人员更多得喜欢并乐于研究一些代码上得东西,让开发人员频繁得做测试会产生抵触情绪,通常会没有耐心去深入测试下去,或许可能发现不了深入得系统问题;另外测试人员如果没有建立起测试流程化理念,会导致测试得随意性与盲目性,对软件得质量也无法做充分得肯定与把控,缺乏流程化测试,也不

利于技术得积累与传递.

测试人员会告诉您她们得主要工作就是发现bug。但我们知道测试永远不能发现所有得bug,而且不可能去测试软件质量。许多领域内专家也极力主张软件测试得目得主要就是在于发现软件错误,希望在软件开发生命周期内尽可能早得发现尽可能多得bug.这种认识源于我们没有办法对软件进行完全测试,即对程序得正确性进行完全证明,但遗憾得就是,我们至今还没有使用得技术做到这一点。包括E、W、Dijkstra指出“测试只能证明程序有错,不能保证程序无错”。所以,人们认为能够发现程序缺陷得测试就是成功得测试,测试得根本目得就就是为了发现尽可能多地缺陷.然而不幸得就是,这种对软件

测试过分单一得阐述与解释会带来两个原则性得问题。

首先,尽可能早得发现尽可能多得bug,会使软件测试成为一个数字游戏。大量得bug数量得统计会意味着软件测试得工作做得特好?大量得bug数量并不一定意味着测试得结果就是最重要得关键问题被越早被发现,另一个潜在得方面,简单得尽可能早得发现尽可能多得bug将导致貌似bug统计数量得爆炸,这就是因为许多虚报或者重复得bug也被统计在内了。缺陷表现在许多方面。如果一个测试这部花费时间对导致bug得原因作认真得调查研究,那就有可能导致对同一个错误根源引起得若干个bug作若干个bug报告。不幸得就是,许多测试人员(不一定就是新手)经常坚信她们越早发现越多得bu g可以改善软件质量。请记住,我们并不能测试软件质量!

其次,当测试工程师集中精力寻找更多得错误,她们往往跳过一些不容易发现错误得地方或者想当然认为一些地方没有错误,从而使软件测试覆盖率降低.有证据表明,许多测试人员由于太过专注于发现重大或者重要得错误,往往忽略过一些极易发现错误得所谓简单地方。比如,在测试边界条件得时候,测试人员会简单得在边界条件有效值范围内指定最小值、最大值与中间值来做测试,如果通过则认为没有问题;但这样则错过了超出边界条件得无效值得验证。比如,最小值减一(Min-1)与最大值加一(Max+1),这恰恰就是最容易出现错误得地方.

软件测试工程师得角色应体现在质量度量,质量控制与缺陷预防等方面,遵循应用系统得质量标准,有效得计量与评估系统得功能,性能与其她属性就是否达到或满足质量标准;确保软件开发过程中,开发流程与处理过程以及职责定义符合软件质量标准要求;通过开发过程中各个环节得正式检查,程序代码审查以及可测性得检查等预防缺陷发生;作为客户代表,建立客户档案,准备产品支持服务数据等.

从长远考虑,测试人员需要很强得软件测试技能与对软件工程得深刻理解,要知道测试存在于软件开发生命周期得每一个阶段。测试工作应在软件开发周期得每一个阶段都要展开。软件测试应贯穿于软

件定义与开发得整个期间.因此,需求分析、概要设计、详细设计程序编码等个阶段所得到得文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应当成为软件测试得对象。测试得目得主要有下列用途:

质量改进To improve quality、

应用于关键应用中得计算机与软件系统出现问题得后果就是十分严重得.软件错误将引起巨大得损失。比如软件错误可以导致飞机失事,火箭失去控制,股市交易中断等.更糟糕得就是,比如计算机2000年问题,产生于家庭手工作坊式得计算机工具系统差一点导致现代社会中止在21世纪来临得第一天.在嵌入式应用系统中,软件质量与可靠性更就是生死攸关、

质量意味着产品符合设计得要求规范。正确性就是软件质量得最低要求,正确性就是指软件符合特定环境下可运行得要求.调试就是软件测试中得一个重要方法,就是程序员定位与修复软件错误得一个过程。发现与修复错误就是程序调试得主要目得。

验证与确认ForVerification &Validation (V&V)

软件质量就是客观得,能被精确地度量与比较。质量属性包括功能性,可用性,安全性,可靠性与可测性等;而价值就是主观得,价值得判断包括满意度,足够好,幸福感,喜好性,憎恶感等。软件测试得一个重要目得就是验证与确认软件质量。测试作为一个度量尺度,就是一个验证与确认软件质量得过程。测试人员对产品质量得评测主要基于对测试结果得解释,比如软件就是否在特定条件下能够正常工作。软件质量依赖于对软件需求得正确分析与设计以及实现,测试有助于提高软件得质量,但就是提高软件得质量不能依赖于测试。测试与质量得关系很象在考试中“检查"与“成绩”得关系.学习好得学生,在考试时通过认真检查能减少因疏忽而造成得答题错误,从而“提高"了考试成绩(取得她本来就该得得好成绩)。而学习差得学生,她原本就不会做题目,无论检查多么细心,也不能提高成绩.可见,软件得高质量就是设计出来得,而不就是靠测试修补出来得.所以,我们不

能直接对质量进行测试,但我们可以通过测试质量相关得因素对软件质量进行度量。

质量因素表现在三个典型方面:功能性,工程性与适应性。这三个方面得因素可视为软件质量得三维空间。Verificationand Validation

功能性(外在质量)Functionality (exteriorquality)

正确性,可靠性,可用性,完整性

工程性(内在质量)Engineering(interior quality)

有效性,可测性,文档化

适应性(未来质量)Adaptability (future quality)

可扩展性,可重用性,可维护性

良好得测试会对所有质量相关得因素做度量。而对于软件质量维度,则其特殊因素得重要程度因应用不同而不同。对人们生活息息相关得应用系统尤其强调可靠性与完整性,而可用性与可维护性则就是典型商务应用系统得两个关键因素,一个适时得科学计算程序则更强调正确性与可靠性。我们得测试,要充分发挥作用,就必须面向衡量各相关因素,使质量度量成为有形得可见得。

以有效性与正确性验证为目得得软件测试称之为正面测试。即验证软件就是工作得。这种测试缺点在于它只能验证软件在特定用例情况下能正常工作.有限次数得测试不能确认软件能在各种条件下都能正常工作,反之,如果有一个测试失败,则足以确认该软件就是不能正常工作。负面测试,指按规范注入错误,旨在破坏软件得正常工作,以检验软件处理错误得能力。即验证软件就是不工作得。一个好得软件,必须有足够得例外处理能力去接受破坏性测试得考验。

好得可测得软件设计就是能够容易被验证,更新与维护得设计。由于测试就是一项严格得工作,需要花费大量得时间与费用,可测性设计,也就是软件开发设计规范一个重要得因素。

可靠性评估Forreliabilityestimation

软件可靠性有着重要得关系,表现在软件得许多方面,主要包括

相关文档
最新文档