课程:《程序设计与数据结构》
班级: 1823
姓名: 王美皓
学号:20182322
实验教师:王志强
实验日期:2019年9月23日
必修/选修: 必修
1.实验内容
下载安装并使用IDEA,完成下面实验(https://www.cnblogs.com/rocedu/p/6371315.html)。
1.初步掌握单元测试和TDD
2.理解并掌握面向对象三要素:封装、继承、多态(自己去学!)
3.初步掌握UML建模
4.完成蓝墨云上 (1)-(5)实验。
- 实验过程及结果
实验(1):
要求:
- 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST 完成单元测试的学习
- 提交最后三个JUnit测试用例(正常情况,错误情况,边界情况)都通过的截图,截图上要有画图加水印,输入自己的学号
- 本提交点考查JUnit会不会使用,测试用例至少要包含正常情况,错误情况,边界情况的测试
- 截图:
本实验收获:
- 这个实验目的是让我们学习的是单元测试(这里的单元测试并不是我们固有观念里的考试)。什么是单元测试?单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。Java编程时,程序员对类实现的测试叫单元测试,通过单元测试我们可以减少所写类中的Bug,单元测试的过程也叫做TDD(Test Driven Devlopment, 测试驱动开发) 。
- 通过实验我深切认识到代码的实现过程中单元测试的重要性,了解到了诸如伪代码、产品代码、测试代码、TDD等全新的概念,并且学会了如何通过JUnit来高效的实现单元测试,受益匪浅。
实验(2):
要求:
- 参考 积极主动敲代码,使用JUnit学习Java http://www.cnblogs.com/rocedu/p/4837092.html 以 TDD的方式研究学习StringBuffer
- 提交你的单元测试用例和测试通过的截图,截图要加上学号水印
- 测试自己会不会写JUnit测试用例
- 截图:
本实验收获:
- 本实验的目的是为了让我们进一步学习使用JUnit辅助完成TDD,同时对JAVA中自带的StringBuffer类研究学习一波。通过本实验我不仅进一步学习了使用JUnit进行TDD测试,而且也彻底打开了我用JDK API的大门,认识到了这个辅助文档对于我们学习JAVA的重要性,受益很是匪浅!
实验(4):
要求:
- 提交:单元测试代码和运行成功截图及码云上代码链接,截图要加上学号水印
- 任务:以TDD的方式开发一个复数类Complex
- 截图:
本实验收获:
- 本实验旨在让我们用TDD的方式开发一个Complex类,该类需要包含一些指定的属性和方法。需要注意的是TDD的方式开发类需要先写出测试代码,即表明需要具备的方法和实现的功能,然后编写产品代码。这与我们常规的直接编写产品代码的方式恰恰相反。但是养成这种习惯对我们以后的编程会有非常大的帮助(有助于提高效率)。
实验(5):
要求:
- 使用StarUML对实验二中的代码进行建模,发类图的截图,加上学号水印
- 类图中只少两个类
- 类,继承,接口实现,组合在UML中表达
截图:
本实验收获:
- 本实验旨在让我们学会怎样写UML图,同时培养编写代码前先写UML图的良好意识。希望在以后的学习中继续深入的学习吧!!!
- 实验过程中遇到的问题和解决过程
- 问题1:在使用Junit时对assertEquals语句不太理解。就不会用
- 问题1解决方案:上网查阅资料,理解了assertEquals的用法:assertEquals(" ",....)前面引号部分输你预期的结果,后面输你要测验的方法,当方法的结果与你预期的结果不一致的时候,就会报错。
- 问题2:测试类找不到问题!
- 问题2解决方案:问题出在class文件与test类文件的设置问题,使得测试文件找不到可执行的类,当我将其删除后,并重新设置package位置后,得以执行。
- 问题3:用JUint测试StringBuffer测试时,出现错误
- 问题3解决方案:经过检测发现'单引号是用来定义字符串,而我当时打成了双引号,导致出现了形似而神不似的情况。
其他(感悟、思考等)
- 本次实验一下子就来了五个,确实一下子吃不消,完成作业花费了大量的时间,所以学习JAVA要学会提高效率。
- 这次实验学到了许多很实际有用的东西,我收获非常大。
参考资料
《Java程序设计与数据结构教程(第二版)》
《Java程序设计与数据结构教程(第二版)》学习指导