一、 需求分析(描述具体需求)

1. Install MuJava. The instruction of how to install and use Mujava can be seen in https://cs.gmu.edu/~offutt/mujava/ .

2. Two small programs are given for your task. BubbleSort.java is an implementation of bubble sort algorithm and BackPack.java is a solution of 01 backpack problem. Try to generate Mutants of 2 given programs with MuJava.

3. Write testing sets for 2 programs with Junit, and run mutants on the test sets with MuJava.

二、 概要设计

首先安装mujava,然后用mujava将老师给的两个程序生成变异体,通过Junit编写测试用例,再用该测试用例去测试变异体。根据最后的结果分析自己编写的测试用例是否足够好。

三、 详细设计

1. 首先配置环境变量,将mujava添加到CLASSPATH

创建一个MujavaHome文件夹,结构如图

写mujava.config文件,内容为MuJava_HOME=C:\mujavaHome.再在该文件夹下 创建两个cmd,方便运行mujava程序,内容为

GenMutants.cmd: java mujava.gui.GenMutantsMain

RunTest.cmd: java.mujava.gui.RunTestMain > TestResult.txt

2. 将.java文件复制到src文件夹,通过Eclipse编译生成.class,复制到classes 文件夹,运行GenMutants.cmd,正常的运行界面如下

左侧勾选要变异的java程序,右侧勾选变异的类型

生成完毕后可查看生成的变体

3. 编写测试用例。在eclipse中用Junit编写测试用例,保证测试用例的正确性

然后将其生成的class文件放在testset文件夹中。

4.对生成的变异体进行测试,得到测试结果

四、调试

一开始由于jdk的版本问题没能运行cmd,换成1.8的jdk就可以了

五、 测试结果(描述输入和输出)

killed356个,live9个,mutantScore为97.0%

killed112个,live12个,mutantScore为90.0%

可以看到结果还是比较令人满意的

六、 总结

变异测试方法与之前所学习的不太一样,它表现的是一种逆向思维的方式,以变异程序的存活率来判断测试用例集是否有效。在学习中也要有这种思想,要学会多角度地评判一个程序或者软件。同时也了解到,变异测试在初期由于在花费上的问题,阻碍了它的实际应用,但后期随着电脑能力的发展,变异测试又迎来了复兴,所以说有些方法并不一定本质上不是好方法,而可能是受限于当时某些技术的发展情况而导致其没有发挥最大的作用。我们要以长远的理性的眼光来评价一个方法。

转载于:https://www.cnblogs.com/zyrr/p/10770921.html

mujava 软件测试实验报告相关推荐

  1. 软件测试实验4白盒测试,软件测试实验报告白盒测试

    <软件测试实验报告白盒测试>由会员分享,可在线阅读,更多相关<软件测试实验报告白盒测试(8页珍藏版)>请在人人文库网上搜索. 1.软件测试与质量课程实验报告实验3:白盒测试姓名 ...

  2. qtp软件测试网站实验报告,软件测试实验报告-QTP的使用

    软件测试实验报告-QTP的使用 (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 西南科技大学计算机学院实验报告实验名称 QTP的使丿tl ...

  3. 软件测试性能实验报告,软件测试实验报告.doc

    软件测试实验报告 实验报告 课程名称 软件测试技术 实验项目名称 性能测试工具LoadRunner的使用 班级与班级代码 实验室名称(或课室) 专 业 软件工程 任课教师 学 号: 姓 名: 实验日期 ...

  4. 黑龙江大学软件测试实验报告

    软件测试 实  验 指 导 书 黑龙江大学软件学院 实验要求 在<软件测试>的课程实验过程中,要求学生做到: (1)预习相关理论. (2)仔细阅读实验内容提纲,记录测试中所遇到的主要问题, ...

  5. 比例尺课件软件测试,实验报告GPS静态测量汇总.doc

    实验报告GPS静态测量汇总 实验四 GPS静态测量 实验目的 实验的目的是使学生了解采用GPS定位技术建立工程控制网的过程,使所学理论知识与实践相结合,巩固和加深对新知识的理解,增强学生的动手能力,培 ...

  6. 软件测试实验报告下载 实验一到实验五

    实验一: 传送门在此:https://download.csdn.net/download/qq_44872173/15559951 目录如下:

  7. 白盒测试流程图及测试用例设计(软件测试实验报告)

    白盒测试流程图及测试用例设计 1.课程设计目的: 1)理解白盒测试原理 2)绘制白盒测试流程图 2.课程设计方法: 1)绘制流程图 2)设计测试用例 3.课程设计内容: 题目: 输入x和y值,首先判断 ...

  8. 软件测试实验报告一:黑盒测试——边界值分析法

    实验一: 黑盒测试--边界值分析法 [开发语言及实现平台或实验环境] C语言 [实验目的] 1.认识黑盒测试方法中边界值分析测试法原理 2.掌握黑盒测试方法中边界值分析测试法过程 [实验内容] 1.三 ...

  9. 南自动化计算机控制实验报告,控制系统实验报告_相关文章专题_写写帮文库

    时间:2019-05-12 12:57:10 作者:admin <MATLAB与控制系统仿真> 实验报告 2013- 2014学年 第 1 学期 专业: 班级: 学号: 姓名: 实验三 M ...

最新文章

  1. 播客#47:劳伦斯·布拉德福德
  2. django弹出对话框_Django实现简单网页弹出警告代码
  3. 机房重构 之 抽象工厂+反射+配置文件 实现数据库訪问
  4. python 示例_Python date isoweekday()方法与示例
  5. 在android studio中如何创建一个类来继承另外一个类_在Android使用Transition API检测用户活动...
  6. C ++ 内存 | C/C++的动态内存管理_1
  7. Java应用程序的基本框架
  8. Python文件读写模式
  9. python打包成exe去cmd_完美起航-python打包exe之打包深度学习模型踩坑记录及其解决办法。...
  10. 可视化工具netron的使用
  11. Mysql sql执行错误#1436 Thread stack overrun:
  12. position的8种定位方式
  13. MongoDB中balancer操作
  14. 02尚硅谷书城案例-用户的注册
  15. 光猫+路由器双工配置
  16. (附源码)springboot实验室自主预约系统 毕业设计111953
  17. 数据分析师的自我修养
  18. Greeks (finance) From Wikipedia, the free encyclopedia
  19. 小米商城主页面的实现(HTML+CSS)
  20. 如何在项目立项中计算项目投资回收期!

热门文章

  1. 【数据结构(C语言版)系列一】 线性表
  2. PostgreSQL-JDBC疑似bug:部分接口参数的表名、列名必须全部小写
  3. 统计输入的汉字,数字,英文,other数量
  4. jQuery中 trigger() bind() 使用心得
  5. 36)PHP,搜寻数据库信息在html中显示(晋级1)
  6. MySQL索引使用方法和性能优化
  7. Redhat 5 无法安装elfutils-libelf-devel-0.137问题
  8. JQuery中ajax方法访问web服务
  9. 程序员最后可能的出路
  10. 操作系统原理第一章:操作系统概述