将测试组件嵌入运行系统中

发表于:2008-2-22 15:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Ahmed Abbass    来源:网络转载

分享:

操作注意事项

  在操作阶段,结果报告、资源使用情况、集成问题和开/关切换功能非常重要。

操作要求和资源使用

  测试场景应该易于运行,并且应该报告结果,而没有特定于系统甚至特定于技术的知识要求。由于可以使用不同的技术来实现测试组件,因此它们还应该跨这些技术提供一致的操作界面。例如,命令行工具可以运行同一组命令并产生相同格式的日志。

  从资源使用角度来看,测试组件应该具有最小的内存占用空间,并且使用尽可能最少的系统资源。处理器、内存和 I/O 不应该由于应用测试组件而受到显著影响。

与系统管理工具的集成

  取决于操作团队使用的系统管理工具,可以将集成测试场景与其他系统检查集成在一起。这要求测试组件提供一个可从系统管理工具中调用的接口。例如,如果系统管理工具允许使用 Java™ 编写用户出口 (user exit),则测试组件应该提供将从此类用户出口中调用的 Java API。最通用的方法是让测试组件提供一个命令行接口,系统管理工具可以使用该接口而不必进行 API 级别的集成。

  有了集成之后,测试组件可以在系统管理工具使用的存储库(例如数据库或日志文件)中报告测试结果。如果需要进一步的报告遵从性,测试组件可以使用公共事件基础设施(Common Event Infrastructure,CEI)在运行时报告测试结果。

  此类集成的另一个作用是能够与其他定期系统检查一起计划集成测试场景。

开启和关闭

  应该根据需要开启和关闭测试组件以节省系统资源。应该只允许从具有受限访问权限的管理域进行切换。切换功能的实现应该是测试组件实现的一部分;它高度依赖于用于实现组件的技术。

  例如,在企业应用程序中,它可以是在应用程序启动时加载的属性文件中的一个属性。另一种替代方法是在应用程序服务器级别定义一个环境变量,并根据需要设置该环境变量,以允许应用程序在运行时查询其值。

示例实现

  图 4 显示了一个带有表示层和后端层的简单 Web 应用程序。表示层是一个 Web 模块,由一组网页组成,该组网页由一组控制器所控制。后端是一个 EJB 模块,由一组 Enterprise JavaBeans 组成,该组 Enterprise JavaBeans 由表示层 Web 模块的控制器调用。表示层和后端将部署在两个不同的应用程序服务器节点上。


图 4. 示例嵌入测试组件
        带嵌入测试组件的示例组件关系图

  测试组件的布局方式允许它们测试每个系统组件,并且还允许将它们打包在其他系统组件中。测试页被实现为简单的 JavaServer Pages (JSP),并且能够调用其他页面所使用的功能控制器以及一个附加的测试控制器。测试控制器被实现为一个 servlet。它可以调用后端 EJB 和一个测试后端 EJB。

  表 1 显示了使用这些组件的可能场景。所有场景都从使用浏览器或诸如 IBM Rational® Functional Tester 等自动化工具来加载测试页开始,其中自动化工具可以对这些场景进行记录。


表 1. 可能的测试场景

场景 描述 使用的组件 测试的方面
#1 运行测试页 测试页 Web 容器提供页面的能力
#2 运行测试页以调用功能控制器 测试页、功能控制器 功能控制器可操作性
#3 运行测试页以调用测试控制器,其中测试控制器又调用后端 测试页、测试控制器、测试后端 到后端节点的连接性/EJB 容器提供 EJB 的能力
#4 运行测试页以调用测试控制器,其中测试控制器又调用功能后端 测试页、测试控制器、功能后端 后端可操作性、到后端节点的连接性

  测试组件的布局和实现可能比这里所示的情况更加变化多样。例如,如果有测试应用程序服务器及其 Web 容器的另一种替代方法,您可能不需要测试页。在这种情况下,可以将测试控制器替换为某个命令行工具,后者充当后端的 EJB 客户端。或者,除非您希望测试无法由功能后端 EJB 捕获的后端节点的某些特性,否则您可能不需要测试后端。例如,您可能在后端节点上跟踪响应时间。

  该示例实现显示了从同一点开始的所有测试场景。其他实现可能将每种场景保持独立,以避免在集成测试中发生单点故障。如果发生此类单点故障,则无法执行进一步的场景——从而阻止检测其他系统缺陷。

总结

  企业集成解决方案可具有嵌入的测试组件,这些组件可在具有最小操作开销的情况下增强解决方案在生产环境中的可测试性。实现可以具有多种形式。嵌入的测试组件会影响体系结构、实现和操作,因此应该在项目的早期阶段引入,以帮助改进总体开发生命周期。

33/3<123
价值398元的测试课程免费赠送,填问卷领取吧!

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海漕溪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2022
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号