1. 硬件测试的目的
测试是为了发现错误而执行操作的过程
测试是为了证明设计有错,而不是证明设计无错误
一个好的测试用例是在于它能发现至今未发现的错误
一个成功的测试是发现了“至今未发现的错误”的测试
2. 硬件测试的目标
关注点:产品规格功能的实现,性能指标,可靠性,可测试性,易用性等。
实现的保障:产品的零缺陷构筑于最底层的设计,源于每一个函数、每一行代码、每一部分单元电路及每一个电信号。测试就是要排除每一处故障和每一处隐患,从而构建一个零缺陷的产品。
MTBF不是计算出来的,而是设计出来的。
3. 硬件测试的意义
测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误 的分布特征,可以帮助项目管理者发现当前设计过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。
没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。
4. 名词解释
l MTBF(Mean Time Between Failures):平均故障间隔时间又称平均无故障时间。指可修复产品两次相邻故障之间的平均时间,记为MTBF。MTBF是衡量一个产品(尤其是电器产品)的可靠性指标。单位为“小时”。它反映了产品的时间质量,是体现产品在规定时间内保持功能的一种能力。
l FMEA(Failure Mode and Effect Analysis)失效模式和效果分析:是一种用来确定潜在失效模式及其原因的分析方法。
l 可用度(A-availability):产品在一未知时刻,需要执行任务时,处于可工作或可使用状 态的概率。
l MTTF(MTTF-mean time to failure)平均失效前时间 :表示观察到下次失效的期望的时间。
l MTBR(MTBR-mean time between removals) 平均拆卸间隔时间:系统寿命单位总数与从该系统上拆下的产品总次数之比。
l MTTR(MTTR-mean time to repair)平均修复时间:是在规定的时间内,修复性维修所造成的累积工作时间除以在同 一时间内所完成的修复维修活动总数得到的结果。
拆卸时间+定位时间+修理时间+安装时间
5. 测试前准备
FMEA分析
功能框图
严重等级分析
环境定义
6. 故障处理
<1>故障检测
》 故障检测是指明确到故障已经发生的过程,是故障处理流程的前 提。
》 这里提到的检测一般是指系统在故障发生后的自动的检测,一般 不需要人进行操作。
》 在进行故障检测的时候需要结合软、硬件故障检测方法。
》 某些故障可能需要多次检测确认,避免进行误告警和误操作
<2>故障定位
》 故障定位是指将故障定位到现场最小可更换单元的过程,是故障 维修的基础。
》 故障定位的目的是为了便于维修工程人员进行现场的故障维修和 返修件的故障处理。
<3>故障隔离
》 故障隔离一般是将故障限定到可更换单元内部的过程。故障隔离 的目标是将故障能够限定在越小的功能单元。
》 故障隔离是为了将故障的影响范围限制在尽可能小的范围之内。
》 故障是无法避免的,如何将故障产生的影响降到最低,是故障隔 离所要考虑的关键。
<4>故障恢复
》 故障恢复是将系统的功能状态恢复到故障发生前状态的过程,是 客户最关心的也是系统稳定运行的关键步骤。
》 常用的故障恢复手段有复位、冗余倒换、重发等。
》 故障恢复尽量需要做到自动进行,以降低对用户的影响。
7. 测试计划
描述该测试计划所应达到的目标如下(可依据项目的实际要求做 适当调整):
》 所有测试需求都已被标识出来;
》 测试的工作量已被正确估计并合理地分配了人力、物力资源;
》 测试的进度安排是基于工作量估计的、适用的;
》 测试启动、停止的准则已被标识;
》 测试输出的工作产品是已标识的、受控的和适用的。
测试计划一般应该包含一下的内容:
》 测试对象,明确版本,范围,任务划分
》 角色和职责
》 测试和不被测试的特性原因
》 测试通过与否的标准
》 测试任务安排
》 测试结束的交付件
》 工作量评估
8. 测试用例
》 测试用例更多的是需要描述测试方法,测试步骤,测试的预期效 果,需要达到的指标。需要更加详细的对每一条测试项目进行描述。
》 测试用例是直接用来指导测试的,所以对测试项目的描述需要更 具体,更便于参考操作。
测试用例的一般格式:
l 测试用例编号
l 测试项目(模块或单元)
l 测试子项目(子项目描述)
l 测试级别(必测、选测、可测)
l 测试条件(环境、仪器等相关要求)
l 测试步骤和方法(具体细致的操作方法)
l 应达到的指标和预期效果
l 备注
9. 测试需求的来源
》 产品设计功能
根据功能的实现,分别对实现该功能的各个环节进行测试,从硬件、 单板软件、高层软件到用户界面,只有各个环节都畅通无阻,才能保 证该功能的正常实现。
》 可靠性
备份、倒换、插拔、互助、自愈等
》 指标性能需求
指标包括电接口指标、光接口指标、时钟指标、传输指标和指标容 差, 指标一般都有相关的标准可查。性能一般可从容量、处理能力、容限 等方面去考虑,一般是测试异常输入条件下的单元、模块、系统处理 情况。性能测试的异常条件主要是指边界条件、异常条件及故障相关性。
》 组网
组网需求:电信网组网、异种厂商的互联
》 应用环境
应用环境一般可从以下几个方面考虑: 高温、低温、高低温交变、盐雾、湿热、防尘 接地、电源、震动、冲击、存储、运输、电磁兼容性、断电恢复性
10. 硬件测试种类
(1) 信号质量测试
基本的信号质量测试是通过测试单板上的各种信号质量,根据信 号种类的不同,用不同的指标来衡量信号质量的好坏,并对信号质量的分析,发现系统设计中的不足。
开发人员根据已有的信号质量和时序调试和测试方面的规范和指导书,在单板调试阶段完成对单板信号质量的全面测试并完整记录结果。
测试仪器——示波器
(2) 时序测试
时序测试对板内信号时序进行调试,验证信号实际时序关系是否可靠,是否满足器件要求和设计要求;分析设计余量,评价单板工作可靠性。开发人员根据已有的信号质量和时序调试和测试方面的规范和指导书,在单板调试阶段完成对单板时序(包括逻辑外部时序)的全面调试和测试。
测试仪器——示波器,逻辑分析仪
(3) 功能测试
功能测试是根据硬件详细设计报告中提及的功能规格进行测试, 验证设计是否满足要求。
功能测试是系统功能实现的基本,是需要严格保证测试通过率 的。如被测对象与其规格说明、总体/详细设计文档之间存在任何差异的均需要详细描述。
一般包含,电源、CPU、逻辑、复位、倒换、监控、时钟、业务等。
(4) 性能测试——容限测试
指使系统正常工作的输入允许变化范围。容限测试的目的是通过 测试明确知道我们的设备到底在什么样的条件范围下能够正常工作,薄弱环节到底在哪里。
能否发现和验证器件降额的问题,系统工作允许范围内的临界点上的性能。
(5) 老化测试
》由于电子类产品很多是需要长时间运行的,所以进行长时间的验证测试是很有必要的。
》某些器件应用不当的设计,更容易在长时间的运行中,才会显露出来。
》系统的散热能力也只有在长时间的大功率运行时才容易暴露。
》长时间的运行才容易发生某些被忽略的偶然因素,容易发现某些潜在问题。
长时间的验证具体的时间把握同产品的实际使用情况相关,对于通信产品系统,一般建议测试时间要达到一星期。对于每一个功能模 块的时间要求一般要达到两天。
(6) 一致性测试
一致性测试是指将不同批次的产品分别取样,进行测试验证,考 察产品功能和性能方面的一致性的测试。
为了验证不同生产批次的产品质量和不同批次器件的质量,是否 具有较高的一致性,是否能够满足产品的功能和使用条件要求。
测试要点
》 测试至少要包含3次活以上不同器件批次和生产批次的产品
》 测试项目要包含所有的功能测试项目,和重要的信号质量和时序等 项目
》 重点需要验证长时间的稳定性是否一致
》 如果具备条件,需要验证在环境条件变化时(如高温环境),各样 品的一致性能。
(7) 可靠性测试
(一) EMC电磁兼容性
》 电磁骚扰测试
• 辐射骚扰测试(RE)
• 传导骚扰测试(CE)
• 谐波电流骚扰测试(Harmonic)
• 电压波动与闪烁测试(Fluctuctionsand flicker)
》电磁敏感度测试
• 射频电磁场辐射抗扰度测试(RS)
• 传导骚扰抗扰度测试(CS)
• 电快速瞬变脉冲群抗扰度测试(EFT/B)
• 静电放电抗扰度测试(ESD)
• 电压跌落、短时中断抗扰度测试(DIP/interruption)
• 工频磁场抗扰度测试(PMS)
• 浪涌抗扰度测试(SURGE)
(二) 安规
输入测试 温升测试
耐压测试 接触电流测试
接地连续性测试 异常温升测试
元件异常测试 激光辐射测试
TNV电路和地的隔离测试 TNV电路电压测试
电容放电测试 单板安规审查 TNV电路和其它电路的隔离测试
(三) 环境试验
一般电子类产品涉及的环境测试有以下种类:
》 气候类
低温贮存 高温贮存
低温工作 高温工作
热测试 温度循环
交变湿热 低温极限试验
高温极限试验 噪声测试
》 机械振动类
包装随机震动试验 包装碰撞试验
包装跌落 包装冲击
模拟包装运输试验 实地跑车
随机振动 冲击试验
工作正弦震动 工作冲击试验 地震试验
环境试验注意事项
》 整个系统根据实际情况进行接地,否则不能模拟实际使用情况。
》 保持测试仪器的良好接地,以保证测试人员安全。
》 对于耐受性测试,试验工程师必须在试验现场看守,以防止试验 故障导致的意外事故。并且必须在试验区加危险警告标识。
11. 测试问题解决
站在用户的角度看待测试问题,小问题也是问题。
》产品的最终使用者是用户
》对于一个疑点是否属于问题,最有发言权的是用户
》测试工程师应该站在用户的角度来看待每一个小问题,假设用户看到问题表现后的反应
A. 测试问题等级
》致命:引起系统死机或系统崩溃的问题
》 严重:引起系统某一功能失效且不能简单恢复(如插拔单板)的 问题
》 一般:引起系统某一功能失效但可简单恢复或较难重现的问题
》 提示:从操作或维护的角度发现的问题或建议
B. 测试问题种类
可重现问题每次重现(每次测试故障现象均会重复发生的问题)
偶尔重现(不定期出现的问题,暂时没有发现触发条件)
不可重现问题(问题只出现过一次,在后续的测试过程中没有再次发生)
C. 测试问题定位与恢复
》定位方法
自动定位——系统通过自动检测等手段,可以直接产生相关告警
人为定位——指通过人的现场观察或是借助一定的测试手段可以即可定位。
不可定位——指在现场无法定位,需要借助专用的测试工具,或是专业的人员才有可能定位的问题
》恢复方式
自动恢复、手动恢复、不可恢复(定义参考定位方法)
12. 测试报告
测试报告一般需要包含以下内容:
》测试时间、地点、人员
》测试环境
》测试数据统计
• 测试人员等工作量统计
• 测试项目通过情况统计
• 缺陷统计
• 覆盖率统计
遗留问题处理
》 遗留问题是指测试过程中发生的并且在测试报告时仍没有得到解决的测试问题。测试报告时已经得到解决,并已经过回归验证的测试问题不记入其中。
》 遗留问题的划分需要非常谨慎,必须是长时间无法重现的问题, 或者由于某些特定的因素(成本等),且问题并不严重的才可以通过流程中各环节人员的认可被列为遗留问题。
》 遗留问题需要定时跟踪清理,且对于一款产品需要制定一个遗留问题的数量限制。
》 即使是遗留问题也要明确跟踪的责任人
》 遗留问题是可以在后续被重新激活的,一旦问题重现或者条件允 许,需要重新激活解决