标题：烟雾测试
软件应用
  烟雾测试原理图解　烟雾测试是一组用以确定系统处于稳定状态、所有的主要功能都具备并且能够在 “ 正常 ” 条件下运行的测试用例。烟雾测试不能由测试小组独立来建立；它应该是通过联合的方式，至少是在与开发员达成一致的情况下建立的。烟雾测试的目标是显示稳定性、而不是发现系统的每个 bug ，必须在系统测试环境中运行。 
烟雾测试的名称可以理解为该种测试耗时短，仅用一袋烟功夫足够了。也有人认为是形象地类比新电路板功基本功能检查。任何新电路板焊好后，先通电检查，如果存在设计缺陷，电路板可能会短路，板子烟雾了。 
烟雾测试的对象是每一个新编译的需要正式测试的软件版本，目的是确认软件基本功能正常，可以进行后续的正式测试工作。烟雾测试的执行者是版本编译人员。 
  烟雾测试　在软件工作组中，软件在编写过程中执行 Daily Build 和烟雾测试，如果无法成功编译，或者编译成功但是无法执行，则启动小组讨论直到修改完善错误为止。，内部需要编译多个版本 (Builds) ，但是只有有限的几个版本需要执行正式测试（根据项目开发计划），这些需要执行的中间测试版本，在刚刚编译出来后，软件编译人员需要进行基本性能确认测试，例如是否可以正确安装 / 卸载，主要功能是否实现，是否存在严重死机或数据严重丢失等 Bug 。如果通过了该测试，则可以根据正式测试文档进行正式测试。否则，就需要重新编译版本，再次执行版本可接收确认测试，直到成功。 
新版本的基本功能确认检查的测试，有的公司称为版本健康检查 (Build Sanity Check) 。对于编译的本地化软件新版本，除了进行上面提到的各种测试检查，还要检查是否在新的本地化版本中正确包含了全部应该本地化的文件。可以通过采用文件和目录结构比较工具，首先比较源语言版本和本地化版本的文件和目录中的文件数目、文件名称和文件日期等，这个过程称为版本镜像检查 (Build Image Check) 。其次，分别安装源语言版本和本地化版本，比较安装后的文件和目录结构中的文件数目、文件名称和文件日期等，这个过程称为版本安装检查 (Build Installing Check) 。 
烟雾测试（ smoke testing ）应该在单元测试和结合测试之间进行。
微软方针
建立每日组建  烟雾测试烟雾检测器提供遥测报警每日组建会需要小组成员一起工作，也会鼓励开发人员保持同步。如果新组建的反覆运算发生延迟，则延迟可能轻易地造成具有多个相依性的产品发生未同步的情形。遵循程序，每日建置以及烟雾测试任何已变更或新的二进位码档案，可以确保得到更高的品质。注意事项请将每日组建设定为小组的最高优先顺序。如果因为签入的程式码尚未经过烟雾测试，使得组建损毁了，开发人员和软体测试人员就必须停止所有其他工作，直到问题解决为止。损毁组建应该不会受到太过严格的处罚，但是处罚会着重在要求小组将建置适当的每日组建做为第一优先任务。不需要执行详尽的测试。执行烟雾测试的目的不在于，确保二进位档桉为100%无错误，这会需要相当多的时间。请执行烟雾测试，以较高的层级验证组建。您可以确保二进位档案中的变更不会使一般组建不稳定，或是造成功能上的严重错误。Web测试和负载测试建置Web测试和负载测试时，建议在执行任何长时间且负载过重的测试之前，先执行烟雾测试。在Web测试和负载测试中，烟雾测试属于简短、负载较轻的测试。在针对测试进行效能或压力测试(StressTesting)之前，请使用烟雾测试，验证每个设定都已正确地设定，并且如预期般正常运作。
火灾预警
基于烟雾检测火灾自动报警系统用MC14468离子型烟雾检测报警器、单片机8051、nRF401单片射频收发器构成火灾自动报警系统。由于引入了无线通信技术和FSK（频移键控）调制解调技术为核心nRF401射频收发器，使系统性能大大提高，尤其是使系统报警更具实时性和可靠性。系统要求  烟雾测试现代建筑特点是楼层不断加高，这主要是从缓解城市用地紧张角度出发，同时还便于集中供电、供热、供气，便于集中控制和管理。现在，不论是普通型（比如民用住宅）还是豪华型（比如高级宾馆）高层建筑，都日益重视防火和安全技术普及应用。因为其楼层多、人员密集，如果发生火灾，疏散困难，扑救也困难，势必造成严重人员伤亡和财产损失。为了保障高层建筑安全可靠，必须设计出具有可靠性高、实时性火灾自动报警与消防系统，其要求是：（1）当有火情发生时，能以最快速度检测报警，并能检测火情发生具体地点（特定地址编码）；（2）经查实确认后，能及时通报消防部门灭火；（3）系统本身应有自身故障检测功能，如系统欠电压报警和自检功能等，保证自动报警系统功能完；（4）较高系统抗干扰能力，防止系统发生误报警。目前，虽然已经有多种火灾自动报警系统，但大多还属于脱机方式，最终要靠人来联系消防部门，往往由于不能及时报警而造成重大损失。如果能够以在线方式直接工作，将很大程度上减轻财产损失和人员伤亡。我们正是着眼于这一问题，力图从根本上解决脱机信号传输方式存在问题，直接将信号通过无线传输技术发送给主控室或消防部门，达到第一时间救火、灭火目。系统总体结构  烟雾测试本系统由两部分组成：检测发射部分和接受控制部分，其结构如图1和图2所示。二者均采用单片机控制，系统结构简单，容易实现。由于采用了nRF401单片射频收发器，从而达到了无线传输目，能迅速发出报警信号，方便及时控制火情。检测发射端和接收控制端选用了目前市场上已经成熟高性能芯片，其外围电路结构简单，实现容易，可靠实用。系统由三大芯片互相配合构成，检测装置采用了Motorola公司生产具有声光报警电路MC14468芯片，能实现多点并行检测，配合外围电路可构成多点烟雾报警系统，其应用电路如图3所示。无线收发器采用美国Nordic公司最新推出基于无线通信nRF401型单片射频收发器，它采用了无线通信和FSK（频移键控）调制解调技术，工作频率稳定且抗干扰能力强，不需要对数据进行编码，外围电路简单，使用方便，其应用电路如图4所示。由于采用低发射功率和高接收灵敏度设计方案，因此不受无线电管理条例限制，无须办理许可证。nRF401引入是本系统突出特点之一，它极大提高了系统实时性，这对安全系统是相当重要。单片机采用8051，它不但是MC14468与nRF401之间桥梁，还起着控制各芯片时钟周期相互配合作用，这也是相当重要一环。由于本系统整体结构简单，软件容易实现，因此不需要对8051进行特别扩展。发射部分  烟雾测试MC系列芯片MC14468为离子型烟雾检测报警芯片，是目前市场上很流行集火灾检测与报警于一体智能传感器。当检测到烟雾颗粒时，它能驱动其外围连接压电陶瓷蜂鸣器或压电式扬声器发出报警声，与此同时，还驱动发光二极管（LED）以1Hz频率闪烁发光，利用声光报警达到烟雾报警最佳效果。 MC144681脚（检测输出端）直接联接单片机INT0，当检测到烟雾时，其输出高电平通过INT0控制单片机内部定时器T0工作，定时90ms，T0溢出中断，进入中断服务程序，通过串口发送数据（房间号或之前对该系统有意义编码）给单片射频收发器nRF401。在检测到烟雾时，MC14468自身100mV滞后电压会防止其他外界因素（如飞虫）造成误报警，辅以单片机产生90ms延时，更能提高系统可靠性。每次T0记时开始时，要由软件重新置初值，从而不会由于90ms期间MC14468管脚1上信号消失或变低而导致下次运行出错。nRF401串行口直接和单片机串行口连接（DIN接TXD，DOUT接RXD），TXEN端高/低电平由软件设置，可实现nRF401发射模式与接收模式之间相互切换。当需要发射数据时，由晶振电路产生4MHz频率作为其内部锁相环基准频率，经锁相环和压控震荡器进行N倍频后，中心频率f0成为433.92MHz或434.33MHz（双频道），调制后，f=f0±△f=f0±15kHz（该芯片调制度为±15kHz），最后经功率放大器放大后从PCB天线上发射出去。接收部分nRF401从PCB天线上接收到调频信号时，单片机置TXEN端为低电平，功率放大器被关断从而进入接收状态。调频信号依次经低噪声放大器放大，经混频器（其作用是抵消本机发送器与接收器之间高频干扰）变成中频，再经带通滤波器滤波和调制器解调后，成为数据输出。这时单片机切换到发射模式，回送握手信号，nRF401把得到数据输送给单片机，经处理后从P1口输出到LED上显示（火情来源地信息），同时驱动报警器报警。相比于检测发射端电路，接收控制端电路更简单。各管脚引线方法两者基本相同，只是软件实现稍有不同。它可直接采用多位LED显示，不用扩展任何接口。系统软件设计  烟雾测试初始化主要是指对定时器工作方式寄存器、中断允许寄存器、串口工作方式寄存器等设定。当检测到有烟雾时，先由定时器T0定时90ms，在此期间，如一直能检测到烟雾，确认有火情存在，T0溢出中断，开始发送数据（可以是火情地址编码），经由nRF401PCB天线发射出去。INT0被设置为下降沿触发，如果90ms期间MC14468管脚1信号消失或变低，都会引起外部INT0中断，计数器重新置初值。当接收控制端接收到收据时，回送握手信号，以示发送下一帧数据，同时控制压电陶瓷蜂鸣器报警，并控制LED显示数据；如没接收到，即检测发射端没接收到应答信号，则重新发送，直到接收到为止。TXEN端高/低电平由软件设置，可实现nRF401发射模式与接收模式之间相互切换。程序主要采用汇编语言，运用自上而下设计思想，总体分为两部分，如流程图5所示。整个软件系统有主程序和中断程序、显示程序、延时程序等子程序。主程序主要是对系统初始化以及检测处理，中断程序主要是发送数据并通过nRF401发射出去，显示模块实现功能是接收数据并送LED显示，同时启动报警，延时程序是为了nRF401发射模式与接收模式之间相互切换时序需要。 由MC14468、8051、nRF401三大芯片组成火灾自动报警系统，具有功能强、灵活性高、可靠性、抗干扰能力强、实时性高等优点，系统整体结构简单、容易实现、实用方便，符合安全系统要求。