序
1998年我们发布了TestStand 1.0,当时的宏伟目标是为自动化测试系统软件的开发者提供一个高质量的带有开放式可扩展架构和高性能组件的模块化体系。现实中,我们经常看到工程师与自行开发或某些集成商提供的欠成熟且功能单一的测试执行器做斗争,而这些执行器的开发和维护常受限于持续投入的缺乏、规模太小或技术和质量问题。在为自动化测试系统开发提供一个行业性平台时,我们面临的最大挑战是,没有任何两家公司在需求和优先级上是相似的。幸运的是,NI公司拥有异常庞大而多样化的测试和测量用户,这是我们在设计和构建TestStand过程中作为输入和意见反馈的宝贵资源。我们别无选择,只能努力让TestStand的每个方面都很灵活、可配置且某些功能支持插件模式。那个时候,在某种程度上要达到这种要求看起来很离谱,甚至现在看来仍然是这样。从用户界面、过程整合、文件格式、并行、结果存储、报表、测试配置,一直到编程语言和集成开发环境的选择,TestStand提供了灵活性、扩展机制甚至组件的源代码,来确保测试系统的开发者能借助这些高度模块化、功能内聚且被广泛验证的组件单元来设计自己想要的系统。
由于TestStand有很多种方式实现应用和定制,对于TestStand的开发者来说,需要了解用什么样的定制或配置来实现他们想要的系统,这不是一种容易的事情。幸运的是,这就是本书要告诉我们的。由于拥有非常丰富的实际项目经验,作者能够准确地呈现TestStand的概念和原理,并将理论知识与实际应用案例相结合。本书所涵盖的TestStand主题,无论从深度还是广度方面,都毫无疑问地创造了世界上最好的TestStand中文学习资源。我非常欣赏作者在撰写本书的过程中所表现出的勤奋、主动和热情,也期望本书能帮助更多的开发者在使用TestStand构建他们的系统中获益。
James Grey
NI公司研发部首席工程师,TestStand之父