软件详细设计文档在动态单元测试过程中的应用Word文档下载推荐.docx
- 文档编号:21846904
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:10
- 大小:455.66KB
软件详细设计文档在动态单元测试过程中的应用Word文档下载推荐.docx
《软件详细设计文档在动态单元测试过程中的应用Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《软件详细设计文档在动态单元测试过程中的应用Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
同时,使用像VectorCAST/C++这样的专业工具,高效进行功能测试的同时,保证了代码的覆盖度,符合ASPICE和ISO26262行业规范要求,并为产品的第三方认证提供便捷有力的支持。
1WHY:
(软件详细设计文档与单元测试的基本关系)
1.1从V模型角度
图1ISO26262里面的V模型
V模型是在快速应用开发(RapidApplicationDevelopment,RAD)模型基础上演变而来,其特点就是它清楚的标识了开发和测试的各个阶段以及他们之间的对应关系;
左边部分是软件开发阶段,右边部分是软件测试阶段。
从上图中我们可以看出,软件详细设计文档对应着软件单元测试,所以要想做好单元测试,就必须有软件详细设计文档作为输入,同时要求测试工程师对软件详细设计文档有着深刻的理解。
软件详细设计文档应在编写代码之前完成,软件代码是对软件详细设计文档的具体实现,软件单元测试则是以软件详细设计为参照,判断软件代码是否符合软件详细设计文档的工作。
1.2软件详细设计文档是测试输入的基础参照之一
图2软件详细设计文档是测试输入的基础参照之一
VectorCAST/C++可以为单元测试和集成测试提供高度自动化的解决方案,能够显著提升开发人员在验证安全和任务关键型嵌入式系统方面的工作效率。
广泛应用于航空电子、医疗设备、汽车、工业控制、铁路和金融行业。
如上图所示,将详细设计文档和单元需求文档结合起来,会大大的提高编写测试用例效率。
特别是对于那些颗粒度较大的“单元需求文档”,需要结合软件详细设计文档,从颗粒度较大的需求提取出有效的部分来进行功能测试。
软件详细设计文档与单元需求文档相辅相成,所以软件详细设计文档在单元测试中有着十分重要的作用。
然后,通过相应的源代码使用VectorCAST/C++工具创建测试工程,接着通过VectorCAST/C++工具为需求测试自定义编写测试用例,同时将需求映射到测试用例,形成测试用例与单元测试需求、测试用例与代码覆盖度之间的双向可追溯性,并且可以在最后的测试报告中体现出来。
1.3快速理解功能需求,降低沟通成本
如果负责该项测试测试的人员对项目内容了解很有限的话,这就免不了与开发人员进行频繁的沟通。
即使是一个公司内部进行测试,只要不是开发人员来进行测试,一般也避免不了与开发人员进行沟通,但是如果有了软件详细设计文档,测试人员可以快速了解开发内容,理解功能需求,降低与开发人员沟通时间与次数,而且能够较完整的完成其单元测试。
图3有无软件详细设计文档对测试周期和沟通次数的影响示意图
2WHAT:
(什么是软件详细设计文档)
2.1详细设计基本概念
详细设计是为了确立每个模块的实现算法、数据结构以及接口定义,用适当的方法表示算法和数据结构的细节。
它通过一些设计描述工具,无歧义的描述过程单位的相关细节。
详细设计产生的主要文件就是软件详细设计文档。
此外,软件详细设计文档一般来源于软件架构设计的进一步分析。
在软件架构设计活动中,设计了软件组件和组件间接口。
软件详细设计则是对软件组件的进一步分解和设计,一般包含三个方面:
软件单元,软件单元的内部逻辑和软件单元间的交互逻辑。
图4软件详细文设计文档包含的内容
2.2详细设计文档基本内容
由于自然语言不具有单义性,所以要进行无歧义的描述软件过程单元细节,就必须使用一些特定的设计描述方法。
详细设计采用的方法一般有程序流程图、HIPO(HierarchyplusInputProcessOutput)图、N-S图等,还有其他描述说明形式(如图5)。
使用这些方法就是来规范和辅助说明算法、数据结构和接口相关细节的。
这些细节涵盖了数据结构定义,全局变量和宏定义描述,动态行为描述(比如任务,中断和需求方案分析等),每个函数的设计(比如输入、输出、流程图、伪代码等)等。
图5软件详细设计文档包含了GetStopSigLevel函数的定义
3HOW:
(软件详细设计文档在VectorCAST/C++工具中的应用)
3.1为测试用例的数据提供依据
图6单元需求文档csv文件
•Key:
FR6
•ID:
•Module:
requirement3
•TitleDescription:
"
Thesignallight_intensityshallbeaninputtolightscontrol.Itsvalueshallrangefrom0to100."
Key
ID
Module
Title
Description
FR6
requirement
3
图7需求文档csv文件中的某条需求
如上图标黄区域,说明了“light_intensity”变量变化范围是0~100。
所以根据这条详细设计文档说明,就可以正确编写测试用例,并保证了测试用例数据是有实际意义的,避免像“light_intensity=120”等这样无意义的赋值。
图8具有意义的测试用例并通过
图9无意义的测试用例并失败
3.2VectorCAST/C++工具RGW功能
图10通过工具实现软件单元需求与测试用例关联
VectorCAST/C++提供一个RGW(RequirementsGateway)功能。
VectorCAST/C++支持与一些需求管理系统Polarion、DOORS、RequisitePro等进行集成,同时支持需求管理系统导出的CSV等格式文件。
对于经过软件详细设计文档印证的需求文档,我们可以按照这些结构文件编写,使需求文档契合VectorCAST/C++工具,使用该功能。
可以实现软件单元需求、测试用例和代码覆盖率之间的可追溯性,并允许将单元需求导入,映射到测试用例。
这样可以帮助测试人员,当需求发生更新或迭代时,能够快速更新测试用例或编写测试用例,提高工作效率。
所以软件详细设计文档,在很大程度上为项目团队提升了测试效率、提升工作的自动化率。
3.3批量生成测试用例
对于那些详细设计文档里的某些函数,若具有一般数学表达式的功能的函数且我们可以事先确定好它的输入与输出的,可以通过VectorCAST/C++工具提供的CSVMapping功能来批量构建测试用例。
图11包含测试所需数据的CSV文件
首先我们根据函数关系确定好一系列的输入值和期望值形成CSV文件,然后将CSV文件加载到工具中,接着确定好数据列与测试用例模板里变量的对应关系,最后选择创建测试用例。
通过上面操作我们就会快速生成一系列的测试用例。
图12对应测试用例模板变量与CSV文件列的关系并生成测试用例
总结:
众所周知,进行单元测试不仅可以尽早地发现错误,还容易发现深层次问题,并能快速定位问题的来源,针对相关需求,向开发人员进行反馈,小步快速迭代,高效的实现正确的需求和代码。
而详细设计文档不仅为开发提供了标准,也为后续的测试提供了参考。
通过VectorCAST/C++联系实际问题,能快速的完成动态单元测试。
北汇信息专注于汽车电子测试,提供专业的汽车电子测试系统搭建及测试咨询服务;
提供完整的汽车新能源测试服务。
当然在代码测试方面,我们也有完整的代码测试解决方案。
VectorCAST/C++作为Vector公司的代码动态测试工具,既可以用于手写代码,也可以用于自动生成代码的测试,如模型转代码的测试。
本次为大家简单介绍了软件详细设计文档在单元测试过程的一些简单应用。
后续将会为大家带来更多基于VectorCAST/C++的动态测试相关内容。
同时也欢迎垂询和沟通,共同探讨。
注:
文中图片来源于ISO26262、VectorCAST/C++(Vector)。
参考文献:
[1]VectorCAST/C++相关文档
[2]仨人谈起·
基于模型开发(MBD)场合,模型设计可以等同于软件详细设计吗?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 详细 设计 文档 动态 单元测试 过程 中的 应用