jav实验二
实验内容
1.初步掌握单元测试和TDD
2.理解并掌握面向对象三要素:封装、继承、多态
3.初步掌握UML建模
4.熟悉S.O.L.I.D原则
5.了解设计模式
实验内容
1.参考Intellj IDEA 简易教程
提交最后三个测试用例都通过的截图,截图上要有画图加水印,输入自己的学号。
2.参考 积极主动敲代码使用JUnit学习Java,
以 TDD的方式研究学习StringBuffer,提交你的单元测试用例和测试通过的截图,截图要加上学号水印。
3.实验二 Java面向对象程序设计
对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式用自己的学号%6进行取余运算,根据结果进行代码扩充:
0: 让系统支持Byte类,并在MyDoc类中添加测试代码表明添加正确1
1: 让系统支持Short类,并在MyDoc类中添加测试代码表明添加正确
2: 让系统支持Boolean类,并在MyDoc类中添加测试代码表明添加正确
3: 让系统支持Long类,并在MyDoc类中添加测试代码表明添加正确
4: 让系统支持Float类,并在MyDoc类中添加测试代码表明添加正确
5: 让系统支持Double类,并在MyDoc类中添加测试代码表明添加正确
4.以TDD的方式开发一个复数类Complex支持加减乘除。
5.使用StarUML对实验二中的代码进行建模,发类图的截图,加上学号水印。类图中至少两个类。
实验步骤
(一)单元测试
(1)三种代码
•产品代码
public class MyUtil{
public static String percentage2fivegrade(int grade){
//如果成绩小于60,转成“不及格”
if (grade < 60)
return "不及格";
//如果成绩在60与70之间,转成“及格”
else if (grade < 70)
return "及格";
//如果成绩在70与80之间,转成“中等”
else if (grade < 80)
return "中等";
//如果成绩在80与90之间,转成“良好”
else if (grade < 90)
return "良好";
//如果成绩在90与100之间,转成“优秀”
else if (grade < 100)
return "优秀";
//其他,转成“错误”
else
return "错误";
}
}
•测试代码
为了检测代码的健硕性,避免出现bug需要对代码进行测试,这个时候就需要使用测试代码。
编写测试代码
•一般情况测试
代码,结果如下
•边界测试
对输入为“0,60,70,80,90,100”这些边界情况进行测试的代码,得到如下结果
出现了问题,对这个问题进行修复,得到代码2,再次进行测试,得到如下结果
(2) TDD(Test Driven Devlopment, 测试驱动开发)
TDD的一般步骤如下:
•明确当前要完成的功能,记录成一个测试列表
•快速完成编写针对此功能的测试用例
•测试代码编译不通过(没产品代码呢)
实验步骤
一、学习在IDEA下使用TDD并安装JunitGenerator V2.0
在IDEA中使用TDD可以参考老师的Intellj IDEA 简易教程,按照老师的步骤一步一步进行,只到安装JunitGenerator V2.0时出现了问题,教程中是说在设置对话框中选择Plugins, 单击Install JetBrains plugin...按钮打开插件安装界面,然后在插件安装对话框的搜索中输入junit,单击JunitGenerator V2.0,单击右边绿色的Install1按钮安装,但是在我单击Install JetBrains plugin...按钮打开插件安装界面时找不到JunitGenerator V2.0,只有下面这个插件
经过多次探索,发现如下步骤可以找到需要安装的内容:在设置对话框中选择Plugins,然后单击Browse repositories...按钮(如下图)打开插件安装界面,然后又教程相同,在插件安装对话框的搜索中输入junit,单击JunitGenerator V2.0,单击右边绿色的Install1按钮安装。
使用TDD
TDD的编码节奏是:
•增加测试代码,JUnit出现红条
•修改产品代码
•JUnit出现绿条,任务完成
通过TDD完成了本次实验任务的1,2和4,在这里给出通过TDD学习的代码链接并且测试通过的截图
第一个实验题目的产品代码测试代码以及结果截图

第二个实验题目的产品代码,测试代码以及结果截图

第四个实验题目的产品代码,测试代码,以及运行结果截图

实验5我自己没做出来,那个图尝试了很多但都没成功
jav实验二的更多相关文章
- 20155329实验二 Java面向对象程序设计
实验二 Java面向对象程序设计 1实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 2. 初步掌握单元测试 ...
- 20155330 实验二 Java面向对象程序设计
20155330 实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步 ...
- 20145215&20145307《信息安全系统设计基础》实验二 固件设计
20145215&20145307<信息安全系统设计基础>实验二 固件设计 实验目的与要求 了解多线程程序设计的基本原理,学习 pthread 库函数的使用. 了解在 linux ...
- FPGA与simulink联合实时环路系列——实验二LED
实验二LED 实验内容 在实验一的基础上,将simulink产生的测试信号输出到FPGA开发板上的LED灯进行显示,这里要在生成的硬件模型上进行修改,将传送到FPGA的信号输出到8个LED灯上,并且对 ...
- 20145204&20145212信息安全系统实验二
20145204&20145212信息安全系统实验二 链接
- 20145204&20145212实验二报告
实验二固件设计 步骤: 1.开发环境的配置,参考实验一 1.将实验代码拷贝到共享文件夹中. 2.在虚拟机中编译代码.对于多线程相关的代码,编译时需要加-lpthread的库.下载调试在超级终端中运行可 ...
- 20145215实验二 Java面向对象程序设计
一.实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 二.实验步骤 (一)单元测试 (1)三种代码 伪代码: ...
- 实验二 用C语言表示进程的调度
实验二 一. 实验目的 通过模拟进程的调度,进一步了解进程的调度的具体过程. 二. 实验内容和要求 1.进程PCB的结构体定义 2.定义队列 3.输入进程序列 4.排序(按到位时间) 5.输出进程运行 ...
- 20145218&20145240 《信息安全系统设计基础》实验二 固件设计
20145218&20145240 <信息安全系统设计基础>实验二 固件设计 实验报告链接:http://www.cnblogs.com/20145240lsj/p/6035512 ...
随机推荐
- Css样式压缩、美化、净化工具 源代码
主要功能如下: /* 美化:格式化代码,使之容易阅读 */ /* 净化:将代码单行化,并去除注释 */ /* 压缩:将代码最小化,加快加载速度 */ /* 以下是演示代码 */ /*reset beg ...
- chrome:禁用缓存
F12->Network 非常好用!!!!!!!!!!
- python学习第41天
# 索引 # 认识mysql中的key # index key 普通索引,能够加速查询,辅助索引 # unique key 唯一 + 索引,辅助索引 # primary key 唯一 + 非空 + 聚 ...
- <转载>ford-fulkerson算法
原文链接http://blog.csdn.net/ivan_zgj/article/details/51580993 最大流问题常常出现在物流配送中,可以规约为以下的图问题.最大流问题中,图中两个顶点 ...
- [Linux]PHP-FPM与NGINX的两种通讯方式
一.通过监听TCP端口通讯 php-fpm.d/www.conf ; The address on which to accept FastCGI requests. ; Valid syntaxes ...
- 39)django-XSS 过滤
使用kingedit别人是可以输入script代码.这在后台是不允许script代码运行的. 这里主要使用beatifulSoup过滤 示例1 beatufulsoup4 from bs4 impor ...
- login_code
#! -*- coding:utf-8 -*-"""http://www.cnblogs.com/weke/articles/6271206.html前置和后置1.set ...
- Net 4.5 WebSocket 在 Windows 7, Windows 8 and Server 2012上的比较
.Net 4.5 WebSocket Server Running on Windows 7? Net 4.5 WebSocket Server 可以运行在 Windows 7,但是Net 4.5的 ...
- SpringCloud路由(网关)
springcloud网关接口就类似于转发 搭建路由网关项目(ZuulDemo) 1.创建pom.xml <project xmlns="http://maven.apache.org ...
- Bootstrap补充
一.一个小知识点 1.截取长屏的操作 2.设置默认格式 3.md,sm, xs 4.空格和没有空格的选择器 二.响应式介绍 - 响应式布局是什么? 同一个网页在不同的终端上呈现不同的布局等 - 响应式 ...