每日刷题(2015/6/22)测试象棋游戏中的boolean canMoveTo(int x, int y) 函数
2015-06-24 21:40
393 查看
We have the following method used in a chess game: boolean canMoveTo(int x, int y) x and y are the coordinates of the chess board and it returns whether or not the piece can move to that position. Explain
how you would test this method.
译文:
在象棋游戏中,我们有以下的一个函数:boolean canMoveTo(int x, int y)。 x,y是棋盘的坐标,该函数返回棋子是否能移到到那个位置。 解释一下你将如何测试这个函数?
需要做两个基本的测试类型:验证输入输出的有效性及功能性测试。
输入输出的有效性
我们需要验证输入输出以保证它们是有效的值,这意味着我们需要:
检查输入是否在棋盘内: 给函数传入负值 给函数传入大于宽度的x值 给函数传入大于高度的y值 根据具体的实现,以上情况要么返回false,要么抛出异常。
检查输出是否合法(本题目不需要,因为输出是true或者false,无所谓合不合法。)
功能性测试
理论上来说,我们应该去测试象棋棋盘的所有可能布局,但由于这个数量太大了, 这样做根本不现实。因此,我们只去测试这其中比较具有代表性的一些情况。 象棋中有6种棋子(国际象棋:王,后,车,象,马,兵),我们按照以下算法做测试:
how you would test this method.
译文:
在象棋游戏中,我们有以下的一个函数:boolean canMoveTo(int x, int y)。 x,y是棋盘的坐标,该函数返回棋子是否能移到到那个位置。 解释一下你将如何测试这个函数?
需要做两个基本的测试类型:验证输入输出的有效性及功能性测试。
输入输出的有效性
我们需要验证输入输出以保证它们是有效的值,这意味着我们需要:
检查输入是否在棋盘内: 给函数传入负值 给函数传入大于宽度的x值 给函数传入大于高度的y值 根据具体的实现,以上情况要么返回false,要么抛出异常。
检查输出是否合法(本题目不需要,因为输出是true或者false,无所谓合不合法。)
功能性测试
理论上来说,我们应该去测试象棋棋盘的所有可能布局,但由于这个数量太大了, 这样做根本不现实。因此,我们只去测试这其中比较具有代表性的一些情况。 象棋中有6种棋子(国际象棋:王,后,车,象,马,兵),我们按照以下算法做测试:
取出6种棋子中的一个a 除了a的棋子中,取出一个b 在方向集合中取出一个方向d 用棋子a创建一个棋盘布局(放在棋盘所有可能的地方) 将b放在方向d上的一个位置 尝试移动,并检查返回值
相关文章推荐
- Android之使用Http协议实现文件上传功能
- 通晓网络测试常用命令
- Nodejs学习笔记之测试驱动
- 可以测试javascript运行效果的代码
- 使用php测试硬盘写入速度示例
- python 测试实现方法
- Php-Redis安装测试笔记
- mysql压力测试脚本实例
- JavaScript 组件之旅(四):测试 JavaScript 组件
- Android触屏测试实例代码
- 解析libcurl在android下的移植、编译与测试
- 几个比较实用的JavaScript 测试及效验工具
- Java中对AtomicInteger和int值在多线程下递增操作的测试
- Python实现测试磁盘性能的方法
- python自动化测试实例解析
- Python之PyUnit单元测试实例
- Appium自动化测试系列2- 写一个Python测试脚本来测试一下YY语音
- IOS UI Automation 学习之常用类,方法和模拟手势
- 测试时尚
- 回避测试方法论