博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《测试驱动的嵌入式C语言开发》——第1章测试驱动开发
阅读量:5876 次
发布时间:2019-06-19

本文共 952 字,大约阅读时间需要 3 分钟。

第1章 测试驱动开发

我们都做过这样的事——写一大堆代码然后艰难地使它工作起来。也就是先建造再修正。测试是在代码写完之后的事情。测试总是一件后面加上来的事情,这也是我们过去唯一所知的方法。
这种很难预料的过程被亲切地称为“调试”(debugging),我们可能会在其中花掉半个小时。调试的过程在我们的进度中被“测试”和“集成”粉饰起来。它总是风险和不确定的来源。修改一个bug可能导致产生另一个,有时是一系列其他的bug。我们往往会统计这些数据来预测把bug全部修改掉还需要花多少时间。然后我们会去关注曲线的拐点,拐点上的趋势表明我们修改bug的速度终于超过了新引入并报出bug的速度。拐点说明我们几乎就要完成了——但我们永远不能确切地知道在代码的某个黑暗的角落里是否还躲着一个杀手级bug。
开发人员在瀑布模型开发的最后阶段往往忙作一团,与其等到那时才发现问题,质检部门不如在开始时就写一些回归测试以尽快发现那些问题。可我们还是经常会遇到意外:一个小小的错误可能要花上几天、几个星期甚至几个月才能发现。有些错误从未找到。
一些有远见的人看到了这里的潜在问题,他们发现短的开发周期产生的问题会少一些。他们发现积极的测试自动化可以节省时间和精力。这样就不再需要继续重复冗长乏味且错误百出的工作了。测试不一定非要花费出动一小队手工测试人员这样昂贵的代价。很快人们就发现了其中的边际效应(side effect):可以避免调试了。解决了项目进度变化的一个根本原因,那么就会出现更靠谱的项目计划。

著名的嵌入式大师Jack Ganssle提出集成和测试是软件开发的脉络。不过还不能这么说,起码在目前广泛流行的开发方式中还不是,但它们以后必须是。测试驱动开发(Test-Driven Development,TDD)就是其中一种方式—一种有效的方式,它可以把测试贯穿到软件开发的脉络中去,它是你代码的“Kevlar”防弹衣。

把TDD应用于嵌入式C语言开发有很多值得关注的地方,这就是本书的目的。在这一章里,你将从“万米高空鸟瞰”TDD。然后我们将把TDD应用到一个简单的C模块中。当然,这会引发很多疑问。这些疑问将在第2章回答。在开始之前,我们先来看一个著名的bug。如果用了TDD,这个bug可能就可以避免了。

转载地址:http://pbuix.baihongyu.com/

你可能感兴趣的文章
jetty启动报错Unsupported major.minor version 51.0
查看>>
Xamarin.Android开发实践(七)
查看>>
彩色图像上执行Mean Shift迭代搜索目标 ,维加权直方图 + 巴氏系数 + Mean Shift迭代...
查看>>
深入理解JavaScript系列
查看>>
strtol 函数用法
查看>>
eclipse内存溢出设置
查看>>
搭建jenkins环境(linux操作系统)
查看>>
VS 2015 GIT操作使用说明
查看>>
上海办理房产税变更
查看>>
每天一个linux命令(52):scp命令
查看>>
CMOS Sensor Interface(CSI)
查看>>
linq中的contains条件
查看>>
HDU 5590 ZYB's Biology 水题
查看>>
memcached 分布式聚类算法
查看>>
言未及之而言,谓之躁;言及之而不言,谓之隐;未见颜色而言,谓之瞽(gǔ)...
查看>>
MYSQL查询一周内的数据(最近7天的)
查看>>
Redis的缓存策略和主键失效机制
查看>>
禁止body滚动允许div滚动防微信露底
查看>>
Xtreme8.0 - Kabloom dp
查看>>
jquery css3问卷答题卡翻页动画效果
查看>>