测试驱动开发中的技术与测试用例设计
在软件开发中,测试驱动开发(TDD)是一种重要的开发方法,它强调先编写测试用例,再根据测试用例来实现功能代码。下面将通过几个具体的例子,详细介绍TDD中的一些技术以及测试用例设计的重要性。
1. 转换优先级前提
在TDD中,有一系列的转换规则,按照优先级从高到低排列如下:
1. 添加更多无条件语句
2. 从无条件语句转换为if语句来拆分执行路径
3. 从标量转换为数组
4. 从数组转换为容器
5. 从语句转换为递归
6. 从if语句转换为while语句
7. 从表达式转换为函数或算法
8. 用赋值替换变量的值
在通过测试时,应优先选择优先级高的转换。编写测试时,也应选择能通过高优先级转换来通过的测试。当实现似乎需要低优先级转换时,要回溯查看是否有更简单的测试可以通过。遵循这些转换规则,可以最大程度减少TDD中的僵局。
2. 计数器示例
2.1 问题描述
实现一个名为 my_count 的方法,该方法接受一个数字和一个数字数组,返回数组中等于或大于给定数字的元素总数。
2.2 问题域分析
方法接受两个参数,第一个参数 n 用于比较,第二个参数是要处理的数字数组。例如,对于数组 [2, 7, 10, 15, 25] 和 n = 10 ,结果为3,因为数组中有三个数字(10、15和25)等于或大于10。在Ruby的IRB中,可以使用以下代码实现
TDD技术与测试用例设计解析
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



