- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式控制系统软件测试与其应用
嵌入式控制系统的软件测试及其应用 摘 要本文概要论述了嵌入式系统的软件测试的测试步骤、测试目的、测试模式的设计、测试方法,并举例说明了其在汽车电池充电控制系统上的应用
【关键词】嵌入式系统 软件测试 程序模块
1 引言
随着技术的发展,越来越多的功能加入到嵌入式软件中。嵌入式软件在各种不同条件下可能出现未知、不可预测的状况,其潜在的风险往往较高,高可靠性和安全性自然成为嵌入式系统的重要指标
嵌入式系统安全性的失效可能会导致灾难性的后果,即使是非安全性系统,由于大批量生产也会导致严重的经济损失。这就要求对嵌入式系统,包括嵌入式软件进行严格的测试、确认和验证
一般来说,嵌入式软件测试在4个阶段上进行,即模块测试、集成测试、系统测试、硬件/软件集成测试。前3个阶段适用于任何软件的测试,硬件/软件集成测试阶段是嵌入式软件所特有的,目的是验证嵌入式软件与其所控制的硬件设备能否正确地交互
2 模块测试
2.1 模块测试的定义和特点
(1)模块测试又称单元测试,是针对程序模块(软件设计最小单位)来进行正确性检验的测试工作
(2)模块测试的目的是检测程序模块对《详细设计说明书》的符合程度
(3)模块测试由测试工程师编制测试用例进行测试,并将结果记录在《软件测试报告》上
2.2 模块测试的设计
测试模型:分为驱动模块和桩模块
驱动模块相当于所测试模块的主程序,桩模块是用来代替所测试模块调用的子模块
2.3 输入和输出的规则
2.3.1 输入
一般来说有以下四种情况:
(1)被测函数的参数;
(2)通过赋值运算符“=”向局部变量赋值或作为被调用函数的参数的全局变量(包括静态变量);
(3)有返回值的被调函数;
(4)全局变量作为被调用函数的参数
2.3.2 输出
一般有三种情况:
(1)被测函数的返回值;
(2)被改变过的全局变量(包括静态变量);
(3)所有的被调函数
2.4 三值确认
做大小比较的检证时,通过选取基准点,和基准点-1,基准点+1共三点来保证大小比较的正确。例如:
if(a10)大小比较需三值确认,10为境界值,所以取11,10,9三值
{a=11时,结果b=OFF; a=10时,结果b=ON; a=9时,结果b=ON
b=OFF;为何取三值?
}a ? 10
Else三值确认后能判定是什么符号
b=ON;
2.5 if语句的组合规则
在if语句中,每个判定条件的成立和不成立的情况,都要测试到:
例如:If(A)
则有:A=T时,结果=T; A=F时,结果=F
若有两个或多个判定条件组合起来的判定语句,例如:
(1)A B
A=T B=T时,结果=T;
A=T B=F时,结果=F;
A=F B=T时,结果=F;
A=F B=F时,结果=F
(2)C‖D
C=T D=F时,结果=T;
C=F D=T时,结果=T;
C=F D=F时,结果=F;
C=T D=T时,结果=T
(3)A B‖C
A=T B=T时,AB结果=T,C=F时,最终结果=T;
A=T B=F时,AB结果=F,C=F时,最终结果=F;
A=F B=T时,AB结果=F,C=F时,最终结果=F;
A=T B=F时,AB结果=F,C=T时,最终结果=T
2.6 模块测试方法
2.6.1 代入
(1)确认对象:
①被测试函数的参数,参数做代入
②全局变量通过赋值运算符“=”向局部变量赋值,形如“local_var=global_var;”,全局变量做代入
③被测试函数的代码中有调用其他函数,且被调用函数返回类型不为空(另一说法是没有返回值),被调用函数做代入
④全局变量做为被调用函数的参数使用,全局变量做代入
(2)确认方法:确认对象动态取值范围的最大值和最小值
2.6.2 大小比较
(1)确认对象:逻辑表达式中的变量和常量
(2)确认方法:三值确认(表达式中任意一侧即可,变量侧优先)
2.6.3 加减运算
(1)确认对象:加减算式(包括库函数)中的变量和常量
(2)确认方法:确认对象动态取值范围的最大值,最小值,一般值(不为0,取值唯一;运算结果不为0且尽量为负)
加减演算指所有只含有加减运算符和赋值运算符“=”的语句及调用具有加减演算功能的库函数的语句,加减运算符共有六种,加运算符“+”,减运算符“-”,自加运算符“++”,自减运算符“--”,以及赋值运算符“+=”,“-=”
2.6.4 乘除运算
文档评论(0)