为你的业务需求建立正确的软件开发基础架构

第三部分:提高软件质量

Comments

IllustrationIBM 定义一套随需应变模式,这样企业的业务过程——端对端集成了跨公司与主要合伙人,供应者及客户——能快速、灵活响应任何客户要求,市场机遇,或威胁。成为随需应变模式的决定性步骤,是实现被验证过的,开放的,模块化和完整的软件开发基础架构。这系列的四部分研究当你为了购买新的技术和评估备选供应商方案,建立RFPs,应考虑的标准。它也解释IBM Software Development Platform -- 一个模块化,以Eclipse为基础的技术平台 – 如何帮助你达到你的需求。

该系列的第一篇文章覆盖关于如何区分基础架构捕获的优先级,开始构造 RFP的基础知识。它也讨论了如何叙述并评估需求,分析解决方案。第二部分着眼于影响设计和结构方面的技术更新,并讨论最适应于不同类型的开发项目的工具种类。现在,在第三部分,我们将会把注意力集中于如何建立一个基础架构以帮助确保产品的交付质量。

在软件工业中,对于高质量的快速开发,减少开支的有组织的约定,允许你极为方便地增加新的系统功能。开发质量低劣的软件的组织注定要永远只能向后看,因为他们需要投资时间和金钱来修补“已完成”软件的缺陷。相反,从一开始就注重质量的组织就可以向前看,创新,并追求新的机会。不断使项目逼近质量保障达到成功,而不是使团队迷失在不可预期的软件开发事物中。

不仅仅要没有缺点,软件的质量也意味着适用性。高质量软件为商业和他们的客户提供适当的功能,可用性,可靠性,性能,可伸缩性,可支持性和安全性。在这个较宽泛的视图中,软件质量不再是测试团队的单独责任。相反的,质量是一个共享的责任,在整个软件生命周期中约束着所有的团队成员。

构建你的软件质量能力

存在许多方法可以获得质量。当一些组织追求全面质量管理,6希格玛或者能力成熟度模型认证,其它人更喜欢较少使用的非正式的方法。无论你选择哪种方法,质量保证是一个重复过程,甚至很小的变化就会有切实的不同。你应该哪里开始呢?回答了这个问题,决定你在哪儿从质量自动化过程中获得最大利益。

最近研究显示,平均起来,开发者在每一千代码中有 100 到 150个错误。为了找到并修复在早期的开发生命周期中的这些错误,开发者正在求助于具有 单元测试及调试 能力的集成开发环境(IDEs)。运行时分析 允许开发者精确地找到内存泄漏,发现并修正应用程序的运行瓶颈,使代码的执行流及应用程序线程可视化。 结构化分析 使架构师可以发现,建立并维护设计模式的详细列表,及通过他们应用程序代码的非模式实现。代码评审 功能扫描代码,以符合先前指定的规则,例如命名约定或 J2EE 最优方法。组件测试 功能产生单位测试分支,测试数据和测试装置,以加速验证Web services和 Java 代码。所有的这些功能在 IBM Rational Application Developer和 IBM Rational Software Architect IDEs中都是可用的。IBM Rational PurifyPlus可以为备选IDEs 的使用者进行实时分析。

功能测试 解决方案,如IBM Rational Functional Tester 和 IBM Rational Robot,通过简化自动化功能和回归测试脚本建立,维护和分析,来提高测试效率。一个完整的功能测试解决方案应该自动化建立和维护测试脚本,并在多平台和配置下,实施自动化回归测试。除此之外,一个综合功能测试方案通过支持多种测试脚本语言,使实施变得简单,通过开发者工作区的访问使得测试流程更加顺畅,通过内置变化管理支持来管理进化的测试脚本。

性能测试 解决方案,像IBM Rational Performance Tester,使测试员和性能工程师能够验证系统性能,决定最大系统能力,识别并解决性能问题。这些工具帮助团队通过探究一定范围内可选择的使用场景,确保应用程序 —— 特别地基于Web的应用程序 —— 有适当的可伸缩性。寻找支持任何技术层面的实践者的解决方案,提供对基本的通信数据和远程系统统计(对于较专业的故障诊断)的访问,建立于开放标准和团队集成之上,以降低总体测试费用。

设备中的嵌入式软件,如那些由航空局,电信和汽车工业创建的,引起挑战:仅由 嵌入式实时测试 产品支持,如IBM Rational Test RealTime。这些高度复杂的应用程序,通常具有实时,事件驱动和多线程应用程序过程等特点,一般在一个平台上开发,并在一个或较多的分布式目标平台上进行测试。因此一个全面的软件质量解决方案必须支持自动化测试,代码覆盖分析,内存泄漏检测和跨平台多环境的性能配置。为了最大化可用性,解决方案还应该允许灵活部署到多个目标系统,并支持大范围的微处理器及实时操作系统。

极少数组织能够使他们的系统测试工作完全自动化。商业分析师,测试员,基至客户时常被叫去,通过和系统的实际交互,验证系统操作的正确性,他们没有观察到任何东西。一个 手动测试 解决方案,像IBM Rational Manual Tester,组织并使这些交互自动化,以提高手动测试工作的速度,覆盖范围及可靠度。测验工作要求专用的测验工具;依赖电子表格及文文字处理程序,以存储测试及测试结果,强制减轻由于维护引起的头痛问题。

所有的测试工作,不管焦点还是范围,需要为 测试活动管理,执行和分析提供一个集中的控制台。像Rational Test Manager这样的工具,就为合并完全不同的测试工作提供了环境,确保开发中的应用程序得到充分的验证和确认。这样的产品将帮助团队在测试的激发因素之间建立可溯性联系 -- 如需求,用例,增强请求等等 -- 而且测试过去一直确保它们的成功实施。同时,报告功能将给出测试结论,以帮助QA和项目经理确定:测试工作进行得怎么样,软件距完成还有多远。

软件质量 -- RFP 需求实例

如果你想要加强你的质量基础架构的方案,你应如何向供应商描述你的商业目标?定义你的特定问题和挑战,提供一个好观点:

  • 我们需要解决威胁业务性能的反复的质量问题。
  • 我们的测试小组和开发小组是分布式的,而且我们还未发现一个好的方法以协调测试工作并共享结果。
  • 我们需要从一开始就在不增加开发资源的情况下,改善代码质量。
  • 我们的测试活动是特定和不规则的。我们正在寻找一种方法以改善覆盖率,并在同样情况下重用资产。
  • 我们需要在一定范围的场景下,确定我们基于网络的应用程序的操作能力,这样我们能正确计划。

从这些特性出发,你可以提取更为一般的,必须面向解决方案的声明。如表 1 中所示的那些。表中显示了 IBM基于IBM Software Development Platform所提供的功能,如何回应提出的这些需要。

表 1:关于质量基础架构的RFP的供应商响应实例

Table 1

Table 1

对于你的 RFP,任何供应商的响应应该直接适应你陈述的需要。一个相应利益的列表,如表 1 所示,举例说明了供应商的产品能覆盖组织的需要,并提供一个出发点给调查特定产品要求。(当然,没有其他的公司拥有比IBM更强的能力,以提供更具深度和广度的产品)。在这一系列的下一部分中,我们将会看到如何着手建立一个其它领域的软件开发生命周期的有效的基础架构。

关于 IBM 质量解决方案的更多内容,请点击下面的链接:

IBM Rational PurifyPlus
IBM Rational Functional Tester
IBM Rational Performance Tester
IBM Rational Manual Tester
IBM Rational Robot
IBM Rational Test RealTime
IBM Rational TestManager
IBM Rational Software Architect
IBM Rational Application Developer for WebSphere Software


相关主题

  • 您可以参阅本文在 developerWorks 全球站点上的 英文原文

评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational, WebSphere
ArticleID=58243
ArticleTitle=为你的业务需求建立正确的软件开发基础架构
publish-date=02152005