一种嵌入式软件测试方法技术

技术编号:2871491 阅读:316 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种嵌入式软件测试程序,旨在提供一种测试用例丰富,能实现一定程度自动化的软件测试程序。它包括下列步骤:(1)编制测试后台程序,测试后台程序能生成或调用测试用例库;(2)后台程序通过计算机的通讯端口下发测试用例;(3)在被测试软件中添加桩程序,被测试软件通过桩程序处理接收的测试用例数据,并根据接收的测试用例数据对需从外围硬件端口采集的数据和状态进行预置;(4)桩程序收集被测试软件在此测试用例下的运行结果,并通过通讯口将运行结果反馈回后台;(5)后台计算机对反馈的该测试用例运行结果与预期结果进行比较,统计并显示比较结果。本方法适于难于移植到计算机平台进行测试的嵌入式软件的测试。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种计算机软件,更具体地说是涉及一种计算机软件的测试方法。
技术介绍
嵌入式软件都是在特定目标系统上运行的软件,其硬件平台和操作系统往往是专用的,不具有通用性,比如交换机、防火墙、手机、PDA、智能家电等使用的软件。目前,嵌入式软件的测试一般采用交叉测试(Cross-test),即利用高级语言的可移植性,将大部分工作转移到主机平台(Host)上进行。这样可以避开目标系统的瓶颈,不必使用在线仿真器。对于与目标硬件密切相关的小部分软件,仍通过在线仿真器/调试器在目标平台上测试。而对于有些嵌入式软件的测试,不能移植或移植到计算机平台(Host)上测试相对来说工作量太大,很不划算。对其进行的动态测试一般是在实际的目标平台(Target)上进行的。即在实际系统运行过程中,测试人员根据设计的测试用例,通过系统环境人为制造各种输入状态,观察被测试软件的运行情况,从而完成对被测试软件的动态测试。这种在实际的目标平台(Target)上进行的测试方法,往往因受试验环境的限制,对于很多实际运行中有可能出现的情况或一些特殊情况很难进行模拟,测试用例十分有限。而且测试时,测试人员一般需要大部分时间呆在测试现场,观察运行结果。
技术实现思路
本专利技术是为了克服现有技术中的不足之处,旨在为那些很难移植到计算机平台(Host)上进行测试的嵌入式软件提供一种测试用例十分丰富,测试内容更加广泛,且能实现一定程度的测试自动化的测试方法。本专利技术通过下述技术方案实现本专利技术的测试方法是一种利用通讯口作为数据的输入输出,使被测软件在部分脱离系统硬件平台环境下并对其进行测试的。它包括下列步骤(1)编制测试后台程序,后台测试程序在后台计算机上运行,测试后台程序能生成或调用测试用例库;(2)后台程序通过计算机的通讯端口下发测试用例给目标平台里的被测试软件;(3)在目标平台里的被测试软件中添加用于测试的桩程序,被测试软件通过桩程序处理接收的测试用例数据,并根据接收的测试用例数据对目标平台里需从外围硬件端口采集的数据和状态进行预置;(4)桩程序收集目标平台里被测试软件在此测试用例下的运行结果,并通过通讯口将被测试软件的运行结果反馈回后台;(5)后台计算机对反馈的该测试用例运行结果与预期结果进行比较,统计并显示比较结果。本专利技术具有下述有益效果;(1)由于本测试方法的测试用例由计算机后台测试程序调用或定制,测试用例的数据在满足要求的情况下可随意组合,进行各种常规测试和边缘测试等等,测试用例非常丰富,极大的提高了测试覆盖率。(2)能实现一定程度的测试自动化。后台可将收到的实际运行结果和预期结果进行比较,且对比较结果进行统计和记录,并在界面上显示出来。测试人员在启动测试后,可不必呆在现场观察每个测试用列的运行情况,只需要查看后台计算机的统计记录就知道整个测试的结果。附图说明图1实现过程示意图。具体实施例方式下面结合附图对本专利技术作进一步说明根据测试的需要编制测试后台程序,测试程序在后台计算机上运行,要求后台测试程序能自动生成或调用针对被测软件各种测试用例;并根据对被测软件的功能设计要求,预期在该测试用例下被测软件正确运行结果。测试程序通过后台计算机的通讯口下发测试用例给目标平台里的被测试软件。对于前台被测软件源代码也要作相应修改,添加用来测试的桩程序。桩程序主要能完成以下功能1、目标平台里的被测试软件通过通讯口接收后台计算机下发的测试用例数据,作相应处理后将下发的数据存放在一个专门开辟的内存地址中。2、控制被测程序运行时实时数据的采集。测试时,当被测软件在运行过程中从硬件数据采集端口进行数据量采集时,桩程序可引导被测软件从内存对应的地址中获取后台下发的对应数据,从而完成对被测软件的数据输入。3、收集在某一个测试用例(输入数据)下被测试程序的运行结果(包括各种模拟量数值,开关量状态,设备运行状态等等),并将运行结果打包处理,通过通讯口以通讯的方式上报给后台计算机。计算机后台测试程序在接收到目标平台里的测试用例的运行结果后,将该实际运行结果与由后台计算机根据被测试程序的功能设计要求进行预期的正确运行结果进行比较。若实际运行结果与预期结果一致,则表示被测软件执行该测试用例所实现的功能正确,测试通过;若实际运行结果与预期结果不一致,则说明被测程序可能不能正确执行该功能。另外,本专利技术也可进行一部分白盒测试我们也可在目标平台内存中开辟一段地址空间,存放后台计算机程序设置的一些逻辑状态或数据,并用这些逻辑状态或数据来改变我们所要测试的目标程序里的一些对应的逻辑条件或变量的数值,从而可对测试目标程序实现条件测试、数据流测试和覆盖率统计等白盒测试。具体实例下面通过一个简单具体的例子来进一步说明本测试方法的实施应用。对于大功率组合电源,如3000A的系统,要测试系统过流告警,若在实际的系统上进行测试环境的搭建非常困难(功率太大,对动力线和负载线要求很高,这么大的负载也很难找),也很危险,但用此测试方法就很简单。测试步骤如下1、定制后台测试程序,通过测试后台计算机通讯口可下发针对组合电源监控软件的各种测试用例。2、在组合电源单板的目标监控软件中添加用来测试的桩程序a)在前台软件中开辟一段内存空间,存放后台下发的数据,其中一个16位的地址用来存放后台计算机下发的负载电流值。b)数据采集引导桩程序,当被测式软件数据采集程序要读取A/D端口的数据是负载电流值时,桩程序引导被测式软件的数据采集程序读取用来存放后台下发的负载电流值的16位地址里的值;这样前台获取的负载电流值实际上是测试计算机后台下发的负载电流值。c)前台监控软件运行状态结果收集桩程序,收集在此负载电流值下的负载电流过流告警状态标志的值(假设00H为正常,01H为负载电流过流),并将此状态值上报给后台计算机。3、假定目标前台负载电流过流判断设定值为3000A,通过测试后台下发3001A给前台监控软件,并预期正确结果,即负载电流过流告警状态标志的值为01H。前台被测试程序在此负载电流数据下运行,被测试程序的负载电流过流告警状态标志的值会被更新;添加的状态结果收集程序读取负载电流过流告警状态标志的值,并将其通过前台单板的通讯串口上报给后台。4、计算机后台收到实际运行结果后(上报的负载电流过流告警状态标志的值),与预期结果(01H)进行比较;若两者一致则为测试通过,不一致则认为被测试软件此功能实现可能有问题,需要进一步验证。并对比较结果进行统计,将统计结果在后台计算机上显示出来。权利要求1.,其特征是,它包括下列步骤(1)编制测试后台程序,后台测试程序在后台计算机上运行,测试后台程序能生成或调用测试用例库;(2)后台程序通过计算机的通讯端口下发测试用例给目标平台里的被测试软件;(3)在目标平台里的被测试软件中添加用于测试的桩程序,被测试软件通过桩程序处理接收的测试用例数据,并根据接收的测试用例数据对目标平台里需从外围硬件端口采集的数据和状态进行预置;(4)桩程序收集目标平台里被测试软件在此测试用例下的运行结果,并通过通讯口将被测试软件的运行结果反馈回后台;(5)后台计算机对反馈的该测试用例运行结果与预期结果进行比较,统计并显示比较结果。全文摘要本专利技术涉及一种嵌入式软件测试程序,旨在提供一种测试用例丰富,能实现一定程度本文档来自技高网...

【技术保护点】
一种嵌入式软件测试方法,其特征是,它包括下列步骤:(1)编制测试后台程序,后台测试程序在后台计算机上运行,测试后台程序能生成或调用测试用例库;(2)后台程序通过计算机的通讯端口下发测试用例给目标平台里的被测试软件;(3)在目标平台里的被测试软件中添加用于测试的桩程序,被测试软件通过桩程序处理接收的测试用例数据,并根据接收的测试用例数据对目标平台里需从外围硬件端口采集的数据和状态进行预置;(4)桩程序收集目标平台里被测试软件在此测试用例下的运行结果,并通过通讯口将被测试软件的运行结果反馈回后台;(5)后台计算机对反馈的该测试用例运行结果与预期结果进行比较,统计并显示比较结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:李朝阳韩小宾
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1