软件测试软件测试嵌入式控制系统的软件测试及其应用.docVIP

  • 19
  • 0
  • 约4.44千字
  • 约 7页
  • 2021-08-13 发布于北京
  • 举报

软件测试软件测试嵌入式控制系统的软件测试及其应用.doc

嵌入式控制系统的软件测试及其应用 作者:陶玮 来源:《电子技术与软件工程》 ????????摘 要本文概要论述了嵌入式系统的软件测试的测试步骤、测试目的、测试模式的设计、测试方法,并举例说明了其在汽车电池充电控制系统上的应用。 ????????【关键词】嵌入式系统 软件测试 程序模块 ????????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;”,全局变量做代入。 ????????③被测试函数的代码中有调用其他函数,且被调用函数返回类型不为空(另一说法是没有返回值),被调用函数

文档评论(0)

1亿VIP精品文档

相关文档