六字真言:标红,通过,重构。
1、写测试用例
2、通过测试用例去修改代码使其通过测试用例,
3、检查代码中是否有“坏味道”--烂代码,然后重构代码。
比如一个栗子:
随机输入4位以内的字符串,判断字符串是否包含在“abcd”4个字母随机组合的长短不一的字符串中。
测试用例,是这样的:
先输入一个字符;输入两个字符;输入3个字符;输入4个字符。(如:a,bc,cab,bcad);
4个测试用例,开发先从简单的开始;先满足输入一个字符,可以检测,(如果通过,则检查代码中是否有坏味道,有,则重构),再满足两个字符可以检测,TestCase 运行时,会标红和绿色通过(如果通过,则检查代码中是否有坏味道),然后修改代码,使其更精简,再看满足第三个测试用例的检测,是标红还是标绿,重复检查代码,是否需要精简。到第4遍,基本可以重构开发出一套字符匹配规则的算法,通过算法去匹配字符,更加的通用,简洁,高效。
大多数开发过程中,都是开发一上手,考虑各种情况,综合设计出这样一套算法。
但是在测试驱动开发的这样一种开发方式中,可以看到由测试用例,驱动的开发,化繁为简。
从满足最简单的需求开始,一步一步,满足测试需要通过的用例,精简出算法。这样使得这个模式下开发出来的业务功能,必定满足现有需求。
这样写出的测试用例,留着以后做回归测试也很方便。
网友评论