Part 3 测试文档

Part 3测试文档

1.需求分析

自主使用Junit完成对Jumper类的测试

2. 具体测试细节

2.1 Jumper类相关成员函数的介绍

2.1.1 构造函数

这里写图片描述

2.1.2 act()函数

功能:选择Jumper进行move、jump、turnjump优先级高于move
这里写图片描述

2.1.3 turn()函数

功能:当Jumper无法进行jump或者move时候进行turn,转换角度
这里写图片描述

2.1.4 move()函数与canMove()函数

功能:
1. move()函数:Jumper往前移动一步
2. canMove()函数:判断Jumper是否可以move
这里写图片描述

2.1.5 jump()函数与canJump()函数

功能:
1. jump()函数:Jumper往前移动两步
2. canJump()函数:判断Jumper是否可以jump
这里写图片描述

2.2 函数测试

这一部分我选择了4个函数进行测试,分别是:

  1. act()函数
  2. canMove()函数
  3. move()函数
  4. turn()函数
2.2.1 act()函数测试

这里写图片描述

2.2.2 canMove()函数测试

这里写图片描述

2.2.3 move()函数测试

这里写图片描述

2.2.4 turn()函数测试

这里写图片描述

2.3 测试结果及详解

这里写图片描述

2.3.1 canMoveTest
  1. 首先把jumper放置在点(5,5)上
  2. 进行canMove()测试,由于jumper可以移动,所以返回true
2.3.2 moveTest
  1. 首先把jumper放置在点(5,5)上
  2. jumper进行move之后,jumper的x坐标减小1,此时jumper.getXposition() = 4
  3. 由于原本的x = x - 2 = 3 ,此时x与jumper.getXposition()并不相等,于是就返回false
2.3.3 turnTest
  1. 首先在part2部分中,我们已经定义了NORTHEAST是北偏东45°,并且定义jumper面朝正北,且自身旋转顺序为顺时针;
  2. 这里jumper进行turn之后,是顺时针旋转45°,此时也就是相对于原来未知的北偏东45°方向,所以返回true
2.3.4 actTest
  1. 首先把jumper放置在点(5,5)上,随后jumper进行act,由于地图上并没有障碍物且jump之后并不会出界,所以此时jumper进行jump
  2. 完成jump之后,jumper的X坐标减2,此时jumper.getXposition() = 3 , 而 x - 2 = 3 ,由于x = jumper.getXposition()相等所以返回true;
  3. 放置一个rock到点(1,4)上
  4. jumper继续运动,由于此时jumper再继续向前跳跃时候,会碰到rock,所以此时jumper选择进行move,向前move一步
  5. jumper完成move之后,jumper的X坐标减1,此时jumper.getXposition() = 2 ,而此时x - 3 = 2 ,所以 x - 3 = jumper.getXposition() ,返回true;

3 测试总结

完成part3之后,我对java程序的执行有了更加清楚的认识,同时也对在part1部分学到的junit有了更加熟练的使用。

猜你喜欢

转载自blog.csdn.net/wyxwyx469410930/article/details/80040076