标题：可靠性测试
可靠性测试的分类
一、软件可靠性测试
二、硬件可靠性测试
软件可靠性测试
概念也称软件的可靠性评估，指根据软件系统可靠性结构(单元与系统间可靠性关系)、寿命类型和各单元的可靠性试验信息，利用概率统计方法，评估出系统的可靠性特征量。
软件可靠性是软件系统在规定的时间内以及规定的环境条件下，完成规定功能的能力。一般情况下，只能通过对软件系统进行测试来度量其可靠性。
测试方式测试可靠性是指运行应用程序，以便在部署系统之前发现并移除失败。因为通过应用程序的可选路径的不同组合非常多，所以在一个复杂应用程序中不可能找到所有的潜在失败。但是，可测试在正常使用情况下最可能的方案，然后验证该应用程序是否提供预期的服务。如果时间允许，可采用更复杂的测试以揭示更微小的缺陷。
使用组件压力测试
压力测试是指模拟巨大的工作负荷以查看应用程序在峰值使用情况下如何执行操作。利用组件压力测试，可隔离构成组件和服务、推断出它们公开的导航方法、函数方法和接口方法以及创建调用这些方法的测试前端。对于那些进入数据库服务器或一些其他组件的方法，可创建一个提供所需格式的哑元数据的后端。测试仪器在观察结果的同时，反复插入哑元数据。
这里的想法是在隔离的情况下，对每个组件施加远超过正常应用程序将经历的压力。例如，以尽可能快的速度使用 1 – 10,000,000 循环，查看是否有暴露的问题。单独测试每个 DLL 可帮助确定组件的失败总次数。
对于分布式 Web 应用程序，Microsoft 提供“Web 应用程序压力工具”。有关更多信息，请参见“Microsoft Web Application Stress Tool”（Microsoft Web 应用程序压力工具）.如果您购买了 Visual Studio .NET 企业版，还会提供另一个名为 Application Center Test 的工具，它用来预览 Application Center 2000 中某些技术的介绍性信息。
使用集中压力测试
对每个单独的组件进行压力测试后，应对带有其所有组件和支持服务的整个应用程序进行压力测试。集中压力测试主要关注与其他服务、进程以及数据结构（来自内部组件和其他外部应用程序服务）的交互。
集中测试从最基础的功能测试开始。您需要知道编码路径和用户方案、了解用户试图做什么以及确定用户运用您的应用程序的所有方式。
测试脚本应根据预期的用法运行应用程序。例如，如果您的应用程序显示 Web 页，而且 99% 的客户只是搜索该站点、只有 1% 的客户将真正购买，这使得提供对搜索和其他浏览功能进行压力测试的测试脚本才有意义。当然，也应对购物车进行测试，但是预期的使用暗示搜索测试应在测试中占很大比重。
在日程和预算允许的范围内，应始终尽可能延长测试时间。不是测试几天或一周，而是要延续测试达一个月、一个季度或者一年之久，并查看应用程序在较长时期内的运行情况。
使用真实环境测试
在隔离的受保护的测试环境中可靠的软件，在真实环境的部署中可能并不可靠。虽然隔离测试在早期的可靠性测试进程中是有用的，但真实环境的测试环境才能确保并行应用程序不会彼此干扰。这种测试经常发现与其他应用程序之间的意外的导致失败的交互。
需要确保应用程序能够在真实环境中运行，即能够在具有所有预期客户事件配置文件的服务器空间中，使用最终配置条件运行。测试计划应包括在最终目标环境中或在尽可能接近目标环境的环境中运行应用程序。这一点通常可通过部分复制最终环境或小心地共享最终环境来完成。
使用随机破坏测试
测试可靠性的一个最简单的方法是使用随机输入。这种类型的测试通过提供虚假的不合逻辑的输入，努力使应用程序发生故障或挂起。输入可以是键盘或鼠标事件、程序消息流、Web 页、数据缓存或任何其他可强制进入应用程序的输入情况。应该使用随机破坏测试测试重要的错误路径，并公开软件中的错误。这种测试通过强制失败以便可以观察返回的错误处理来改进代码质量。
随机测试故意忽略程序行为的任何规范。如果该应用程序中断，则未通过测试。如果该应用程序不中断，则通过测试。这里的要点是随机测试可高度自动化，因为它完全不关心基础应用程序应该如何工作。
可能需要某种测试装备，以驱使混乱的、高压力的、不合逻辑的测试事件进入应用程序的接口中。Microsoft 使用名为“注射器”的工具，使得以将错误注射到任何 API 中，而无需访问源代码。“注射器”可用于：模拟资源失败，修改调用参数，注射损坏的数据，检查参数验证界限，插入定时延迟，以及执行许多其他功能。
硬件可靠性测试
也称产品的可靠性评估，产品在规定的条件下、在规定的时间内完成规定的功能的能力。产品在设计、应用过程中，不断经受自身及外界气候环境及机械环境的影响，而仍需要能够正常工作，这就需要以试验设备对其进行验证，这个验证基本分为研发试验、试产试验、量产抽检三个部分。可靠性试验包括：老化试验、温湿度试验、气体腐蚀试验、机械振动试验、机械冲击试验、碰撞试验和跌落试验、防尘防水试验以及包装压力试验等多项环境可靠性试验。
可靠性测试项目
可靠性测试是为了保证产品在规定的寿命期间内，在预期的使用、运输或储存等所有环境下，保持功能可靠性而进行的活动。是将产品暴露在自然的或人工的环境条件下经受其作用，以评价产品在实际使用、运输和储存的环境条件下的性能，并分析研究环境因素的影响程度及其作用机理。通过使用各种环境试验设备模拟气候环境中的高温、低温、高温高湿以及温度变化等情况，加速反应产品在使用环境中的状况，来验证其是否达到在研发、设计、制造中预期的质量目标，从而对产品整体进行评估，以确定产品可靠性寿命。一通检测实验室将可靠性测试可分为机械和环境两大块。可靠性测试项目如下：[1]
序 号
测试项目
试验范围
1
振动试验 Vibration Test
水平、垂直振动vertical&horizontal vibration，正弦Sine、随机Random、正弦+随机Sine+Random
2
机械冲击试验 Mechanical Shock Test
5000m/s2（500g）
3
碰撞试验 Collision Test
250kg，50m/s2～300m/s2
4
包装跌落 Packing Drop
跌落姿态Drop Gesture：角Angle、棱Corner、面Surface
5
模拟运输 Simulation Transportation
三级公路Tertiary Hignway：35km/h(140/h)Max Load：1500kg
6
抗压强度 Compressive Strength
最大压力Max Pressure：5吨ton
7
IP Range
防尘 Dustproof
IP1Y～IP6Y
防水waterproof
IPX1～IPX8
8
堆码试验 Stack Test
最大承载Max Load：5吨
9
温度/湿度/振动三综合试验Temp./Humidity/Vibration Comprehensive Test
温度：-70℃~150℃， 湿度：25~98%RH，温度变化速率：15 ℃/min Max. Frequency：1~2000Hz，加速度Acceleration：0~60gn，位移 Displacement max（p-p）：50.8mm
10
盐雾试验 Salt-fog Test
中性盐雾NSS、醋酸盐雾AA SS、铜加速醋酸盐雾CA SS
11
气体腐蚀 Gas Corrosion
SO2/H2S/CO2
12
恒温恒湿Constant Temp&Hum.
20℃~95℃，5 ~ 98%RH
13
冷热冲击 Thermal Shock
-65℃~150℃
14
UV老化 UV Aging
UVA340, UVA351,UVB313
15
快速温变 Thermal Cycling
70℃~150℃， 25~98%RH，≦20℃/min