[CareerCup] 12.3 Test Move Method in a Chess Game 测试象棋游戏中的移动方法
12.3 We have the following method used in a chess game: boolean canMoveTo( int x, int y). This method is part of the Piece class and returns whether or not the piece can move to position (x, y). Explain howyou would test this method.
这道题让我们测试象棋游戏中的移动方法boolean canMoveTo( int x, int y),这个方法判断能否把棋子移动到(x, y)位置。这类问题通常有两种测试方法,极值测试和常规测试。
极值测试:我们需要测试一些坏的情况,可能会引起程序崩溃的值,例如
1. 检测x和y为负值的情况
2. 检测当x超过棋盘宽度的情况
3. 检测当y超过棋盘高度的情况
4. 检测一个满棋盘
5. 检测一个空棋盘,或是近似为空的棋盘
6. 检测白棋子远大于黑棋子的情况
7. 检测黑棋子远大于白棋子的情况
常规测试:检测全部情况会非常耗时,所以我们只检测部分区域。
[CareerCup] 12.3 Test Move Method in a Chess Game 测试象棋游戏中的移动方法的更多相关文章
- 『重构--改善既有代码的设计』读书笔记----Move Method
		明确函数所在类的位置是很重要的.这样可以避免你的类与别的类有太多耦合.也会让你的类的内聚性变得更加牢固,让你的整个系统变得更加整洁.简单来说,如果在你的程序中,某个类的函数在使用的过程中,更多的是在和 ... 
- struts2 action配置时 method 省略不写 默认执行方法是父类ActionSuppot中的execute()方法
		struts2 action配置时 method 省略不写 默认执行方法是父类ActionSuppot中的execute()方法 
- 2.C#中泛型在方法Method上的实现
		阅读目录 一:C#中泛型在方法Method上的实现 把Persion类型序列化为XML格式的字符串,把Book类型序列化为XML格式的字符串,但是只写一份代码,而不是public static s ... 
- Method Swizzing中一般替换方法都写在Category类别里吗?有没有别的实现方式
		Method Swizzing中一般替换方法都写在Category类别里吗?有没有别的实现方式 Method Swizzing中一般替换方法都写在Category类别里吗?有没有别的实现方式 > ... 
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十一章:模板测试
		原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十一章:模板测试 代码工程地址: https://github.co ... 
- 2018.12.7 浪在ACM 集训队第八次测试赛
		2018.12.7 浪在ACM 集训队第八次测试赛 https://blog.csdn.net/QLU_minoz/article/details/84886717 感谢苗学林同学C题和D题题解 ... 
- [CareerCup] 12.1 Find Mistakes 找程序错误
		12.1 Find the mistake(s) in the following code: unsigned int i; ; i >= ; --i) printf("%d\n&q ... 
- [CareerCup] 12.2 Find the Reason of Crash 找到程序崩溃的原因
		12.2 You are given the source to an application which crashes when it is run. After running it ten t ... 
- [CareerCup] 12.4 Test a Webpage 测试一个网页
		12.4 How would you load test a webpage without using any test tools? 这道题问我们如何不用任何测试工具来加载测试一个网页.加载测试可 ... 
随机推荐
- DEV 财务货币格式单元格
			在用友金蝶等财务软件中,经常需要输入货币类型的数据, 那么这种输入框要如何制作呢? 扩展DataGridView 的功能 出自在天空飞翔博客 http://www.cnblogs.com/micha ... 
- Struts2 Spring Hibernate等各个版本下载推荐
			推荐jar包下载地址: http://mvnrepository.com/ 应有尽有 
- MySQL单机多实例安装并配置主从复制
			单机多实例据说可以最大程度提高硬件使用,谁知道呢,但是以前的公司喜欢这样搞,我最近也在学习复制什么的,电脑搞不起两台虚拟机,刚好单机多实例可以解救我.下面就说说步骤. 承上文http://www.cn ... 
- hibernate数据库连接池
			访问数据库,需要不断的创建和释放连接,假如访问量大的话,效率比较低级,服务器消耗大: 使用数据库连接池,我们可以根据实际项目的情况,定义连接池的连接个数,从而可以实现从连接池获取连接,用户放回到连接池 ... 
- mysql日志类型
			在MySQL中共有4中日志:错误日志.二进制日志.查询日志和慢查询日志 一.错误日志 错误日志名 host_name.err,并默认在参数DATADIR指定的目录中写入日志文件.可使用 --log-e ... 
- docker常用术语命令
			镜像(Image) vs Dockerfile 这组概念很少会让人产生疑惑,但是这两者的区别非常重要.Docker在镜像(image)中运行你的代码,而不是Dockerfile.Dockerfile是 ... 
- 【C#】1.算法温故而知新 - 简单的桶排序
			该算法的时间复杂度是O(M+N),M为桶的个数,N为待排序的个数 缺点: 1.不适用于小数 2.当数值过多,太浪费空间,比如数值范围为0~99999,那需申请100000个变量,也就是要写成a[100 ... 
- 离散化+线段树  POJ 3277 City Horizon
			POJ 3277 City Horizon Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 18466 Accepted: 507 ... 
- readonly与const
			readonly与const 在C#中,readonly 与 const 都是定义常量,但不同之处在于:readonly 是运行时常量,而 const 是编译时常量. ; public void Te ... 
- XUtils===XUtils3框架的基本使用方法
			转载自:http://blog.csdn.NET/a1002450926/article/details/50341173 今天给大家带来XUtils3的基本介绍,本文章的案例都是基于XUtils3的 ... 
