基于TEmb的嵌入式软件测试V模型研究.docx
- 文档编号:12202538
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:8
- 大小:20.21KB
基于TEmb的嵌入式软件测试V模型研究.docx
《基于TEmb的嵌入式软件测试V模型研究.docx》由会员分享,可在线阅读,更多相关《基于TEmb的嵌入式软件测试V模型研究.docx(8页珍藏版)》请在冰豆网上搜索。
基于TEmb的嵌入式软件测试V模型研究
基于TEmb的嵌入式软件测试V模型研究
摘要:
在分析传统软件测试方法的基础上,针对传统的V模型在测试过程中各阶段相对独立的缺陷,提出改进回归测试和增强各测试阶段间并行性的方案;利用TEmb(TestingEmbeddedsoftware)这种特定的嵌入式系统的结构化测试方法,将TEmb通用元素与改进V模型各阶段相结合,提出了一种较通用的嵌入式软件测试方法。
关键词:
TEmb;软件测试;改进V模型;并行测试
0引言
随着技术的发展,嵌入式软件已经应用于很多领域,比如工业生产、国防建设等等。
应用的不断增长,复杂性的不断提高,使得我们要不断地提高嵌入式软件的复杂性和规模,所以,一种较通用且稳定的嵌入式软件测试方案成为了现实的需求,也使得嵌入式软件测试成为当下测试领域的热点。
现阶段,比较常用的嵌入式软件测试模型主要有V模型、X模型及W模型,其中V模型因其较好地表示出测试和软件构造的各个阶段的关系而被广泛使用。
V模型作为最为常用的软件测试模型,把软件的测试和开发分为不同的阶段,并对其中每一个阶段进行针对性测试,而生命周期——作为TEmb方法通用元素之一,也是将测试和开发分为不同的阶段进行。
V模型的缺陷就是把软件的测试和开发分开执行,忽略了这两者在软件系统中是并行执行的。
本文针对V模型的这种缺陷,结合TEmb方法,提出了一种改进的V模型嵌入式软件测试方案。
1TEmb测试方法
TEmb是一种方法,它能够为特定的嵌入式系统组合恰当的测试方法。
它提供了一种机制,可以从使用任何测试项目的通用元素和一组相关的特定方法中组合出恰当的专业测试方法,这组特定方法和所观察到的嵌入式系统的系统特性相关联。
对每一个单独的测试层次而言,结构化测试的4个要素同样存在(如图1)。
这4个要素也是这样一些主要问题的答案,即“做什么与什么时候做”、“如何做”、“通过什么做”和“由谁做”,具体如下所示:
(1)生命周期(Lifecycle,L)。
它定义必须进行哪些测试以及按照什么顺序执行。
它使测试人员和经理都能把握测试过程。
(2)技术(Technique,T)。
它解决的是如何做的问题,通过制定出标准的方法来执行特定的活动。
(3)基础设施(Infrastructure,I)。
它定义的是测试环境中需要哪些设施,以便能够执行计划中的活动。
(4)组织(Organization,O)。
它定义的是执行计划中活动的人员的角色和所需要的专业技能,以及和其他队友交互的方法。
图1结构化测试过程的4要素
一个基本的思想是,4个基本要素都必须等价体现在测试过程中。
如果其中一个要素被忽略了,那么测试过程会遇到麻烦。
可以将生命周期视为中心要素,它是各要素之间的“粘合剂”。
在生命周期的不同阶段,其他3个要素的应用方式也各不相同。
比如说详细设计活动和测试执行活动以及分析活动需要不同的技术和专业技能。
2传统V模型与改进V模型
2.1传统V模型及其不足
V模型最早由已故的PaulRook在上世纪80年代后期提出。
V模型将测试划分阶段来执行,每个阶段使用一种测试方法,分别对应开发周期中的各个阶段,例如:
单元测试检查代码是否符合原先的详细设计;系统测试检查集成后的产品是否符合需求说明书的要求,每个测试阶段在充分完成后才能进入下一个阶段,并且一旦该阶段完成,理论上是不允许再回来修改和执行的。
正如图2所示,V模型描述了一些不同的测试级别。
左边下降的是开发过程各个阶段,与此相对应的是右边上升的部分是测试过程的各个阶段,这样很容易让人误解测试是在编写代码之后才开始进行的,而实际上软件测试是存在于整个软件开发的过程中的,V模型中各个开发测试阶段都是以独立的方式体现出来,而实际上,每个阶段都是彼此交互的,并没有严格的区分。
该模型仅仅把测试作为软件开发的一个附加阶段,延长了测试在软件周期中的时间和这个系统开发的时间。
图2传统V模型结构
2.2改进V模型及其优点
2.2.1改进V模型概述
模型是一种沟通工具。
测试过程模型能使测试人员配合开发人员更好地工作,提高系统开发的效率。
对于测试过程选择,我们应严格遵循以下几个基本原则:
实用、简单、可扩展。
在改进的模型中,包含有5个测试活动:
测试计划、测试设计与修改、静态测试、动态测试、测试评估。
①测试计划包括验收测试计划、系统测试计划、集成测试计划、单元测试计划;②测试设计包含有验收测试设计、系统测试设计、集成测试设计、单元测试设计;③静态测试包括可行性报告静态测试、需求分析说明说静态测试、详细设计说明书静态测试、代码静态测试;④动态测试包括两个最基本的要素:
被测试程序和测试数据;⑤测试评估就是总结项目的测试结果,以提高测试的过程,评价测试的有效性。
2.2.2改进V模型优点
(1)改进回归测试。
回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的比重,开发的各个阶段都需要进行多次回归测试。
在渐进和快速迭代开发中,新版本的连续发布使回归测试进行得更加频繁。
在改进的测试模型中,增加了从各个测试阶段指向单元测试的箭头,如图3所示表示在该阶段发现并修改错误后回归测试的范围:
均从最底层的单元测试开始着手进行,正确地刻画了回归测试的应用范围,从而保证原有错误的修改以及新错误的避免。
图3局部改进回归测试图4局部增强各测试阶段间并行性
(2)改进各测试间的并行性。
V模型要求各个测试阶段顺序执行,但实际上可以让相邻的两个测试阶段在一定条件下有所重叠,从而提高测试的效率,如图4所示,这种方案在实际测试过程中是常见的,也是可行的。
于是,本文对V模型做了一些修改,重点发掘各个阶段的并行性,同时兼顾回归测试的循环调度,在修改模型的过程中,开发过程的各个阶段仍然按照模型的顺序执行。
对于原来严格按照顺序执行的各个测试阶段,我们允许适当地提前或退后,使得相邻的阶段之间出现部分重叠,从而实现并行测试。
3V模型各阶段与TEmb方法的结合
3.1改进方案概述
(1)生命周期。
基于V模型的测试方法,一般分为4个开发阶段:
即需求分析、概要设计、详细设计、编码和4个测试阶段即单元测试、集成测试、系统测试、确认测试。
从改进V模型并发性上不难看出,4个测试过程统一构成测试阶段的同时又分别贯穿于软件开发的各个阶段。
(2)技术。
单元测试处于模块层次,通常采用白盒技术,主要测试分析编码产生的源代码;采用路径覆盖原理,目的是最大程度测试出程序中出现的错误代码。
系统测试属于黑盒测试,应用最为广泛。
从V模型上看,系统测试是产品提交给用户之前进行的最后一轮测试。
(3)基础设施。
在V模型开发的过程中,基础设施是需要整体考虑的,包括:
测试环境即执行测试所需要的设备、测试工具和测试自动化即使测试得以有效执行的设备和办公环境即人员的工作场所。
通常,在开发过程的前期,没有大量的硬件工测试人员使用,而在后期,模拟器和原型必须被更新的原型甚至是实际部件所取代,所以在不同的阶段需要不同的测试环境。
测试工具可以为许多种测试活动提供支持。
(4)组织。
描述了各种测试角色的组织、管理和组织结构的组成模块,并不需要完整的建立所有模块,而是根据测试层次、测试对象大小、组织文化等因素来选择测试角色、人员和管理的最优组合。
在系统测试或验收测试这些高层次测试时,大部分组成模块在许多项目中都需要。
对于低层次测试,一般只需要某个模块的一个分支。
因此,需要选择最优的测试组织。
3.2实例分析
大型软件的结构往往非常复杂,仅从模型示意图很难看清楚,因此,本文结合具体的项目——某公司“智能小区管理系统”进行分析,主要比较改进模型的时序结构和最终时间开销,为新模型的优越之处提供例证。
为了使实例简洁易懂,本文仅包含单元测试和集成测试两个阶段。
“智能小区管理系统”主要分为3个模块:
扫描模块、漏洞库模块和界面模块。
其中扫描模块包括:
语法分析、功能接口、插件调度、数据输入和进度输出模块;漏洞库模块包括漏洞测试和插件测试;界面模块包括:
任务下达、任务参数设置、用户管理和日志管理模块。
各单元测试间是独立的,可并发测试。
时间长度比较悬殊,从几天到几十天不等。
时间最长的是功能漏洞测试模块,时间长度为10天。
集成测试模块分为漏洞库模块集成和扫描模块与界面模块集成,时间最长的是15天。
综合所有时间分布,利用V模型绘出时间分布图,如表1所示。
由表1可见,完成所有单元测试后开始集成测试,总耗时为10+15=25天。
可见,单元测试很长时间都处于等待状态,造成很大浪费。
由此,根据本文提出的该进方案,完全可以让它们之间有所重叠。
具体措施有以下两条:
①把某些需时较多的单元测试推迟到集成测试阶段执行;②但涉及到的单元测试完成以后马上进入集成测试,不要求所有集成测试在同一时间进行。
综上,绘出改进V模型时间表2。
表1V模型时间调度
单元测试[]天数[]集成测试[]天数
语法分析[]4
功能接口[]6
插件调度[]2
数据库输入[]1
进度输出[]1
漏洞测试[]10
插件测试[]3[][]漏洞库模块测试集成[]10
任务下达[]2
任务参数设置[]2
用户管理[]1
日志管理[]1[][]扫描模块和界面模块集成[]15
表2改进V模型时间调度
单元测试[]天数[]集成测试[]天数
语法分析[]4
功能接口[]6
插件调度[]2
数据库输入[]1
进度输出[]1
插件测试[]3
任务下达[]2[][]漏洞库模块测试集成包含“漏洞测试”单元测试[]14
任务参数设置[]2
用户管理[]1
日志管理[]1[][]扫描模块和界面模块集成[]15
分析两张表格可以得出,扫描测试和界面测试所涉及到的测试可以在6天内完成,其对应的集成测试可以在第7天开始执行,不过漏洞库模块集成测试时间相应地增加的4天,所以现在单元测试和集成测试所需时间为6+15=21天,节约了4天的时间,从而证明改进的方案是有效的。
4结束语
TEmb是一种全新的嵌入式软件结构化测试方法,回答了“做什么、什么时候做、如何做、用什么方法做和谁去做”的问题。
TEmb虽然无法对测试过程进行细节跟踪,但让我们可以对整个测试过程的轮廓有所了解。
同时对于全面有效地组织和控制嵌入式软件测试过程提供了一套解决方案。
本文首先介绍了传统V模型,在分析其不足的基础上,对其进行改进,提出优化各测试阶段间回归测试和测试并行性的观点,并结合TEmb方法的思想,在测试各个阶段提取这种方法的通用要素,提出了一套相对特定的嵌入式软件测试方案。
尽管结合了TEmb方法,但是嵌入式软件的系统相对独立和复杂,比如算法、输入输出接口、安全特性等等限制条件,使得嵌入式软件测试必将成为软件测试领域一项极复杂但是又必要进行的一项工作。
参考文献:
[1]BARTBROEKMAN,EDWINNOTENBOOM.TestingEmbeddedSoftware[M].北京:
电子工业出版社,2003.
[2][美]ELFRIEDEDUSTIN.AutomatedSoftwareTesting——Introduction,ManagementandPerformance[M].北京:
清华大学出版社,2010.
[3][美]PAULC.JORGENSEN.软件测试[M].北京:
机械工业出版社,2008.
[4]戴丽萍,杜琼.一种软件测试V模型的改进型及其应用[J].计算机与现代化,2006(7).
[5]周海学,陈蓓蓓.软件测试过程模型的改进—并行V模型[J].计算机工程与应用,2009(24).
[6]刘淑平,庞灵.基于TEmb和V模型的嵌入式软件测试方案[J].DesignandResearch,2007(12).
[7]常瑞花,张力.基于TEmb的嵌入式软件系统结构化测试研究[J].设计与研发,2007(07).
EmbeddedSoftwareTestingResearchBasedVmodelandTEmb
Abstract:
BasedontheanalysisoftraditionalsoftwaretestingmethodsandthedefectwhichisexposedbythetraditionalVmodelinallindependentstagesoftestingprocess,thepaperwillproposeanimprovedregressiontestingandamethodwhichwillenhanceparallelismbetweenthevarioustesting;thentousetheTEmb(TestingEmbeddedsoftware)whichisaparticularstructuretestingmethodsoftheembeddedsystem,andcombinecommonelementsofTEmbwiththevariousstagesofimprovedVmodel,ultimatelythepaperproposeamoregeneralembeddedsoftwaretestingmethodagain.
KeyWords:
Temb;SoftwareTesting;ImprovedVModel;ProceedTesting
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 TEmb 嵌入式 软件 测试 模型 研究