《测试驱动的嵌入式C语言开发》——3.3节写一个测试列表

简介: 本节书摘来自华章社区《测试驱动的嵌入式C语言开发》一书中的第3章,第3.3节写一个测试列表,作者:(美)James W. Grenning,更多章节内容可以访问云栖社区“华章社区”公众号查看

3.3 写一个测试列表
在开发新功能之前先创建一个测试列表会很有帮助。测试列表由需求衍生而来。测试列表定义了你对将需要完成的功能的最好的理解。这个列表不需要很完美。它只是个临时的文档,可能只记在一张卡片上或者笔记本上。你也可以直接把它当做注释输入到测试文件中。随着每个测试的添加,对应的注释将被删除。
不要在写作这个列表上花太多时间,对于LED驱动程序来讲,花几分钟即可。我的初始测试列表如图3-1所示。
在我们开始之前,先列出我们都需要测试什么。


9b30151b4d5632e88b11f2dff0a24979bb79e706

请当心在创建测试列表时的报酬递减(diminishing return)。一旦你写下几个测试,其他的会很容易想到。当进展很慢时,你可能已达到了报酬递减的边界,这可能就是一个停止工作在测试列表转而去测试驱动设计的好时机。在驱动设计的同时你会想到其他的测试。有时一个测试将来可能会被拆开。有些可能会被合并。这个列表的目的是确保你不会忘了做某些事。它就像是一个地图,你可以在努力让一个测试通过而深入其中之余重新找回原来的方向,它就是你的任务列表。
有些识别出来的测试可能还没有明确的产出。例如,你觉得驱动程序应该如何应对越界的参数?答案是不清楚。不过这没关系。在把代码拼在一起后你大概会对可能的选择更了解一些。有时更多的经验会帮助澄清问题,但有时它会引发新问题,一些不能马上解决的问题。
从下一节开始,你将会开始使用测试驱动开发。在此之前,我有个问题。是否有人告诉过你先把问题中最难的那部分解决掉,小问题自然会迎刃而解?至少我听到过,并且这看上去是个好建议。我将会彻底颠覆这个建议。
应该从能把工作向目标推进的很小或很简单的地方开始。这个过程中的每一步都是可验证的。产品代码的功能随着一次一个的测试而增加,朝着健壮的并且被很好测试过的解决方案前进。这为我们进行更复杂的测试打了基础。设想一下需要写的测试,并决定写出它们的顺序,这是一个随时间而增长的技能。

相关文章
|
1月前
|
自然语言处理 中间件 编译器
C语言的编译器和中间件开发
C语言的编译器和中间件开发
|
1月前
|
存储 编解码 编译器
嵌入式C语言(四)
嵌入式C语言(四)
27 0
|
1月前
|
存储 编译器 Linux
嵌入式C语言(三)
嵌入式C语言(三)
26 0
|
1月前
|
C语言
嵌入式C语言中的工具代码助你一臂之力
嵌入式C语言中的工具代码助你一臂之力
21 0
|
1月前
|
算法 项目管理 C语言
嵌入式 C 语言大神的进阶之路
嵌入式 C 语言大神的进阶之路
19 0
|
1月前
|
编译器 C语言
嵌入式C语言变量、数组、指针初始化的多种操作
嵌入式C语言变量、数组、指针初始化的多种操作
29 0
|
1月前
|
程序员 编译器 C语言
嵌入式 C 语言中的全局变量问题
嵌入式 C 语言中的全局变量问题
18 0
|
1月前
|
存储 C语言 芯片
嵌入式数据传输及存储的C语言实现
嵌入式数据传输及存储的C语言实现
27 0
|
1月前
|
C语言 数据安全/隐私保护 C++
嵌入式中如何把C++代码改写成C语言代码
嵌入式中如何把C++代码改写成C语言代码
31 0
|
13天前
|
存储 编译器 C语言
嵌入式C语言(六)
嵌入式C语言(六)
19 0