1引言
软件测试是软件工程的一个范畴⑴,作为保证软件质量和可靠性的重要手段,在整个软件生命周期中占有重要的地位,占整个开发成本的60%以上[2]。
1.1研究背景
随着计算机技术的飞速发展,各式的软件产品己经应用到各个领域,软件产品的质量自然成为人们共同关注的焦点。软件测试的目的是以发现和消除软件内部隐藏的缺陷为中心,以提高软件质量为目的。而自动化测试具有效率高的优点,可以完成许多手工测试无法实现的测试[3]。
1.2选题来源
随着时代的发展和科技的进步,软、硬件更新换代的速度越来越快,网络中传输的数据量也越来越大。某公司为全球主要的金融信息提供商,此公司目前所使用的软、硬件及网络环境均为上世纪八十年代所创建,其中大部分软、硬件已经很难进行维护,网络环境也很难适应现在高速、大数据量的网络传输。作为一家金融信息提供商,就需要把信息实时、准确的提供给需要的客户,而现有的环境已经很难达到这一点。因此该公司正在幵发一套新的系统来代替之前的旧系统,以适应时代发展的需要。在新系统的开发过程中,需要保证获取到的数据的一致性,即需要保证从新系统中获取到的数据和旧系统中获取到的数据保持一致。为了达到这一目的就需要对从新旧系统中获取到的数据进行验证。如果采用人工方式进行检验,以系统每分钟更新1000条记录(通常数据量比每分钟1000条要大得多)来计算,那么将耗费大约0.4人时来进行验证,并且以人工检验的方法不能保证所有的检验结果完全正确。为保证数据验证工作的正确性,并且大幅度的提高数据验证工作的工作效率,需要幵发一款可以用来进行数据验证的自动化测试工具。本选题正是来源于此。
2 本文涉及的关键技术
在开发该款自动化数据验证工具过程中,使用了以下一些关键技术:java用来开发桌面应用程序,Swing用来搭建工具界面,JPA( Java Persistence API-ApplicationProgramming Interface, Java持久化应用程序编程接口)用来与数据库进行交互,Perl脚本用来进行文本分析及处理,SSH及STAF用来与远程计算机进行交互。
2.1Swing 简介Swing是一个为开发Java应用程序而设计的图形用户界面开发工具包。它以AWT (Abstract Windowing Toolkit,抽象窗口工具包)为基础,它以纯java写成,可以跨平台运行,使跨平台应用程序可以使用任何可插拔的外观风格。
2.2JPA简介JPA全称为Java Persistence API,它通过JDK5.0注解或XML描述的方式完成对象关系映射。JPA 和 Hibernate 等 ORM (Object/Relation Mapping,对象关系映射)框架在总体思想上大体一致,包含以下三个方面:ORM映射元数据:JPA支持JDK 5.0注解和XML两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中[19]。JPA的API:该API用来对实体对象进行增加、修改、删除、査看等操作,开发人员无需再编写大量的JDBC (Java Database Connectivity> Java数据库连接)和SQL (Structured Query Language,结构化查询语言)代码,JPA会在后台完成所有的具体工作。
2本文涉及的关键技术...................................5
2.1Swing 简介...................................5
2.2JPA 简介...................................5
2.3Perl 简介...................................6
3需求分析...................................9
3.1系统功能...................................10
3.2系统功能性需求...................................11
3.3系统非功能性需求分析...................................20
3.3.1实施需求...................................20
4 系统设计...................................23
4.1程序组织结构...................................23
4.2数据库设计...................................24
4.3数据源维护...................................25
7 结论
随着自动化测试的不断发展,各公司都逐渐重视起自动化测试,投入越来越多的人力、财力、物力来进行适合公司实际测试情况的自动化测试工具和自动化测试框架的开发工作,这也从另外一个方面推动了自动化测试不断向前发展。虽然自动化测试工具给测试工作带来了极大的便利,但是经过长时间的自动化测试实践证明自动化测试并不能够代替所有的测试工作,有些更为深入的分析工作无法进行自动化,需要依靠人工来完成。本文所述的自动化数据验证工具目前已经在公司的数据收集部门得到了广泛的应用,几乎90%的测试人员和业务分析人员,50%以上的幵发人员正在使用该自动化数据验证工具进行数据验证工作。在使用了该自动化数据验证工具之后,极大的提高了用户的工作效率,大幅减少了重复工作,可以让用户把更多的时间投入到无法自动化进行的更为深入的分析工作中去。在与用户进行沟通的过程中,本人得到了很多积极的反馈,用户对该工具普-遍感到满意,并且不断的提出更多的需求和改进意见,使得该工具具有更多的功能,使其更加方便客户的使用。