概述
随着新产品研制工作的不断发展,计算机及其软件的重要性越来越引起人们的重视。各产品中软件的增加、规模的增大以及复杂程度逐年的提高,对软件的质量和可靠性要求也在不断提高,因此软件的质量已成为产品质量的关键。这就使得软件测试的自动化工具市场应运而生。在过去的几年中,市面上出现了大量的测试自动化工具,这些工具都声称能做同样一件事情:自动化测试。但当您在浏览产品资料或观看简单的演示时,您会发现这些测试工具看上去都是极其相似的,让您在评估工具时产生困扰。通过本文您可以很好的了解这些工具产品,为您在评估软件测试自动化工具尤其是动态的测试自动化工具时提供参考。
你不能简单地通过阅读资料表来评估一个测试工具
所有的资料表都是大同小异的。商业用语都是相同的,比如:“行业领导者”、“独一无二的技术”、“自动化的测试”和“领先技术”等。屏幕截图也都是相似的:“条形图”、“流程图”、“HTML报告”和“状态的百分比”,让人看得都麻木了。
什么是软件测试
所有做过软件测试的人都知道测试有很多类型。为简单起见,本文中我们将讨论以下三个方面:
・系统测试:测试完全集成的应用系统
・集成测试:测试集成的子系统
・单元测试:测试一些单个的文件或类
在大家做过的系统测试中,有一些跟最终用户将要做的操作是一样的。请注意我们说的是“一些”,而不是“全部”。导致应用程序运行失败出现bug的最常见的情况是在程序的输入域中输入了预料之外的未经测试过的输入组合。做集成测试的人不多,做单元测试的就更少了。如果你做过集成或单元测试,你很可能会痛苦地意识到从应用程序的其余部分隔离单个文件或一组文件必须生成的测试代码的数量是巨大的。在最严格的测试等级中,测试代码的编写量大于被测程序代码量的情况并不少见。因此,这些级别的测试通常应用于高安全性和高可靠性系统的市场中,比如航空、医疗设备、工业控制、汽车电子和轨道交通等。
那么,到底该从哪些方面、如何客观细致地评估一个嵌入式测试工具呢
・测试工具的基础架构
・解析器和代码生成器
・测试驱动程序
・为关联的函数/方法打桩
・测试数据
・测试数据的自动化生成
・与编译器的集成
・支持嵌入式目标测试
・测试用例编辑器
・代码覆盖率
・回归测试
・报告
・与其它工具的集成
・集成测试
・系统测试
・敏捷测试和测试驱动开发(TDD)
・其它功能
・工具认证