软件测试工具发展展望

开发 测试
随着软件测试的地位在软件开发过程中逐步提高,重要性逐步显现,测试工具的应用也已经成为了普遍的趋势。本文主要对软件测试工具的发展进行了介绍,一起来看

软件测试是软件工程中的一个重要过程,也是保证软件质量的重要手段。随着软件测试的地位在软件开发过程中逐步提高,重要性逐步显现,测试工具的应用也已经成为了普遍的趋势。

目前用于测试的工具比较多,基本上覆盖了整个测试周期。其中国际主流的HP系列测试工具、IBM系列测试工具、Segue系列测试工具及Compuware系列测试工具占据了市场的90%以上。按照测试方法及测试目的,我们可以将测试工具分为白盒测试工具、黑盒测试工具、测试管理工具等。

白盒测试工具一般是针对被测源程序进行的测试,测试所发现的故障可以定位到代码级。根据测试工具工作原理不同,白盒测试的自动化工具可分为静态测试工具和动态测试工具。

目前普遍使用的该类测试工具主要有Parasoft公司的Jtest、Jcontract、C++ Test,Compuware公司的BoundsChecker、TrueTime、FailSafe等,这类工具可以对C/ C + +、Java 等语言的软件源代码进行静态分析,内置标准的编码规则检查,以及功能确认、接口测试、覆盖率分析、性能分析等。

黑盒测试工具适用于黑盒测试的场合,黑盒测试工具包括功能测试工具和系统测试工具。黑盒测试工具的一般原理是利用脚本的录制和回放,模拟用户的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。黑盒测试工具可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。

目前常见的功能测试工具有HP公司的Winrunner、QuickTest Professional,IBM公司的Rational Functional Tester,Segue公司的SilkTest,Compuware公司的QARun等,这类工具主要为用户提供了符合所有主要应用软件环境的功能测试和回归测试的自动化测试功能。

常见的性能测试工具有HP公司的LoadRunner,IBM公司的Rational Performance Tester,Segue公司的SilkPerformer,Compuware公司的QALoad等,这类工具主要通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,帮助测试人员和性能工程师验证系统的性能。

测试管理工具主要用于对测试进行管理。一般而言,测试管理工具对测试计划、测试用例、测试实施进行管理,并且,测试管理工具还包括对缺陷的跟踪管理。

常用的测试管理工具主要有HP公司的Quality Center、IBM公司的Rational Test Manager,Segue公司的SilkCentral Test Manager等。

除了上述测试工具外,还有一些专用的测试工具,例如,针对数据库测试的TestBytes,对应用性能进行优化的EcoScope等。

近年来,随着测试技术的逐步发展,加上测试工作者及测试厂商的努力,测试工具在软件行业中得到了较为广泛的应用。在2009年下半年由工业和信息化部组织的全国范围内对软件企业所进行的调研数据来看,80%以上的软件企业都使用了自动化测试技术。

虽然软件测试工具得到了很大的发展,但就工具的使用情况来看,目前大多数公司是使用性能测试工具进行性能测试。由于国内的软件开发过程不是很规范,软件产品相对不够成熟,大多数软件往往不具备自动化功能测试工具应用的条件。因此,功能测试工具大规模的应用还需要一定的时间。

据山东省软件评测中心多年科研及实践分析,未来软件测试工具发展将呈现以下趋势:传统的软件测试生命周期仍在指导着当前软件测试的组织和实施,人们对于软件测试过程模型的研究并没有革命性的改变,自动化测试从技术到工具还没有取得与其宣传相匹配的实际功效。如何解决“完善的测试用例、更快的开始并结束测试、更多的报告软件缺陷”这些问题之间的关系,这将是未来测试技术发展的重点。

在此基础上,现有的测试工具也将进行更新换代。下一代的测试工具应当提供怎样的功能?它们需要内嵌高级的测试编辑器,并通过这个编辑器来支持界面测试的自动完成功能以及测试代码的重构和分析么?它需要将测试结果可视化么? 或者以自学习的方式来生成测试用例?

除此之外,随着软件行业的不断发展,大量的新技术在软件开发中得到应用,为了满足日益复杂的软件系统的测试需要,软件测试技术也随之不断的发展,越来越系统化,越来越专业化,同时软件测试工具也将在以下方面得到进一步的发展:

分布式测试工具:随着网络技术的不断发展,大量分布式系统被部署在网络中,常见的如Web应用、Web Service等。分布式系统不同于一般软件系统,它通常由物理分布的多个子系统组成,这些子系统通过相互间的协作完成计算任务,具有物理分布、并发访问、时序敏感、平台异构等特点。

此外,分布式系统中的诸多子系统在触发方式、工作方式等方面往往也不属于同一类型,比如,通过网络协议传递消息的子系统和利用本地接口进行方法调用的子系统等。因此,对分布式系统的测试也不同于一般软件系统的测试,需要采用分布式测试工具。随着越来越多的领域活动依赖于分布式应用,分布式测试将受到人们更大的关注,测试系统实现技术也将不断发展成熟,分布式测试工具将成为下一步测试工具的重点发展方向。

云测试工具:云测试是基于云计算的一种新型测试方案,云计算通过网络以按需、易扩展的方式向用户交付所需的资源,包括基础设施、应用平台、软件功能等服务。

作为软件测试工具(包括功能测试工具、性能测试工具等)服务商提供的测试平台,软件开发企业在其平台上进行相关自动化测试、不再在本地计算机上安装和使用这些工具。这种无须本地安装和配置测试环境,在远程测试平台上进行测试的方式被称作云测试。目前云测试平台还处于实验阶段,随着云计算技术的逐步发展,云测试技术也将不断发展完善。

安全性测试工具:安全性测试工具以自动化或半自动化的方式验证系统安全功能运行是否正确、安全机制是否有效和查找潜在的安全漏洞。随着计算机网络的迅速发展和软件的广泛应用,软件的安全性己经成为备受关注的一个方面,渐渐融入我们的生活,成为关系到金融、电力、交通、医疗、政府以及军事等各个领域的关键问题。

软件安全漏洞造成的重大损失以及还在不断增长的漏洞数量使人们已经开始深刻认识到软件安全的重要性。随着安全性测试技术的深入研究,安全性测试工具也将是测试工具的重点发展方向。

【编辑推荐】

  1. 测试自动化 浅谈QTP脚本的重用
  2. 关于静态白盒测试 检验代码的一些问题
  3. 分布式自动化测试工具
  4. 动态测试工具
  5. 面向对象软件测试技术研究
责任编辑:于铁 来源: 51Testing软件测试网采编
相关推荐

2011-04-18 14:28:43

测试工具软件测试软件工程

2009-06-26 10:22:58

JSF测试

2011-05-31 18:09:05

动态测试

2009-08-11 09:52:37

软件测试测试工具

2021-05-24 15:31:23

软件测试工具软件测试开发

2021-04-09 22:50:55

测试工具软件

2020-05-27 14:41:51

主流软件测试工具

2013-11-13 10:49:50

2009-03-31 09:49:40

Rational功能测试性能测试

2010-06-04 16:31:33

Linux网络测试

2014-07-01 10:09:01

2019-02-26 08:30:48

2023-12-27 07:35:29

HyBench数据字段

2012-12-24 22:54:31

2023-07-13 23:21:02

2024-03-06 18:09:06

Linux性能工具

2012-02-09 09:35:46

NUnit

2012-08-01 10:50:48

性能测试测试架构

2010-06-07 14:42:47

Linux性能测试工具

2021-09-06 15:32:51

CISAKubernetes测试工具
点赞
收藏

51CTO技术栈公众号