程序员面试金典——解题总结: 9.12测试 12.3如何测试国际象棋程序中的移动方法?
2017-01-15 17:54
369 查看
问题:有个国际象棋游戏程序使用了方法: boolean canMoveTo(int x, int y),这个方法是Piece类的
一部分,可以判断某个棋子能否移动到位置(x,y)。请说明你会如何测试该方法。
分析:白盒测试来路径法测量代码的结构,测量每个逻辑分支,用黑盒测试中的边界法来测试上下参数最大值,最大值加1,最小值,
最小值减1.考虑边界,以及输入数据的有效性
关键:
1分为极限测试和一般测试。极限测试:x,y都为负数,x>棋盘宽度,y>棋盘宽度,棋子是满的棋盘,空的棋盘等
2 一般测试:国际象棋6个棋子。采用如下方法测试: 当前棋子+其他棋子+方向,摆放后移动
每个棋子a;
其他每个棋子b(包括空白)
每个方向d
创建有a的棋盘
将b放在方向d上
试着移动-检查返回值
一部分,可以判断某个棋子能否移动到位置(x,y)。请说明你会如何测试该方法。
分析:白盒测试来路径法测量代码的结构,测量每个逻辑分支,用黑盒测试中的边界法来测试上下参数最大值,最大值加1,最小值,
最小值减1.考虑边界,以及输入数据的有效性
关键:
1分为极限测试和一般测试。极限测试:x,y都为负数,x>棋盘宽度,y>棋盘宽度,棋子是满的棋盘,空的棋盘等
2 一般测试:国际象棋6个棋子。采用如下方法测试: 当前棋子+其他棋子+方向,摆放后移动
每个棋子a;
其他每个棋子b(包括空白)
每个方向d
创建有a的棋盘
将b放在方向d上
试着移动-检查返回值
相关文章推荐
- 程序员面试金典——解题总结: 9.12测试 12.5如何测试一支笔?
- 程序员面试金典——解题总结: 9.12测试 12.4不借助任何测试工具,该如何对网页进行负载测试。
- 程序员面试金典——解题总结: 9.12测试 12.6在一个分布式银行系统中,该如何测试一台ATM机?
- 程序员面试金典——解题总结: 9.12测试 12.2如何定位一个随机位置奔溃的应用
- 程序员面试金典——解题总结: 9.18高难度题 18.9随机生成一些数字并传入某个方法。编写一个程序,每当收到新数字时,找出并记录中位数。
- 移动应用安全测试方法总结
- 程序员面试金典——解题总结: 9.17中等难题 17.9设计一个方法,找出任意指定单词在一本书中的出现频率
- 程序员面试金典——解题总结: 9.18高难度题 18.4编写一个方法,数出0到n(含)中数字2出现了几次
- 程序员面试金典——解题总结: 9.18高难度题 18.10给定两个字典里的单词,长度相等。编写一个方法,将一个单词变换成另一个单词,一次只改动一个字母。
- 编程珠玑: 12章 取样问题 12.3设计空间,程序的输入包含两个整数m和n,其中m<n。输出是0~n-1范围内m个随机整数的有序列表,不允许重复。 解法2-------解题总结
- 安卓系统机顶盒中如何自由移动程序的焦点(没测试过)
- 程序员面试金典——解题总结: 9.18高难度题 18.2编写一个方法,洗一副牌。要求做到完美洗牌,换言之,这副牌52!种排列组合出现的概率相同
- 【干货推荐】如何改进移动游戏测试方法和发布策略
- Visual Studio 进行单元测试时如何附加被测试文件的方法总结
- 程序员面试金典——解题总结: 9.17中等难题 17.4编写一个方法,找出两个数字中最大的那一个。不得使用if-else或其他比较运算符。
- 程序员面试金典——解题总结: 9.18高难度题 18.7给定一组单词,编写一个程序,找出其中的最长单词,且该单词由这组单词中的其他单词组合而成。
- 程序员面试金典——解题总结: 9.18高难度题 18.8给定一个字符串s和一个包含较短字符串的数组T,设计一个方法,根据T中的每一个较短字符串,对s进行搜索
- 移动APP测试方法总结
- 编程珠玑: 12章 取样问题 12.3设计空间,程序的输入包含两个整数m和n,其中m<n。输出是0~n-1范围内m个随机整数的有序列表,不允许重复。 -------解题总结
- 程序员面试金典——解题总结: 9.18高难度题 18.3编写一个方法,从大小为n的数组中随机选出m个整数。要求每个元素被选中的概率相同。