您的位置:首页 > 其它

测试方法和测试工具解决方案

2008-07-11 10:21 281 查看
  随着软、硬件技术的发展,计算机的应用领域越来越广,而其中软件的功能也越来越强大,软件也越来越复杂。这就使保证软件的质量,保证软件的高度可靠性,面临巨大的挑战。特别是诸如军事、航空航天、通讯、交通医疗等行业,软件的微小瑕疵就可能造成对生命安全、天文数字的巨额财产、甚至对国家安全严重威胁。

  因此,对软件产品质量的度量、评估和保证,成了用户和项目承揽公司都十分关注的问题。基于这些原因,国际上的标准化和认证组织已经制定出了一些软件标准(在ISO-9001以及SEI CMM框架中)。对于软件的开发过程即可通过这些标准进行约束和度量。

  为了确保软件的质量,达到软件工程的度量标准,软件测试是非常必要的。我们通过对国内外知名软件提供商和系统集成商的调查了解,在软件产品的测试方面均使用软件工程中提出的两种方法进行测试,即白盒和黑盒测试。白盒是已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经通过检查。白盒测试又叫结构测试。黑盒是已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求,黑盒又叫做功能测试,它不仅应用于开发阶段的测试,更重要的是在产品测试阶段及维护阶段必不可少。

  太平洋软件(中国)有限公司(PTS)自1995年引进第一个测试工具以来,涉足测试领域已有多年,对当今流行的测试软件、测试理论和方法都有深入的研究和理解,在此基础上,开展了为用户提供测试方法培训和测试专业服务的业务。通过服务,我们力求能够帮助用户有效地、有步骤地调整其现有软件生产过程,帮助企业通过ISO9001 认证,提高开发队伍的CMM 等级,最终达到提高软件产品质量,加强企业竞争力促进企业发展的目的。

  以下是PTS推出的测试方法和测试工具解决方案。

  一、 白盒测试的实施方案

  在开发阶段

  要保证产品的质量,产品的生产过程应该遵循一定的行业标准。软件产品也是同样,没有标准可依自然谈不上质量的好坏。所有关心软件开发质量的组织、单位,都要定义或了解软件的质量标准、模型。其好处是保证公司实践的均匀性,产品的可维护性、可靠性以及可移植性等。

  在测试阶段

  与软件产品的开发过程一样,测试过程也需要有一定的准则,来指导、度量、评价软件测试过程的质量。

  定义测试准则

  为控制测试的有效性以及完成程度,必须定义准则和策略,以判断何时结束测试阶段。准则必须是客观的,可量化的元素,而不能是经验或感觉。

  根据应用的准则和项目相关的约束,项目领导可以定义使用的度量方法,和要达到的覆盖率。

  度量测试的有效性、完整性

  对每个测试的测试覆盖信息和累计信息,用图形方式显示覆盖比率,并根据测试运行情况实时更新,随时显示新的测试所反映的测试覆盖情况。

  允许所有的测试运行依据其有效性进行管理,用户可以减少不适用于非回归测试的测试的过程。

  优化测试过程

  在测试阶段的第一步,执行的测试是功能性测试。其目的是检查所期望的功能是否已经实现。在测试的初期,覆盖率迅速增加。象样的测试工作一般能达到70%的覆盖率。但是,此时要再提高覆盖率是十分困难的,因为新的测试往往覆盖了相同的测试路径。在该阶段需要对测试策略做一些改变:从功能性测试转向结构化测试。也就是说,针对没有执行过的路径,构造适当的测试用例来覆盖这些路径。

  在测试期间,及时地调整测试策略,并检查分析关键因素,以提高测试效率。



  图表 1 测试过程中覆盖率趋势及策略的调整

  在维护阶段

  有一点认识越来越为大多数人所认可:应用系统的维护费用与初始的开发费用基本相等,而在维护过程中,在对应用结构、逻辑、运行的理解上花费的时间,要用去50%的时间。

  由于系统维护人员很可能不是开发人员本人,再加上人员的流动、团队内部的交流的不足,都需要对应用系统的理解。

  理解应用系统

  将应用系统的设计,以文件形式(部件文件间的关系)和调用图的形式(函数和过程间的关系)可视化。

  函数的逻辑结构以控制流图的形式显示,在控制流图上选定一个节点,即可得到相对应的代码。

  应用系统可以在不同的抽象层上进行分析,不同层次间的导航关联,促进对整体的理解。

  对应用按其资源的使用进行检测,由此促进对函数之间(参数传递)的信息流、数据间的关系,以及其它资源的理解。

  安全地修改软件

  维护软件意味着修改软件,修改后的程序确认需要大量的工作。因为,看起来很小的修改,都可能会滚雪球似的导致数十处甚至上百处的修改。这种后继的修改需求,越早发现越好,最好是在编译前就发现并做出修改,最坏的情况是在调试和非回归测试期间发现。

  二、黑盒测试的实施方案

  传统系统的编程语言和逻辑全是过程式的。这种逻辑顺序只有当数据中的值引起不同的循环或控制顺序改变时才会发生变化。

  客户机/服务器和图形用户界面系统不是过程式的。它们是事件驱动的。这意味着计算机针对发生的事件执行相应的程序。这里的事件是指用户采取的行为,象键盘活动,鼠标移动,鼠标击键动作和按键的动作,都是事件的例子。因为事件发生的顺序不能预先知道,事件驱动系统相对来说更难测试。开发人员不可能知道用户下一次要选中哪个按钮或菜单项。实际上,应用程序必须在任何时候对所有发生和可能发生的事件作好正确处理的准备。

  另外,随着RAD(快速应用开发方式)的引入,导致应用的实现速度很快,但这种方式也有它的不足。一个重要的缺点是项目规划经常漏掉重要的测试阶段。测试象在传统开发项目中一样,经常被忽视,并且给予很不现实的少量时间和资源。对于这一点,测试RAD方式下提交的应用并保证软件质量是测试团队的首要工作。

  黑盒测试在实施时又分为客户端的测试和服务器端的性能测试。客户端的测试主要关注应用的业务逻辑,用户界面,功能测试等;服务器端的测试主要关注服务器的性能,衡量系统的响应时间、事务处理速度和其他时间敏感的需求。在应用系统最终被交付之前保证这两方面的测试没有缺陷。

  由于测试并不是进行一次就可以完成的个过程,而是需要根据产品版本的变化生成不同的测试过程,如果这一过程仅通过手工方式完成是很难达到的。需要通过工具的帮助,从而简化测试的复杂程度,降低在测试成本上的开销,缩短投放市场的时间。还有一个突出的特点就是应用程序的回归测试,这是手工方式完成不了的过程,只有通过工具才能实施。而回归测试在测试阶段是很重要的过程,通过回归测试可以发现很多隐含的缺陷和错误。

  在服务器端的测试主要以模拟合法用户活动给系统的负载,负载测试的统计结果被用来预测用户将体验到的性能和响应时间。这都需要在客户机/服务器系统发行之前都要进行的。

  三、相关工具

  在我们了解了测试所涉及的内容之后,测试方法和采用相对应的自动化测试工具是至关重要的。自动化的测试工具意味着在测试活动中减少相当部分开销,真正的含义是它参加了测试的很大部分活动;同时,有些测试活动是靠手工方式难以实现,难以度量的。我们在对自动化的测试工具做成本效益分析时,应当考虑到项目的预期时间和人工消耗,一些测试用手工来做可能由几个人需要几个星期甚至更长时间来完成,而采用自动化的测试工具可能只需要几个小时或者几分钟;象基于Client-Server的负载测试或者是基于Web系统的测试如果要用手工测试来完成是很困难和不现实的。所以,在测试活动中选择自动化的测试工具是非常必要的。

  下面我们就相应工具进行简要的介绍。

  1. 嵌入式软件测试工具--LOGISCOPE

  LOGISCOPE 是一组嵌入式软件测试工具集。它贯穿于软件开发、代码评审、单元/集成测试、系统测试、以及软件维护阶段。它面向源代码进行工作。LOGISCOPE 针对编码、测试和维护。因此,LOGISCOPE 的重点是帮助代码评审(Review )和动态覆盖测试(Testing )。

  LOGISCOPE对软件的分析,采用基于国际间使用的度量方法(Halstead、McCabe等)的质量模型,以及从多家公司收集的编程规则集,可以从软件的编程规则,静态特征和动态测试覆盖等多个方面,量化地定义质量模型,并检查、评估软件质量。

  LOGISCOPE 在开发阶段,查找可寻找潜在的错误。

  在代码评审阶段,LOGISCOPE 定位那些具有80%错误的程序模块。

  通过对未被测试代码的定位,LOGISCOPE 帮助找到隐藏在未测试代码中的缺陷。

  项目领导和质量工程师用LOGISCOPE 定期地检查整个软件的质量。

  在各个阶段用LOGISCOPE ,改进软件工程的实践,训练程序员的编写良好的代码和测试活动,确保系统易于维护,减少风险。

  在有合同关系时,合同方可以用LOGISCOPE 明确定义验收时质量等级和执行测试。承制方可以用LOGISCOPE 演示其软件的质量。

  LOGISCOPE 获取ISO/IEC9126 定义的"Quality Characteristics ";

  LOGISCOPE 为ISO-9001提供需求(test acceptance criteria and qulity records );

  LOGISCOPE 为开发者提供SEI/CMM在第2 级(Repeatable )所要求的软件质量跟踪等关键实践的要求,推进开发组织尽快达到SEI/SMM 的3 级。

  1)LOGISCOPE 用于开发阶段

  定义质量模型

  RuleChecker 预定义了50 个的编程规则:名称约定(如:局部变量用小写等);表示约定(如:每行一条指令); 限制(如:不能用GOTO 语句,不能修改循环体中的计数器等)。用户可以从这些规则中选择,也可以用Tcl 、脚本和编程语言定义新的规则。此外,还提供50 个面向安全-关键系统的编程规则。

  Audit 以ISO9126 模型作为质量评价模型的基础。质量评价模型描述了从Halstend 、McCabe 的度量方法学和VERILOG 引入的质量方法学中的质量因素(可维护性、可重用性、等)和质量准则(可测试性、可读性、等)。

  工程项目领导或质量管理人员可以根据准则、应用软件的生存周期、合同需求等,挑选并采纳适用于项目需求的质量模型。

  验证、评审和改进代码

  RuleChecker 用所选的规则对源代码进行验证。指出所有不符合编程规则的代码,并提出改进源代码的解释和建议。RulrChecker 通过文本编辑器直接访问源代码并指出需要纠正的位置。

  Audit 将被评价的软件与规定的质量模型进行比较,用图形形式显示软件质量的级别,因此,质量人员可以把精力集中到需要修改的代码部分。对度量元素和质量模型不一致的地方作出解释并提出纠正的方法。

  2)LOGISCOPE 用于测试阶段

  定义测试准则

  LOGISCOPE 推荐对指令(IB)、逻辑路径(DDP)和调用路径(PPP)的覆盖测试。此外对安全-关键软件还提供了MC/DC 的覆盖测试。

  测试的有效性

  TestChecker 产生每个测试的测试覆盖信息和累计信息。用直方图显示覆盖比率,并根据测试运行情况实时在线更改。随时显示新的测试所反映的测试覆盖情况。

  TestChecker 允许所有的测试运行依据其有效性进行管理。用户可以减少那些用于非回归测试的测试。

  测试的优化

  在测试阶段的第一步,执行的测试是功能性(黑箱)测试。其目的是检查所期望的功能是否已实现。在测试初期,覆盖率会迅速增加。象样的测试工作一般能达到70%的覆盖率。但是,要提高此比率是十分困难的。主要是由于测试用例覆盖了相同的测试路径。这时,需要对测试策略做一些改变。执行结构化(白箱)测试,即,要检测没有执行过的逻辑路径,定义新的测试用例覆盖这些路径。

  在执行测试期间,当测试策略改变时,综合的运用TestChecker 检测关键因素以提高效率。将TestChecker与Audit 配合使用能够帮助用户分析未测试的代码。

  用户可以显示所关心的代码,并通过对执行未覆盖的路径的观察得到有关的信息。信息以图形(控制流图)和文本(伪代码和源文件)的形式提交,并在其间建立导航关联。

  TestChecker 管理系统声明新的测试、生成有关文档、定义启动命令、以及自动执行的方法。

  3)LOGISCOPE 用于维护阶段

  人们广泛的认识到应用系统的维护费用与开发费用基本相等。经验表明50%的软件维

  护时间化在对结构、逻辑和运行的理解上。LOGISCOPE 可以大大的减少对未知系统的理解所需的时间。

  Audit 将应用系统的框架以文件形式(部件文件间的关系)和调用图的形式(函数和过程间的关系)可视化。函数的逻辑结构以控制流图的形式显示。在控制流图上选定一个节点,即可得到相对应的代码。可以在不同的抽象层上对应用系统进行分析,不同层次间的导航,促进对整体的理解。

  4)对嵌入式领域的支持

  LOGISCOPE 支持多种测试方式。特别是对嵌入式领域软件的支持。

  众所周知,嵌入式系统软件的测试是最为困难的。因为,它的开发是用交叉编译方式进行的。在目标机(Target)上,不可能有多余的空间记录测试的信息。必须实时地将测试信息通过网线/串口传到宿主机(Host)上,并实时在线地显示。因此,对源代码的插装和目标机上的信息收集与回传成为问题的关键。

  LOGISCOPE 很好地解决了这些技术,成为嵌入式领域测试工具的佼佼者。它支持各种实时操作系统(RTOS)上的应用程序的测试,也支持逻辑系统的测试。Logiscope 提供VxWorks 、pSOS 、VRTX 实时操作系统的测试库。

  5)对航空/航天/国防/核电站领域的支持

  在航空/航天领域,安全是最关键的问题。因此,欧美的航空/航天制造厂商和使用单位联合制定了RTCA/DO-178B。LOGISCOPE 通过对"Reviews and Analysis of the Source

  Code " 和"Structural Coverage Analysis "能够使开发的软件达到RTCA/DO-178B 标准的A 、B 、C 三个系统级。

  LOGISCOPE 是第一个提供MC/DC(Modified Condition/Decision Coverage)测试的工具。

  6)软件文档和测试文档的自动生成

  Logiscope 提供了文档自动生成工具。使用者可以将代码评审的结果和动态测试情况实时生成所要求的文档,这些文档忠实地记录代码的情况和动态测试的结果。文档的格式可以根据用户的需要定制,如,GJB-438A。

  支持的主机平台:

  UNIX:Sun OS/Solaris, HP 700 HP-UX, RS6000 AIX, Power PC, DEC UNIX;

  IBM Mainframe MVS环境;

  PC Windows/NT。

  支持的语言:C, C++, Ada, Java

  目标机环境:支持嵌入式实时操作系统VxWorks,PSOS,VRTX

  2.白盒工具--NuMega DevPartner Studio

  这是一组白盒测试工具,主要是用于代码开发阶段,检查应用的可靠性和稳定性。它提供了先进的错误检查和调试解决方案,充分地改善生产力和开发团队的软件开发质量。NuMega产品线是一个全面的SmartDebugging工具包,自动地检查企业级或Internet级用多语言创建的组件和应用中出现的软件错误和性能问题,并能很快地给予解决。

  NuMega DecPartner Studio满足在软件开发过程中每一个开发人员的需求,无论我们是使用一种或多种语言,NuMega产品都能够帮助我们提高生产力。它的产品主要有自动地错误检测、性能分析、代码覆盖分析等功能,分别用于捕获、定位错误,抽取代码执行频度,以及抽取代码覆盖率等数据,产品包括:

  2.1 BoundsChecker

  程序员在开发过程中可能会经常遇到这样的问题:调试时语法没有问题,代码也没有错误,但应用程序运行就是不正常甚至死机,其实这有可能是由于逻辑错误引起的内存溢出或资源泄露等问题,这些错误一般是不容易被检测出来的。而这类错误就是BoundsChecker错误检测范围之一。

  通过对被测应用程序的操作,BoundsChecker提供清晰的、详细的程序错误分析,自动查明静态的堆栈错误及内存/资源泄露,并能够迅速的定位出错的源代码,即使在没有源代码的情况下也可检查第三方组件的错误。

  BoundsChecker错误检测范围主要包括:

  1).指针和泄露错误

  接口泄露

  内存泄露

  资源泄露

  未分配的指针错误

  2).内存错误

  动态存储溢出

  无效的句柄被锁定

  句柄没有被锁定

  内存分配冲突

  栈空间溢出

  静态存储溢出

  3).API和OLE错误

  API函数返回失败

  API函数未执行

  无效的变量(包括指针变量、字符串变量等)

  OLE接口方法的变量无效

  OLE接口方法失败

  线程调用库函数错误

  BoundsChecker支持的语言和主机平台:

  C++, Delphi

  Windows NT, Windows95/98

  2.2 TrueCoverage

  在开发过程中,对一个应用程序通过手工测试,总会有一部分代码功能没有被检测到,或者说逐个检测每一个函数的调用是相当费时间的;未被检测的代码我们不能保证它的可靠性,以后程序的失败可能往往就是由这部分未检测的代码造成的。现在我们可以用TrueCoverage来帮助我们解决这些问题,我们在测试程序时,每完成一次应用话路,TrueCoverage就能够列出在这次对话中所有函数被调用次数、所占比率等,并可以直接定位到源代码,当然我们也可以合并多个应用话路来进行检测。所以说TrueCoverage能通过衡量和跟踪代码执行及代码稳定性,帮助开发团队节省时间和改善代码可靠性。

  TrueCoverage支持的语言和主机平台

  C++, JAVA, Visual Basic

  Windows NT, Windows95/98

  2.3 TrueTime

  代码运行缓慢是开发过程中一个重要问题。一个应用程序运行速度较慢,程序员不容易找到到底是在哪里出现了问题,如果不能解决应用程序的性能将降低并极大的影响应用程序的质量,于是查找和修改性能瓶颈是调整整个代码性能的关键。如何快速的查找性能瓶颈呢?TrueTime的出现就使这个问题变得很容易了。当我们在测试程序时,每完成一次应用话路,TrueTime都能提供这次对话中函数的调用时间,提供详细的应用程序和组件性能的分析,并自动定位到运行缓慢的代码。这样就能帮助程序员尽快地调整应用程序的性能。

  TrueTime支持的语言和主机平台

  C++, JAVA, Visual Basic

  Windows NT, Windows95/98

  2.4 SmartCheck

  作为一名Visual Basic的开发人员,在开发的过程中经常会遇到许多问题难以解决,包括象隐藏的run-time错误、Windows API函数在Visual Basic中正确使用的问题、一些组件的错误等等,它们很难被定位到具体的代码中,令开发人员花费大量时间去寻找并解决。SmartCheck就是能很快地查找到这些问题的一个自动化的工具,它是对于Visual Basic来说最好的run-time调试工具,它检测所有的Windows API函数调用、内存分配以及其它一些重要的程序错误。SmartCheck检错的种类包括泄露、接口方法失败、存储错误、程序和函数失败和Visual Basic的Runtime错误等,它能够将检测到的错误快速地定位到源代码。使用SmartCheck将会极大地提高VB开发人员的工作效率。

  SmartCheck 支持的语言和主机平台:

  Visual Basic

  Windows NT, Windows95/98

  2.5 FailSafe

  FailSafe是用于Visual Basic开发的一个自动错误处理和恢复系统。VB开发人员经常能够遇到程序执行时意外地终止,但是对于为什麽出现错误只提供了简短的、模糊的出错信息,使开发人员不能方便地发现错误的根源。如果使用了FailSafe,它将插入额外的代码对你的程序进行插装,当程序执行时,FailSafe通过这些插装的代码捕获、记录执行时程序和系统的重要信息,直接指出错误发生时程序和系统的状态,这些丰富的信息使开发人员能够快速且正确的解决问题。

  FailSafe 支持的语言和主机平台:

  Visual Basic

  Windows NT, Windows95/98

  2.6 CodeReview

  对于Visual Basic开发人员来说,CodeReview是最好的自动源代码分析工具,它对应用程序的组件、逻辑、Windows和Vb自身潜在的数百个问题进行严格地源代码检查。CodeReview分析的类型包括Y2K问题,逻辑错误,应用程序性能和可用性问题,Windows API调用和标准一致性问题等。CodeReview可以检测整个的VB工程或指定的模块,并能定制检错的种类;对检测的结果有详细的说明,提供帮助和推荐解决方案,而且能够直接的链接到源代码。

  CodeReview系统还提供了两个子模块,一个是Metrics:通过对VB工程(vbp)的执行,计算出代码的长度、复杂度、理解度、语言的使用等级、出错的可能性等数据;另一个是Namer:它调用一个VB工程,自动并规则地对其中的对象重新命名,并备份原来没有规则命名的工程文件,使开发人员对程序能够有条理地管理。

  可以这麽说:CodeReview是Visual Basic开发人员必不可少的顾问。

  CodeReview 支持的语言和主机平台:

  Visual Basic

  Windows NT, Windows95/98

  2.7 JCheck

  JCheck对于Java开发人员来说是一个功能强大的图形化的线程和事件分析工具,它提供了一个生动的图形化的方法来表现程序的线程的状态信息以及和Windows线程、同步对象、线程组等的交互作用信息,使开发人员能够直观地分析Java Applet或Application:通过这些形象化的图形显示,可以确定runtime错误,对执行和逻辑错误进行分析,立刻发现线程问题如死锁、活锁、资源缺乏和系统失败,诊断线程同步和时间选择问题,分析程序执行流程;而后JCheck对于那些错误可以定位和显示详细的信息并能定位到源代码。Jcheck极大地减少了程序的调试时间,改善了软件开发生产力。

  JCheck 支持的语言和主机平台:

  Microsoft Visual J++

  Windows NT, Windows95/98

  3. 黑盒工具--QACenter

  QACenter帮助所有的测试人员创建一个快速,可重用的测试过程。这些测试工具自动帮助管理测试过程,快速分析和调试程序,包括针对回归,强度,单元,并发,集成,移植,容量和负载建立测试用例,自动执行测试和产生文档结果。QACenter主要包括以下几个模块:

  ˉ QARun:应用的功能测试工具。

  ˉ QALoad:强负载下应用的性能测试工具。

  ˉ QADirector:测试的组织设计和创建以及管理工具。

  ˉ TrackRecord:集成的缺陷跟踪管理工具。

  ˉ EcoTools:高层次的性能监测工具。

  3.1 功能测试工具QARun

  在QACenter测试产品套件中,QARun组件主要用于客户/服务器应用客户端的功能测试。在功能测试中主要包括对应用的GUI(图形用户界面)的测试及客户端事物逻辑的测试。而现在的RAD(快速应用开发)方式开发的应用,由于开发的速度比较快,可支持用户多变的需求而不断的调整应用,所以要求对软件要有更严格的测试。有人可能存在这样的疑问:基于GUI的测试及客户端事物逻辑的测试,用手工的方式也可以进行,工具在这方面又能给我们一些什么帮助呢?在这里由于不断变化的需求将导致应用不同版本的产生,每一个版本都需要对它测试,因为是每一个被调整的内容往往最容易隐含错误,所以回归测试是测试中最重要的阶段,而回归测试通过手工方式是很难达到的,工具在这方面可以大大的提高测试的效率,使测试更具完整性。

  QARun组件的测试实现方式是通过鼠标移动、键盘点击操作被测应用,即而得到相应的测试脚本,对该脚本可以进行编辑和调试。在记录的过程中可针对被测应用中所包含的功能点进行基线值的建立,换句话说就是在插入检查点的同时建立期望值。在这里检查点是目标系统的一个特殊方面在一特定点的期望状态。通常,检查点在QARun提示目标系统执行一系列事件之后被执行。检查点用于确定实际结果与期望结果是否相同。

  3.2 性能测试工具QA Load

  QALoad是企业范围的负载测试工具,该工具支持的范围广,测试的内容多,可以帮助软件测试人员,开发人员和系统管理人员对于分布式的应用执行有效的负载测试。负载测试能够模拟大批量用户的活动,从而发现大量用户负载下对C/S系统的影响。

  1).操作简便

  测试人员只需操作被测应用,执行性能关键的事物处理,然后在QALoad脚本中通过服务器上应用调用的需求类型开发这些事物处理。每个交易成为它自己的脚本。QALoad Script Development Workbench很容易创建完整的功能脚本。QALoad的测试脚本开发是由捕获会话,转换捕获会话到脚本,以及修改和编译脚本一系列的过程组成。一旦脚本编译通过后,使用 QALoad的组织分配把脚本分配至测试环境中相应的机器上,驱动多个play agent模拟大量用户的并发操作,实施应用的负载测试,完全减轻了以往大量的人工工作,节省了时间,提高了效率。

  2).广泛的适用性

  QA Load支持:DB2,DCOM,ODBC,ORACLE,NETLoad,Corba,QARun,SAP,SQLServer,Sybase,Telnet,TUXEDO,UNIFACE,WinSock,WWW等等。

  3.3 应用可用性管理工具 EcoTools

  在应用的性能测试完成之后,对应用的可用性状况如何实施分析?很多因素能够影响应用的可用性。用户的桌面,网络,应用的服务器,数据库环境和他们的各种各样的子组件都链接在一体。任何一个组件可能引起整个应用对最终用户不可用。

  EcoTOOLS是EcoSYSTEM组件产品的基础--解决应用??可用性中计划,管理,监控和报告的挑战。EcoTOOLS提供一个广泛范围的打包的Agent和Scenarios,可以立即在测试或生产环境中激活,计划和管理以商务为中心应用的可用性,EcoTOOLS支持一些主流成型的应用,SAP,PeopleSoft,Baan,Oracle,UNIFACE和LotusNotes,以及定制的应用。EcoTOOLS与QALoad集成为所有加载测试和计划项目需求能力提供全面的解决方案。

  EcoTOOLS对于应用的可用性进行管理

  EcoSCOPE优化应用性能

  用EcoTOOLS监控服务器性能

  QALoad 对于在服务器上设置加载和极微小的服务器性能问题是一个极好的测试工具,但不承担诊断问题的工作。而QALoad与EcoTOOLS集成则为所有加载测试和计划项目需求能力提供全面的解决方案。

  EcoTOOLS包括数百个Agents可以监控服务器资源。尤其是它包括监控Windows NT, UNIX 系统, Oracle,Sybase, SQL Server, 和其他应用包。通过使用QALoad 与EcoTOOLS ,可以在系统生成一个负载,同时监控资源的利用问题。

  QALoad与 EcoTOOLS集成允许在图形中查看EcoTOOLS资源利用数据,可以使用QALoad的分析组件创建。在使用EcoTOOLS和QALoad之前,需要做下列事情:

  安装EcoTOOLS监控服务器加载

  如果希望与QALoad 集成EcoTOOLS NT 数据,设置一个ODBC数据源存储关于怎样连接EcoTOOLS 的信息。

  配置QALoad,从EcoTOOLS NT 和/或 EcoTOOLS UNIX抽取资源利用数据。

  一旦设置EcoTOOLS 监控服务器,它将定时地搜集资源利用数据。当执行一个加载测试,QALoad用EcoTOOLS同步并运行测试。在完成测试之前,QALoad需要EcoTOOLs在测试期间搜集的资源利用数据。可以使用QALoad的分析组件展示这一数据。

  QALoad与EcoTOOLS和EcoSCOPE服务层管理能力集成,端到端的测试网络应用。同时,这些产品分发至关重要的信息和必要的详细问题分析分解端到端响应时间并调整应用,数据库和网络彻底地优先地配置应用--并且帮助满足客户/服务器系统性能标准。

  3.4 应用性能优化工具 EcoScope

  EcoSCOPE是一套定位于应用(即服务提供者本身)及其所依赖的所有网络计算资源的解决方案。EcoSCOPE可以提供应用视图,并标出应用是如何与基础架构相关联的。这种视图是其它网络管理工具所不能提供的。EcoSCOPE能解决在大型企业复杂环境下分析与测量应用性能的难题。通过提供应用的性能级别及其支撑架构的信息,EcoSCOPE能帮助IT部门就如何提高应用性能提出多方面的决策方案。

  贯穿整个应用生命周期的性能分析

  EcoSCOPE使用综合软件探测技术无干扰地监控网络,可自动发现应用、跟踪在LAN/WAN上的应用流量、采集详细的性能指标。EcoSCOPE将这些信息关联到一个交互式用户界面(Interactive Viewer)中,自动识别低性能的应用、受影响的服务器与用户、性能低下的程度。Interactive Viewer允许你以一种智能方式访问大量的EcoSCOPE数据,所以能很快地找到性能问题的根源,并在几小时内解决令人烦恼的性能问题,而不是几周甚至几月。另外,EcoSCOPE的长期(long-term)数据采集能使我们通过预先趋势分析和策略规划预测到未来的问题。

  确保成功布署新应用

  EcoSCOPE允许使用从运行网络中采??集到的实际数据来创建一个测试环境。利用此环境,可以在不影响其它应用的情况下,测量新应用在已存架构中的适应性(即网络能力),还可测量出与网络共享资源的可交互性。它能揭示性能问题,如低伸缩性或瓶颈,能调整应用和定位基础架构上的缺陷。一旦性能得到了提高,EcoSCOPE可以重新评估,验证应用是否达到了预期目的。这些指标数据可用来作为布署应用的基准,以确保达到预期目标。

  维护性能的服务水平

  EcoSCOPE性能评分卡(scorecard)能很容易地显示出关键应用每时每刻是如何运行的,以及它们是否达到了预期的服务水平。对于必须满足服务水平协议(SLAs)的应用,EcoSCOPE能为之设置性能要求,并监控是否有偏离。如果一个应用超出了性能的上下限,EcoSCOPE将认为服务水平异常,并根据受影响用户的数量和性能降低的时间长短细分问题的严重程度。这些信息使你的IT维护人员能优先关注对业务影响最大的的应用问题。

  EcoSCOPE的scorecard以图形方式按时间周期显示响应时间和流量,以及受应用影响的关键服务器和最终用户。在scorecard中,能通过比较和关联这些信息,确定应用使用量、响应时间、特定的最终用户和服务器之间的因果关系。在业务被阻碍前,跟踪每天的变化趋势,控制性能波动。 快速找出性能瓶颈

  一旦EcoSCOPE发现性能低下的应用,它将提供详细信息来隔离造成瓶颈的来源。EcoSCOPE图形化界面使你交互地观察单个受影响的工作站、服务器及网段。EcoSCOPE提供的大量信息有助于进行问题根源的分析,确定问题扩散的原因、受影响的服务器和用户及其性能受损是否有共性。

  EcoSCOPE对瓶颈的分析不限于网络基础架构和资源,而且包括其它关键计算资源,如桌面和服务器。

  加速问题检测与纠正的高级功能

  完善的EcoSCOPE技术被动地监视网络,能收集到关于应用与协议的独特信息,不只包括IP与IPX流量,可以更好地分析与排除应用的性能问题。EcoSCOPE可自动发现几百种打包的内部应用,如SAP/R3、MS Exchange、Oracle、SNA LU2与LU6.2、Web、IPX/SPX和UNIX NOS。不象其它产品需要预先配置才能识别应用,EcoSCOPE跟踪LAN/WAN架构中的应用流量,并显示出应用使用的流量最大的路径及某个服务器的特定路径。

  EcoSCOPE通过收集三类指标数据提供应用性能的完全视图:会话层响应时间、业务交易响应时间和应用流量。

  EcoSCOPE的内置智能技术可识别组成业务交易的Oracle与SQLServer谓词的不同独特标志,并跟踪它的响应时间。

  定制视图有助于高效地分析数据

  EcoSCOPE将信息关联起来并显示到一个单一的交互式用户界面上。这个界面允许按应用或用户来灵活地创建定制的逻辑数据视图,能以最有用和有效的方式来分析信息。这就可以用多种视图显示来自于跨越地理和部门界限的大企业的数据。

  EcoSCOPE能把历史信息导出到建模和仿真工具,如CACI、NetMaker。这些工具可描绘发展趋势和模拟未来的增长。这将使你能明白未来的瓶颈在哪里,更重要的是,什么时候它将威胁应用的服务水平。

  4.数据库测试数据自动生成工具--TESTBytes

  在数据库开发的过程中,为了测试应用程序对数据库的访问,应当在数据库中生成测试用数据,我们可能会发现当数据库中只有少量的数据时程序可能没有问题,但是当真正投入到运用中产生了大量数据就出现问题了,这往往是程序的编写没有达到一些功能,所以一定及??早地通过在数据库中生成大量数据来帮助开发人员尽快完善这部分功能和性能。但是如何生成大量测试数据呢?长期以来这些工作是靠手工来完成的,要占用有经验的开发和测试人员大量宝贵时间。

  TESTBytes是一个用于自动生成测试数据的强大易用的工具,通过简单的点击式操作,就可以确定需要生成的数据类型(包括特殊字符的定制),并通过与数据库的连接来自动生成数百万行的正确的测试数据,可以极大地提高数据库开发人员、QA测试人员、数据仓库开发人员、应用开发人员的工作效率。

  TESTBytes支持的平台:

  Windows NT, Windows95/98 ,Windows 3.x
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: