论文部分内容阅读
软件测试作为保证软件质量和生存周期,提高软件可靠性的重要手段,在软件开发中有着重要的作用,是软件开发周期中必不可少的环节。随着现代面向对象软件工程的发展,面向对象软件测试方法也日益显现出其重要性。由于面向对象软件开发方法引入了不同于传统软件的新特性,面向对象软件测试与传统软件测试相比有更多的困难。(?)论文介绍了软件测试的基本概念和基础知识;软件测试的定义、过程和常用测试方法,以及软件测试自动化的基本理论。针对传统的软件测试,分析了传统软件测试的目标、分类以及单元测试、集成测试、确认测试和系统测试等不同测试阶段,其中单元测试作为软件测试的基础有着重要的意义。(?)针对上述理论,论文提出了面向对象特性对软件测试造成的具体影响,如封装、继承和多态与动态绑定等;给出了面向对象软件测试的一般方法,并着重阐述了面向对象中类的功能性测试和结构性测试,以及类的数据流测试。论文从一个典型的类入手,详细说明了不同层次的类测试流程和方法。(?)论文设计了测试采用的框架结构和测试模式等,并根据其结构,总结出编写单元测试的一般原则和框架流程。在测试工具的选择上,在动态的白盒测试中,测试驱动很容易被构造出来,因为我们了解被测软件的构造,知道里面的实现细节;而使用黑盒测试要依靠录制回放的机制来实现,比较复杂。所以我们使用了面向对象Java语言的测试工具Junit,并且构造这种软件的通用性测试工具只能通过像Junit那样给出一个测试框架来实现。Junit是一个易用的、灵活的开源测试平台。通过使用无需人工干预的Junit自动测试平台,我们可以减少bug的出现。另外,Junit便于和编译单元以及IDE单元集成。论文以一个实际的Java程序的单元测试为例,实现了对一个排序系统的Junit的测试过程和最后的测试结果。我们研究的内容融合了软件测试理论知识与笔者的实践经验,相信对于进一步扩展Junit框架在软件测试中的应用和自动化单元测试的深入研究具有一定的理论意义和参考价值。