书评:嵌入式C的测试驱动开发

作者:詹姆斯·格林宁

发布时间:2011年

目标受众:任何

雅各布的评分:5星以上

图书链接: //pragprog.com/titles/jgade/test-driven-development-for-embedded-c/

嵌入式C的测试驱动开发是每位嵌入式软件工程师都应阅读的基础书籍之一。当我开始成为一名全职顾问时,我大概在2013年或2014年就读过这本书。这本书太棒了,对我思考编写嵌入式软件的方式提出了挑战。在编写任何代码之前编写失败的自动测试用例的想法对我来说完全陌生。老实说,这个想法很有趣,但是当时我很怀疑,花了几年的时间才真正开始研究并开始理解本书中的概念对嵌入式开发人员的重要性。

James Grenning的风格以易于理解和实用的方式向嵌入式开发人员展示了测试驱动的开发。他带领读者完成了TDD的各个阶段,并为读者提供了大量实用示例和与之配套的源代码。作者还非常熟悉开发人员在采用TDD时所面临的挑战,并且在引导读者正确的思维方式并展示其优势方面做得非常出色。这些示例使读者很容易上手,并且我认为动手操作是成功吸收概念并最大程度利用价值的唯一方法。

我对这本书有很多喜欢的东西。首先,示例中使用了两种不同的测试工具:unity和cpputest(我的首选是cpputest)。即使两者本质上相似,这也使读者有机会看到线束之间的差异。接下来,我喜欢这本书如何加强开发人员应该如何设计测试。提供的示例包括LED驱动器,光调度器和循环缓冲区。我真正发现有用的第三件事是审查诸如SOLID之类的设计原理以及它们与TDD的关系。

当然,除了这些之外,还有很多主题。例如,作者讨论了开发人员如何针对双重目标开发软件;一种用于嵌入式硬件,另一种用于测试机。这通常需要模拟或伪造测试代码,以使他们相信其中存在低级硬件。该技术使开发人员可以在硬件仍处于开发阶段且不可用时创建其嵌入式软件应用程序代码。这种技术的好处当然包括更强大的代码和更快的上市时间。

我强烈建议任何有兴趣改进他们的代码测试方式,想花更少的时间调试并加快开发周期的工程师推荐这本书。许多大型技术公司已经采用了本书讨论的嵌入式软件技术。我认为对于中小型和新兴企业来说,也早该开始利用这些技术了。阅读本书并完成所有练习。我想您会发现这将大大改变您编写和测试嵌入式软件的方式。

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.