微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 蓝牙个人局域网的应用测试步骤详解

蓝牙个人局域网的应用测试步骤详解

时间:09-08 来源:互联网 点击:

  通信协议与应用的测试是通信领域中非常关键和难解决的问题,它已经成为通信协议工程学中最活跃的领域之一。测试中两类最基本测试包括一致性测试和互操作性测试。一致性测试是互操作性测试的必要条件。蓝牙硬件产品的测试主要是互操作性测试和性能测试,由提供商完成;而协议软件既有一致性测试,又有互连测试和性能测试;对于应用程序来说,一致性测试仅仅停留在理论阶段,但互连测试和性能测试是必不可少的。因此,完成一致性测试一方面可以保证产品的正确性,另一方面可以在出现错误的情况下,帮助实现者去知道错在哪里,如何修正错误。

  本文以蓝牙PAN的互操作性测试模型为例,从工程实际需求出发,运用软件测试的自动化技术,结合协议一致性测试的一般理论和方法说明蓝牙应用的互操作性测试的特点,并总结出一种适用于蓝牙软件模型的应用规范的自动化测试方法。

  测试理论概述

  软件质量是与软件产品满足明确或隐含需求的能力有关的特征和特性的总和(ISO 9126),软件的质量保证一直是软件产业的一个重大课题。随着社会信息化程度的提高,软件应用领域越来越广泛,软件产品也越来越复杂,软件产品质量的优劣也日益受到人们的重视,软件的质量保证已成为开发商和用户关注的焦点,质量保证能力的强弱直接影响着软件业的发展与生存。

  软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的质量。它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。在目前形式化方法和程序正确性证明技术还没有成为实用性方法的情况下,软件测试在将来相当一段时间内仍然是软件可靠性保证的有效方法。因此,研究软件产品测试技术,开发软件自动测试工具,已成为软件质量保证的一个晕重要的任务。

  通信协议的测试方法

  目前协议测试主要包括四种测试:

  ·一致性测试

  一致性的含义是:如果某实际系统与其它实际系统的通信过程符合所用协议的国际标准,则称该实际系统展示了一致性。一致性测试正是用来检测所实现系统与协议规范的符合程度。一致性测试的主要目的是提高不同系统之间能够互通的概率。虽然一致性是保证互通能力的必要条件,但并不是充分条件。即便两个实现都与同一个协议规范一致,它们也有可能完全不能互通。如果两个实现都能与某个协议标准的子集相一致,则这两个系统之间在此情况下互通要比在其它情况下互通容易实现。因此保证协议的一致性是实现协议以及应用互操作性的基础。

  ·互操作性测试

  互操作性测试用来检测同一协议的不同实现版本之间、或同一类协议(如电子邮件协议X.400和sMTP)不同实现版本之间互通能力和互连操作能力。协议上的应用模型的互操作性测试是保证应用程序能否正确实现的重要指标。

  ·性能测试

  它用来检测协议实体或系统的性能指标(数据传输率、连接时间、执行速度、吞吐量、并发度等);

  ·鲁棒性测试

  检测协议实体或系统在各种恶劣环境下运行的能力(信道被中途切断、通信技术掉电、注入干扰报文等)。

  软件测试的自动化技术

  软件测试是检验软件是否产生了正确输出的过程,是通过在测试的实际输出与预期输出(当软件正确执行时的输出)之间完成一次或多次比较来实现的。自动化执行测试用例是自动测试的出发点,然而比较工作是重复性和复杂的任务,是软件测试中可论证的自动化程度最高的任务。常常是从自动化中受益最多的任务。自动执行测试用例会产生大量的输出,通常需要用某些方法验证这些输出,但是并非所有的测试都需要详细比较输出。因此,自动化执行测试用例和自动化比较执行结果是自动测试关注的最主要的两个问题。

  自动化比较按比较的时机来分,可以分为动态比较和执行后比较。动态比较就是在执行测试事例时进行的比较。使用动态比较有助于为测试事例编入一些智能化的功能,使测试事例根据出现的输出采取不同的动作。例如,如果出现意外的输出,则说明测试脚本与测试的软件不一致,因此最好以异常的方式终止测试事例,而不是继续执行。执行后比较是在测试事例运行完毕后执行的比较。这两种比较方式对于测试结果都有决定性作用,因此自动化比较模块的性能对于自动化测试程序的影响至关重要,也是PAN自动测试重点关注的问题。

  PAN的互操作性测试模型的设计

  通用互操作性测试模型

互操作性测试是一致性测试的下一步。一致性测试是验证系统A和系统B都遵从规范X,而互操作性测试则是检验

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top