APP下载

基于Java平台的单元测试技术探讨

2016-05-30胡双

科技尚品 2016年1期
关键词:单元测试数据技术

胡双

摘 要:随着科学技术的不断发展,Java技术得到了人们的广泛关注,如何提高Java应用程序成为当前保障测试软件质量的重要基础,为提高软件的可靠性提供了基础性的条件。人工进行单元测试呈现出费时和繁琐的情况,而自动化的单元测试能够在一定程度上实现软件开发成本的节约,成为提高软件可靠性的重要手段。因此,提高Java应用程序单元测试中的自动生成测试数据和自动化程序是当前Java平台单元测试技术的重点。

关键词:Java平台;单元测试;数据;技术

Java自身具有安全、可靠和高性能的特点,是一项重要的编程语言,在网络环境和分布式环境中被广泛应用。Java作为当前重要的网络语言,在各个领域中被广泛应用,但是在Java的软件开发过程中不能忽略测试的环节,通过面向对象编程的形式实现了对消息的传达,并且在不同的生命周期内会呈现出不同的状态,因此,软件测试得到了业界的广泛关注。实践表明,在软件的开发阶段应该对各个时期的软件开发周期进行测试,以便能够及时发现存在的故障,降低软件开发的成本。

1 Java平台单元测试技术的现状

当前,Junit已经成为单元测试的事实标准,在Java的集成环境开发中形成了Junit。程序人员能够进行测试案例模板的生成,但是相关的数据信息需要程序人员自行进行设计。此外,Junit也实现了自动测试框架,能够在不同程度上对程序员的自动化单元测试程序进行开发。Junit作为一个集成的Java单元测试工具,有效地增强了代码的稳定性能,避免了软件错误现象的出现。

2 基于Java平台的单元测试数据

2.1 契约自动生成测试数据

对于测试方法中的参数,需要对等价的类型和边界进行合理的划分,在测试过程中需要对满足测试要求的数据进行挑选。通过对工农业生产领域的研究来看,为了保证实验的科学性和合理性,应该对实际的情况进行了解,采用最优的实验设计和统计实验的形式对实验方法进行安排。通常,实验者会在做实验的过程中,选择具有代表性的水平组合进行实验,运用均衡性对部分水平组合进行挑选,实现了各个因素之间的均衡搭配,以便获取满足测试要求的数据集。通过实验研究可知,正交设计采用了从左至右的设计方法,从上而下的元素能够充分地展现出对应参数的水平值。因此,应该根据正交设计或者均匀设计的形式表现设计测试方法参数取值组合,从而更好地表现生成测试的数据。

2.2 遗传算法自动生成测试数据

遗传算法主要应用于数据测试中,除了确保生成测试能够取得良好的效果,在问题编码时不能只局限于二进制的编码方式,应该运用赋值和交叉的形式将编码施加于种群的个体上。为了计算出种群的个体适应度,应该将种群的个体解码变成测试程度的输入形式,对程序的执行情况进行实时监控。

3 Java平台单元测试技术

3.1 基于Junit自动生成测试案例模板

当前,Junit已经成为Java程序单元测试框架的主要参考标准,应该对自动化测试工具进行扩展,程序员需要对生成的测试框架添加测试数据,以便获取一个较为完整的测试案例。Jtest在测试工具中具有单元测试的功能,能够对静态和动态的测试实现自动化的功能,应该依靠人工的形式对子类的对象进行访问,或者依靠人工的形式对对象中涉及的内容进行访问,降低了程序员测试的效率。

同时,Liskov替代原则在替代超类型行为的过程中会产生意想不到的效果,在实际的运用过程中具有兼容性,既可以运用子类类型的形式进行使用,又可以视作超类型方式进行使用。Java主要由构造器和实例方法等共同构成,在接口实现的过程中主要包含接口契约的对象,能够对对象的类型和行为进行有效的规范,避免在运行过程中产生类型错误的现象。因此,为了实现保持类型行为的兼容性,必须要在计算时建立一个求精演算的过程,实现违背测试类型的兼容性。

3.2 基于Java平台单元测试原型工具的实现

Java平台单元测试具有覆盖分析功能,主要应用于代码的覆盖测试,在测试过程中,主要是根据二进制中的文件对相关的应用指令进行添加,并结合Junit和Jcoverage能够对测试的代码进行覆盖,并对测试中的语句进行测试和执行,通过对这些信息的了解能够明确代码的测试质量,并实现对测试语句的覆盖,在测试执行的过程中能够通过对语句的收集工作,对覆盖的信息进行分支,对计算的结果进行报告,对数据的结果进行分析和评估。

在用户界面的选择设计上,应该将菜单和图标等元素作为人机交互接口的重要组成部分,主要负责对用户界面相关操作的处理,应该对操作的过程进行捕捉,并触发相应的操作。在文件处理过程中,应该对打开的Java类软件进行测试,并创建测试类的案例文件,并实现对案例文件的保存,在打开测试类Java文件的过程中并没有获得打开文件路径的方式,打开的内容会在Window的文本区中进行显示,需要进行模块处理。

4 结论

Java程序的单元测试是程序员在进行软件开发过程中必须要完成的一项工作内容,可以对产生的故障问题进行方法调用。由于面向的对象具有增量的特点,应该对设计好的测试代码进行重新构建,并且主要的工作内容也需要依靠人工来完成,有效地避免了自动化单元测试中存在的不足。通过本文的叙述,解决了Java平台上的单元测试问题,对测试的内容进行了完善。因此,在未来的发展中,还需要对测试的工具进一步完善,促进Java平台单元测试技术的发展。

参考文献

[1]孙丽红.基于轻量级Java EE的高校在线投票系統的设计与实现[D].吉林大学,2012.

[2]蒲昊.基于Http反向代理的Web动态适配平台的设计与实现[D].西安电子科技大学,2014.

[3]张建飞.研发与应用平台测试方案的研究与技术实现[D].北京交通大学,2012.

猜你喜欢

单元测试数据技术
公路工程试验检测存在的问题及措施
一种借助数据处理构建的智能食堂管理系统
探讨电力系统中配网自动化技术
移动应用系统开发
北京市中小企业优化升级
浅谈计量自动化系统实现预购电管理应用
一年级上册第五单元测试
一年级上册一、二单元测试
第五单元测试卷
第六单元测试卷