欢迎来到天天文库
浏览记录
ID:33989976
大小:2.81 MB
页数:79页
时间:2019-03-02
《基于java平台的单元测试技术研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、湖南大学硕士学位论文基于Java平台的单元测试技术研究姓名:余波申请学位级别:硕士专业:计算机软件与理论指导教师:张大方;王树林20051015硕士学位论文摘要目前,随着Java技术日益普及并受到广泛重视,如何提高Java应用程序的可信性是一个不容忽略的重要问题。Java应用程序的单元测试是保证软件质量、提高软件可靠性的关键。人工完成单元测试既费时又繁琐,自动化的单元测试已经成为节省软件开发成本、提高软件可信性的重要手段。因此,本文针对Java应用程序单元测试中的自动生成测试数据和提高单元测试自动化程度这两个问题展开研究。本文首先分析子类型行为和类行为兼容性的关系,利用一个由子类型行为描
2、述变换到类行为兼容性实现的映射,可以获得正确的类不变式、方法前置条件和后置条件。准确的类不变式和方法后置条件可以作为测试神谕,而类不变式和方法前置条件可以作为划分等价类和分析边界值的输入。接着,针对需要人工计算期望值的单元测试给出两个生成测试数据方法:考察生产和实验中经常使用的统计方法:正交实验设计法和均匀设计法生成测试数据,与枚举法和对均匀设计法进行了改进的均匀设计补充法生成的测试数据相比,发现均匀设计补充法生成的测试数据在测试成本和测试效果间具有较好的性价比;提出基于改进的遗传算法自动生成Java类的测试数据的方法,该方法采用对整数、字符和字节使用二进制编码和浮点型数据使用浮点数编码
3、的混合编码方式,对字节码形式表示的Java类添加装置,随机生成一组测试数据作为初始种群,通过测试覆盖分析器监控被测试程序的执行过程,以获取的覆盖率作为适应度值,执行遗传操作,实验结果表明:改进后的遗传算法能有效地自动生成Java类的测试数据。然后对Java程序的抽象类、包含内隐类的接口、其它内隐类和普通类的测试提出不同的测试案例模式,结合Liskov替代原则对类测试的要求,实现一个基于Junit自动生成测试案例模板的工具。最后,本文基于Junit测试框架和上述研究结果,实现一个Java平台单元测试的工具原型。以此工具为平台,程序员可以自动生成测试数据和测试用例模板,在编写测试案例时,只需
4、在自动生成的测试案例模板中添加期望值就可获得完整的测试案例,可以提高程序员的开发效率和被测试软件单元的可信性。关键词:单元测试类测试遗传算法均匀设计法测试数据基于Java平台的单元测试技术研究ABSTRACTToday,withJavatechnologiesbeingprevailedincreasinglyandregardedabroad,howtoenhancecreadibilityofJavaapplicationsisakeyproblemthatisn’tignored.UnittestingofJavaapplicationsisakeyofassuringsoftwa
5、requalitiesandimprovingsoftwaredependability.Itisconsumingandtediousthatunittestingisexecutedmanually,butautomaticunittestinghasalreadybeenanimportantmeansmateconomizesthecostofsoftwaredevelopmentandenchancessoftwarecreability.Therefore,theresearchesareonhowtogeneratetestdataforunittestingofJavaa
6、pplicationsautomaticallyandimproveautomaticlevelofunittestinginthispaper.First,inthispaper,weanalyzetherelationsofsubtypebehaviorandclasscompatibility,utilizeamapthattransformssubtypebehaviorspecificationintoclasscompatibilityimplementationcorrectly,andcreateclassinvariant,preconditionandpost—con
7、ditionofmethod.Accurateclassinvariantandmethodpost·conditioncanactasatestoracle.Atthesametime,andclassinvariantandmethodpreconditioncanactastheinputsofpartitioningequivalenceclassandanalyzingboundaryvalues.Second,thisp
此文档下载收益归作者所有