硬件系统测试术语整理
关于测试
测试的目的决定了如何去组织测试。如果测试的目的是为了尽可能多的找出错误,那么测试就应该直接针对设计比较复杂的部分,或是以前出错比较多的位置。如果测试的目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中经常用到的商业假设。
测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前设计过程的缺陷,以便改进。同时,这种分析也能帮助测试人员 设计出有针对性的检测方法,改善测试的有效性。
没有发现错误的测试也是有价值的,完整的测试时评定测试质量的一种方法。
硬件系统测试分为 软件测试 及 硬件测试 两部分。
软件部分可以依据现行软件测试的流行办法来测试。
硬件测试部分分为 硬件基础测试 和 硬件功能级以上测试 两部分。即除了测试各项硬件参数性能是否符合设计要求以外,仍需要测量硬件功能及联动特性是否符合要求。
术语
单元测试
Unit testing,也称为Module testing(模块测试)。是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。
单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
经常与单元测试联系起来的另外一些开发活动包括代码走读(Code review),静态分析(Static analysis)和动态分析(Dynamic analysis)。 静态分析 就是对软件的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和执行。 动态分析 就是通过观察软件运行时的动作,来提供执行跟踪,时间分析,以及测试覆盖度方面的信息。
集成测试
Assemble testing,也叫 组装测试 或 联合测试 。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。
实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。一些局部反映不出来的问题,在全局上很可能暴露出来。
功能测试
Functional testing,也称为Behavioral testing(行为测试)和Black Box testing(黑盒测试),根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。
系统测试
System Testing,是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合系统说明书的地方。这种测试可以发现系统分析和设计中的错误。如安全测试是测试安全措施是否完善,能不能保证系统不受非法侵入。再例如,压力测试是测试系统在正常数据量以及超负荷量(如多个用户同时存取) 等情况下是否还能正常地工作。
冒烟测试
Smoke testing,对一个硬件或硬件组件进行更改或修复后,直接给设备加电。如果没有冒烟,则该组件就通过了测试。在软件中,“冒烟测试”这一术语描述的是在将代码更改嵌入到产品的源树中之前对这些更改进行验证的过程。在检查了代码后,冒烟测试是确定和修复软件缺陷的最经济有效的方法。冒烟测试设计用于确认代码中的更改会按预期运行,且不会破坏整个版本的稳定性。
验收测试
验收测试是部署软件之前的最后一个测试操作。在软件产品完成了单元测试、集成测试和系统测试之后,产品发布之前所进行的软件测试活动。它是技术测试的最后一个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
检验系统说明书的各项功能与性能是否实现和满足要求。常见的有α测试、β测试,都是由用户进行的。
参考链接
1.《集成测试与联调测试的区别》 2.《软件测试方法——单元测试、集成测试、系统测试、确认测试》 3.《浅谈电子产品的硬件测试技术》