谈:传统软件测试中存在的问题及解决方法 转载
|
传统的软件测试流程:一般是在软件开发过程中进行少量的单元测试。然后在整个软件开发结束阶段,集中进行大量的测试,包括功能和性能的集成测试和系统测试。随着软件开发的越来越复杂,传统的软件测试流程不可避免的给我们带来以下问题: 问题一:项目进度难以控制,项目管理难度加大。 大量的软件错误往往只有到了项目后期系统测试阶段才被发现,解决问题花费的时间很难预料,经常导致项目进度无法控制,同时在整个软件开发过程中,项目管理人员缺乏对项目质量的了解和控制,加大了项目管理难度。 问题二:对项目风险的控制能力较弱项目风险在项目开发较晚的时候才能够真正降低。往往是经过系统测试之后,才真正确定该设计是否能真正满足系统功能、性能和可靠性方面的需求。 问题三:软件项目开发费用超过预算。在整个软件开发周期中,错误发现的越晚,单位错误修复成本越高,错误的延迟解决必然导致整个项目成本的急剧增加。 IBMRational软件自动化测试最佳成功经验解决传统测试问题。 核心的三个最佳成功经验是:尽早测试、连续测试,自动化测试,并在此基础上提供了完整的软件测试流程和一整套的软件自动化工具,使我们最终能够做到:一个测试团队,基于一套完整的软件测试流程,使用一套完整的自动化软件测试工具,完成全方位的软件质量验证。 成功经验一:尽早测试 所谓尽早测试是指在整个软件开发周期中通过各种软件工程技术尽量早的完成各种软件测试任务的一种思想。IBMRational主要在以下三个方面为我们提供的尽早测试的软件工程技术: 首先,软件的整个测试生命周期是与软件的开发生命周期基本平齐的过程。即当需求分析基本明确后我们就应该基于需求分析的结果和整个项目计划来进行软件的测试计划;伴随着分析设计过程同时应该完成测试用例的设计;当软件的第一个发布出来后,测试人员要马上基于它进行测试脚本的实现,并基于测试计划中的测试目的执行测试用例,对测试结果进行评估报告。这样,我们可以通过各项测试指标实时监控项目质量状况,提高整个项目的控制和管理。 项目计划、需求管理―――测试计划 测试计划、分析设计―――测试设计 测试设计―――测试实现 测试实现―――测试结果评估 其次,通过迭代是软件开发把原来的整个软件开发生命周期分成多个迭代周期,在每个迭代周期都进行测试,这样在很大程度上提前了系统测试发生的时间,这在很大程度上降低了项目风险和项目开发成本。 最后,IBMRational的尽早测试成功经验还体现在它扩展了传统测试阶段从单元测试,集成测试到系统测试、验收测试的划分,将整个软件的测试按阶段划分成开发员测试和系统测试两个阶段。它把软件的测试责无旁贷的扩展到了整个开发开发人员的工作过程。通过提前测试发生的时间来尽早的提高软件测试的质量、降低软件测试成本。 成功经验二:连续测试 测试成功经验连续测试是从迭代式软件开发模式得来的。在迭代化的方法中,我们将整个软件的开发目标划分为一系列更易于实现和达到的小目标,这些小目标都有定义明确的阶段性评估标准。迭代就是为了完成一定的阶段性目标而从事的一系列开发活动,在每个迭代开始前都要根据项目当前的状态和所要达到的阶段性目标制定迭代计划,而且每个迭代过程中都包括需求,设计,编码,集成,测试等一系列的开发活动,都会增量式集成一些新的系统功能。通过每次迭代都产生一个可运行的系统。通过对这个可运行系统的测试来评估该次迭代有没有达到预定的迭代目标,并以此为依据来制定下一次迭代目标。由此可见,在迭代式软件开发的每个迭代周期,我们都会进行软件测试活动,整个软件测试的完成是通过每个迭代周期不断增量测试和回归测试实现的。 成功经验三:自动化测试 在整个软件测试的过程中都要尽早测试,连续测试,可以说完善的测试流程是前提,自动化测试工具是保证。IBMRational的自动化测试成功经验主要是指利用软件测试工具提供完整的软件测试流程的支持和各种测试的自动化实现。 为了使软件测试团队更好的进行测试,IBMRational在提供了测试成功经验之外,还为我们提供了一整套的软件测试流程和自动化测试工具,使软件测试团队可以从容不迫地完成测试任务。
| |