STAF在自动测验框架ATTE分析和实施之应用

时间:2022-08-19 08:57:45

STAF在自动测验框架ATTE分析和实施之应用

1引言

1.1论文背景和意义

随着IT产业的快速发展,计算机已经影响到人类生活的各个方面,从而不断改变着世界⑴。从个人计算机,到超市或银行的终端,到国防科技和航天领域,甚至到现在的嵌入式手机,计算机都占有一个很重要的角色,因此,计算机已经深入到生活工作中的各个方面。正是由于计算机在游戏、通信、交通、金融、军事、电力、航天等重要领域越来越广泛的应用,计算机发展的规模也FI益壮大、复杂、多功能化,而且对计算机质量的要求也越来越高。在这个信息化的时代,IT产业迅速发展,尤其是硬件率先发展。硬件的发展主要体现在质和量的方面,不仅数量越来越多,而且质量也得到了保证。相比较而言,软件虽然发展也很迅速,但主要是体现在量的方面,质的问题一直存在。随着软件规模不断的扩大,软件的质量保证逐渐成为人们所关心的焦点。软件幵发人员试图通过研究更好的开发过程来保证软件的质量,但结果是事倍功半,所以对软件进行测试是保证软件质量最可靠有效的办法。

软件测试是软件生命周期中的重要阶段,是软件质量保证的关键步骤,也是软件工程的重要组成部分。软件测试的效果直接影响到软件产品的质量。然而,做好软件测试却是不容易的,一方面产品必须给予软件测试充分的独立性和资源保证;另一方面,测试人员需要同时掌握软件开发的技能和软件测试的技能。通过软件测试找出软件存在的错误,分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时进行改进[2]。同时,对于软件错误的分析也能帮助测试人员设计出具有针对性的测试方法和测试用例,改善测试的效率和有效性。没有发现错误的测试同样有价值,完整的测试是评定软件质量的一种方法。

自动化测试框架是测试习惯和思想的集合。自动化测试框架具有很多优点,首先它可以确保代码的一致性,对于回归测试支持修复后再测试,从而提高了系统的可信赖度。其次,它可1以提高代码的重用性,从而提高了代码的生产效率,同时也减少了不必要的代码,进而提高了测试代码的执行效率。最后,它将重构概念作为其核心思想,使代码的适用性更强,从而提高了测试代码的质量。自动化测试框架可以分成两个层次。第一层主要是测试脚本的设计,利用与之相关的测试工具,开发对应的测试驱动,从而完成测试的业务逻辑。第二层是建立在第一层之上,这一层的主要作用是管理整个自动化测试,包括自动化测试用例的执行顺序、自动化测试框架的开发、执行和维护,也包括对第一层测试脚本的维护以及管理测试任务和测试报告等,在工程量大的项目中可以提现出它的重要作用。自动化测试虽然可以节约成本,提高测试效率,但它也有着适用范围。一般来说,自动化测试普遍用于三种情况,一是产品型项目,新版本是在旧版本的基础上进行改进,功能变化不大的项目,但项目的新老功能都必须重复的测试。二是回归测试,自动化测试主要应用于回归测试,回归测试能够有效的验证旧的缺陷是否修正,同时查看是否引入新的缺陷,在某种意义上,自动化测试工具也叫做回归测试工具。三是机械且频繁的测试,每次需要输入相同、大量的一些数据,并且在一个项目中运行的周期比较长。

本文以甲骨文的中间件产品Tuxedo及其附属产品为测试对象,以STAF(Software Test Automation Framework,自动化测试框架)作为测试引擎分析并实现的一个测试框架ATTE。

1.2国内外发展现状

在计算机软件日新月异的今天,软件测试正在成为软件工程领域里的一个非常瞩目的趋势和地位,国内外许多学者和组织在软件测试方面投入了大量的研究工作,而且很多软件公司正在或已经在企业测试团队内部实施软件测试流程和框架,这就形成了许多经典的软件测试技术和流程管理规范[3]。

在全球最大的个人计算机软件公司微软,一个传统的项目开发中,测试的工程师比编码的工程师多很多,也就是说微软公司在测试方面的工作要比编码上的工作多很多。在国外尤其是美国,IEEE和ACM等组织已经制定了一系列的软件测试规范,还有许多公司如 Rational Corporation、Mercury Interactive> Compuware等都是着名的软件测试工具供应商,这些公司生产的测试工具在全国市场占了很大的比例。我国当前使用的很多主流软件测试工具都是国外的产品,可见国外的软件测试工具的开发已经形成了成熟的产业[4]。

2软件测试概述

随着信息技术的快速发展,计算机软件已经应用到社会的各个领域,例如科学、教育、文化、生活、国防科技等。而软件质量问题也成为人们所关心的焦点。人们对软件依赖的程度越高,对其可靠性就要求的越高。然而,对于计算机软件来说,不论采用什么样的技术或者方法,软件存在缺陷是不可避免的。采用新的编程语言,先进的开发技术,完善的开发管理,可以减少缺陷的引入,但是不可能完全杜绝缺陷的存在。因此,需要采用相应的措施来发现并解决这些缺陷,所以首要的任务就是发现这些缺陷,这就需要靠软件测试来实现。

2.1软件测试的目的

表面上看,软件测试的目的是要证明程序有故障存在,并且要尽可能的多、尽可能早地发现程序中的错误

。实际上,暴露问题不是软件测试的最终目的,发现问题是为了解决问题,只有解决了问题,软件的质量提高了,才达到了测试的最终目的。 3ATTE测试框架需求分析................19

3.1Tuxedo的测试特点................19

3.2Tuxedo的测试周期................20

3.3测试现状分析................21

3.4新测试框架的需求................22

4ATTE测试框架系统设计................23

4.1ATTE总体架构................23

4.2公共模块设计................ 24

4.3配置模块设计................27

4.4用例模块设计................30

5ATTE测试框架实现................33

5.1公共模块的实现................33

5.2配置模块的实现................44

5.3用例模块的实现................46

5.4ATTE异常处理控制................48

总结

当前,软件自动化测试技术已经发展到一定的水平,市场上也有很多开源或者商业的测试工具,然而这些已经存

上一篇:分析资源税改革对煤炭企业的影响 下一篇:民资文化实体彰显魅力