2018-2019 20175232 实验二《Java面向对象程序设计》实验报告

一、实验内容及步骤

1熟练掌握Junit和TDD;

TDD(Test Driven Devlopment, 测试驱动开发)
我们是该“先写产品代码,然后再写测试代码,通过测试发现了一些Bugs,修改代码”,还是该“先写测试代码,然后再写产品代码,从而写出来的代码就是正确的”呢?当然先写测试代码了。这种先写测试代码,然后再写产品代码的开发方法叫“测试驱动开发”(TDD)。TDD的一般步骤如下:

  • 明确当前要完成的功能,记录成一个测试列表

  • 快速完成编写针对此功能的测试用例

  • 测试代码编译不通过(没产品代码呢)

  • 编写产品代码

  • 测试通过

  • 对代码进行重构,并保证测试通过(重构下次实验练习)

  • 循环完成所有功能的开发

基于TDD,我们不会出现过度设计的情况,需求通过测试用例表达出来了,我们的产品代码只要让测试通过就可以了。。

例如:测试用例testNormal,测试异常情况的用例testException和一个测试边界情况的用例testBoundary

单元测试:

TDD测试及代码:

二.参考Java面向对象程序设计
对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式

    • 用自己的学号%6进行取余运算,根据结果进行代码扩充: 让系统支持Boolean类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印。
    • 添加代码如下图:
    • 修改后的运行通过截图:

 三.以TDD的方式开发一个复数类Complex

此处不再赘述要求。

程序码云链接:https://gitee.com/TheDawningg/gouliguoji/blob/master/exp/shiyan2/shiyan2_4.java

程序码云链接:https://gitee.com/TheDawningg/gouliguoji/blob/master/exp/shiyan2/shiyan2_4Test.java

程序测试截图:

四:使用UML图描述实验2中的程序

五、实验中遇到的问题。

1、开始使用Junit测试代码时,刚开始会出现红色代码说明有语法错误,这是因为MyUtil中还没有percentage2fivegrade方法,点击左边的灯泡图标可以修复这个问题

2、将Junit包放入后仍然为红色,我在百度了方法之后将Junit的程序包更换为4.1.2的版本

三、实验体会

对于第一次接触单元测试的我来讲,我认为写单元测试可以及时发现代码中存在的问题,减少后期维护的精力和费用,是调试代码的好方式。但第一次接触TDD所以感觉用的很费劲,还好有老师的教学博客,但仍然有不少问题,艰难的完成了实验。

猜你喜欢

转载自www.cnblogs.com/20175232-gouli/p/10744228.html