数码相机软件系统测试方法研究

2017-08-07 14:27:36付浩秦浩
电子测试 2017年10期
关键词:测试用例软件测试数码相机

付浩,秦浩

(中国航空计算技术研究所,陕西西安,710068)

数码相机软件系统测试方法研究

付浩,秦浩

(中国航空计算技术研究所,陕西西安,710068)

数码相机系统是航拍无人机的关键部件,其性能直接影响航拍无人机的性能。数码相机软件则是数码相机系统的神经中枢,其质量直接关系航拍任务完成度。本文分析数码相机系统的软件特点,总结测试难点,提出了一种针对状态组合数量巨大的软件的测试设计方法。

数码相机;软件测试;系统测试;测试需求分析;测试设计;测试充分性分析

0 引言

数码相机系统是航拍无人机的关键部件,用来实时获取选定目标的图像、图形数据,并能通过激光测距,实现对目标的快速定位。数码相机系统作为该系统的核心,其性能和可靠性对整个航拍无人机的任务执行效率和稳定性至关重要。为了保证数码相机系统控制软件的质量和可靠性,降低软件的出错概率,需要对其进行充分、有效的测试。

由于在执行航拍任务的过程中对不同地区中目标的关注程度会有所不同,并且对同一地区中目标的关注程度也可能发生改变,故在执行任务的过程中数码相机会进行多次系统工作状态转换以及拍摄模式的切换,任务的复杂性导致该软件的复杂程度高,进而软件测试难度大。本文以航拍无人机数码相机软件系统测试为基础,在分析系统工作状态转换和拍摄模式组合的切换关系的基础上进行测试设计,并分析该测试方法的充分性。通过采用这种测试方法,使具有复杂系统工作状态和拍摄模式组合的数码相机软件系统测试的思路更清晰,测试的充分性也同时得以保证。

1 航拍无人机数码相机系统概述

航拍无人机数码相机系统具有复杂的系统工作状态转换以及拍摄模式的切换关系,而作为典型的嵌入式实时软件,它必须能快速响应外部要求的系统工作状态转换和拍摄模式切换等激励。

数码相机系统的基本工作过程是,在系统启动后,进入系统启动状态(此状态为系统自检状态,在自检完成前无法进入其他系统工作状态)。在自检完成后自动进入备份态,在备份态对系统控制人员根据航拍任务的实际情况发送的命令进行解析和执行,这些命令包括拍摄模式的切换和系统工作状态转换。

拍摄模式有5种:可见光/不可见光切换【T1】、正向/负向连续变焦切换【T2】、大/小视场切换【T3】、是/否激光测距切换【T4】、是/否紧急测距切换【T5】。

系统工作状态有10种:系统启动状态【A0】、备份态【A1】、人工扫描态【A2】、自动扫描态【A3】、姿态稳定态【A4】、跟踪态【A5】、搜索态【A6】、跟踪/搜索态【A7】、锁定态【A8】和回收态【A9】。

在整个任务过程中还要进行视频图像的压缩和存储,并反馈当前系统工作状态。

数码相机系统在各工作状态下可实现在各种拍摄模式组合下进行航拍,因此数码相机系统不仅能在不同系统工作状态间转换,还可在多种拍摄模式组合之间进行切换。

针对数码相机系统工作状态转换需要特殊说明的是:(1)从系统启动状态A0只能进入备份态A1,无法进入其他任何状态;(2)从任何状态都无法再次进入系统启动状态A0;(3)在回收态A9不接收任何指令,无法进入任何状态。故数码相机系统控制软件的状态转换序列包括75种,其转换关系见图1(其中A2、A3、A4、A5、A6、A7、A8任意两个状态间可进行直接切换,在图中未画出)。

2 测试需求分析

数码相机软件作为数码相机系统的神经中枢,其质量对完成航拍任务十分关键,软件测试是衡量软件质量水平最直接的办法,也是软件质量保证的关键步骤。其中,功能测试是最重要的工作内容之一,即对该软件的10种系统工作状态之间的转换以及各种系统工作状态下不同拍摄模式组合之间的切换进行完整的测试,才能达到对该软件的功能进行充分测试的目的,这即为该数码相机软件系统测试的难点。本文就是阐述针对该难点的测试方法。

图1 数码相机系统工作状态转换关系图

依据被测软件需求,从测试的角度出发,确定被测软件的测试属性,明确被测系统的输入输出及其映射关系,建立被测软件系统测试需求。该软件系统测试应覆盖图1中给出的工作状态转换关系的全部75种状态转换序列,且每个状态转换序列还需覆盖各状态转换时所有可能的拍摄模式组合的切换情况。另外,测试中还要覆盖到状态转换中禁止切换的状态转换序列(如无法从回收态转入备份态等25种序列)。

表1 数码相机系统工作模式

3 测试设计

基于上述测试需求分析,对数码相机系统的测试用例设计从由当前工作模式变换到后续工作模式的思路来进行考虑。

在对测试难点进行详细分析后,在测试设计中首先将系统工作状态转换和拍摄模式组合的切换分成两个方面进行考虑:①系统工作状态的转换方面,其测试设计策略是考察所有能够转换的情况和所有不能转换的情况,即要考察所有系统工作状态转换的全组合。②拍摄模式组合的切换方面,在分析软件特点后发现5类拍摄模式的切换没有关联关系,并且在软件实现上是从各自不同的接口进行输入,故可将5类拍摄模式的切换分别进行考察,这样就将拍摄模式组合后进行切换转化为单个拍摄模式各自的切换,无需再考虑它们组合后再切换的情况。

基于以上策略,对整个软件系统工作状态转换和拍摄模式组合切换的测试已经分解成2部分。(1)系统工作状态的转换,(2)5种拍摄模式的切换。对系统工作状态转换的测试用例设计按照系统工作状态转换的全组合进行,参照表2进行测试用例设计,需设计(10×10)=100个测试用例。由于对拍摄模式组合的切换已经转化为对每个拍摄模式的切换,而每个拍摄模式只包含2种选择,故只需对每个拍摄模式设计这2个测试用例来测试该条件下的2种模式的切换即可,共需设计2×5=10个测试用例。

表2 工作状态转换测试表

4 测试方法评价

以上测试方法将整个软件按功能进行分解后测试,大大地减少了测试工作量:由于每次工作模式转换要考虑系统工作状态和拍摄模式组合,而系统工作状态又包含10种可能的选择,拍摄模式包含5类,每类拍摄模式有两种选择,故拍摄模式组合有25种,即每个系统工作状态下都有25种拍摄模式组合情况,组合后的“工作状态&拍摄模式”有10*25种。如果将系统工作状态转换和拍摄模式组合切换综合后进行全组合的测试,需要(10*25)2=102400个测试用例,这样的测试工作量是令人难以接受的。在采用功能分解后,只需设计110个测试用例即可。

使用了功能分解的方法后,需要判别测试用例集是否足够充分。在系统工作状态转换上,由于是进行了系统工作状态转换的全组合测试,从而保证了系统工作状态转换方面的测试充分性。在拍摄模式组合切换上,由于5种拍摄模式之间并没有相互关联关系,故单独对各拍摄模式的切换进行测试也保证了拍摄模式组合后再切换方面的测试充分性。这样就保证了整个系统测试的充分性。

5 结束语

针对软件特点进行功能分解,然后对各功能独立进行测试的方法对数码相机软件进行测试,在保证了测试充分性的前提下,大大降低了测试工作量,提高软件测试效率。该方法能够应用于状态组合数量巨大软件的测试工作,是一种实用、有效的软件测试方法。

[1]周伟明.软件测试实践[M].电子工业出版社.2008.

[2]郁莲.软件测试方法与实践[M].北京:清华大学出版社,2008.

[3]高猛.实时嵌入式软件系统测试需求建模研究.航天控制[J],2010,28(5):64-69.

A System Testing Method for Software Embedded in Digital Camera System

Fu Hao,Qin Hao
(Aeronautic Computing Technique Research Institute,Xi’an Shaanxi,710068)

Digital Camera System(DCS) is an important part in the pilotless aircraft, and its performance directly affects the capability of the aircraft As the nerve center of the DCS, the quality of software embedded in DCS directly affects the total performance of the aircraft. This paper analyzes the characteristics of the software, summarizes the difficulties of software testing,give a test design method aimed to the software which has a great amount of states combination

digital camera system;software testing;system testing;test requirements analysis;test design;test adequacy analysis

猜你喜欢
测试用例软件测试数码相机
这个“数码相机”不一般,全球最大
科学大众(2020年23期)2021-01-18 03:09:14
基于SmartUnit的安全通信系统单元测试用例自动生成
基于OBE的软件测试课程教学改革探索
计算机教育(2020年5期)2020-07-24 08:53:20
EXCEL和VBA实现软件测试记录管理
电子制作(2018年16期)2018-09-26 03:27:18
基于混合遗传算法的回归测试用例集最小化研究
为什么数码相机不用胶卷也能照相
关于软件测试技术应用与发展趋势研究
电子测试(2017年15期)2017-12-18 07:19:20
软件测试工程化模型及应用研究
基于依赖结构的测试用例优先级技术
软件回归测试用例选取方法研究