CN114116497A - 测试方法与装置、服务器 - Google Patents
测试方法与装置、服务器 Download PDFInfo
- Publication number
- CN114116497A CN114116497A CN202111446180.2A CN202111446180A CN114116497A CN 114116497 A CN114116497 A CN 114116497A CN 202111446180 A CN202111446180 A CN 202111446180A CN 114116497 A CN114116497 A CN 114116497A
- Authority
- CN
- China
- Prior art keywords
- test
- software
- tested
- vector
- test case
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种测试方法与装置、服务器;该方法包括:获取测试用例集合中的第一测试用例和算法软件的版本标签;根据算法软件的版本标签确定针对第一测试用例的测试向量,测试向量包括第一测试向量和第二测试向量;根据第一测试向量确定待测软件的测试输出数据;比较测试输出数据和所述第二测试向量以进行数据校验,得到针对所述第一测量用例的测试报告,从而实现对待测软件进行自动化测试,进而提高软件测试效率、缩短软件测试时间周期、降低软件测试成本费用。
Description
技术领域
本申请涉及软件测试领域,具体涉及一种测试方法与装置、服务器。
背景技术
目前,软件测试的方法通常采用人工手动或者运行简单脚本进行测试,再对测试结果进行记录。例如,在设计有测试用例(test case)并通过评审之后,测试人员需要按照测试用例中描述的规程一步步执行测试以得到实际测试结果,并与期望结果进行比较。然而,为了提高软件测试效率、缩短软件测试时间周期、降低软件测试成本费用等,还需要进一步的研究。
发明内容
本申请实施例提供了一种测试方法与装置、服务器,以期望实现对待测软件进行自动化测试,进而提高软件测试效率、缩短软件测试时间周期、降低软件测试成本费用。
第一方面,为本申请的一种测试方法,包括:
获取测试用例集合中的第一测试用例和算法软件的版本标签;
根据所述算法软件的版本标签确定针对所述第一测试用例的测试向量,所述测试向量包括第一测试向量和第二测试向量;
根据所述第一测试向量确定待测软件的测试输出数据;
比较所述测试输出数据和所述第二测试向量以进行数据校验,得到针对所述第一测量用例的测试报告。
可见,本申请通过测试用例集合来完成大规模测试的遍历,通过算法软件的版本标签确定第一测试向量和第二测试向量以保证同步测试、测试的正确性和可靠性,最后通过将待测软件的实际的测试输出数据和第二测试向量(即理想的测试输出数据)通过比较的方式以进行数据校验并生成测试报告,从而通过测试报告判断待测软件的各个功能是否符合预期要求,实现对待测软件进行自动化测试,进而提高软件测试效率、缩短软件测试时间周期、降低软件测试成本费用。
第二方面,为本申请的一种测试装置,包括:
获取单元,用于获取测试用例集合中的第一测试用例和算法软件的版本标签;
确定单元,用于根据所述算法软件的版本标签确定针对所述第一测试用例的测试向量,所述测试向量包括第一测试向量和第二测试向量,以及根据所述第一测试向量确定所述待测软件的测试输出数据;
比较单元,用于比较所述测试输出数据和所述第二测试向量,得到针对所述第一测量用例的测试报告。
第三方面,为本申请的一种服务器,包括处理器、存储器及存储在所述存储器上的计算机程序或指令,所述处理器执行所述计算机程序或指令以实现上述第一方面中所设计的方法中的步骤。
可见,通过服务器的计算优势实现对待测软件进行自动化测试,进一步提高软件测试效率、缩短软件测试时间周期、降低软件测试成本费用。
第四方面,为本申请的一种计算机可读存储介质,其中,其存储有计算机程序或指令,所述计算机程序或指令被执行时以实现上述第一方面所设计的方法中的步骤。
第五方面,为本申请的一种计算机程序产品,包括计算机程序或指令,其中,所述计算机程序或指令被执行时实现上述第一方面所设计的方法中的步骤。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本申请实施例的一种测试平台的功能模块组成框图;
图2是本申请实施的一种测法方法的流程示意图;
图3是本申请实施的一种待测软件、测试平台和算法软件之间的实施流程图;
图4是本申请实施的又一种测法方法的流程示意图;
图5是本申请实施例的一种测法装置的功能单元组成框图;
图6是本申请实施例的一种服务器的结构示意图。
具体实施方式
为了本技术领域人员更好理解本申请的技术方案,下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。显然所描述的实施例是本申请一部分实施例,而不是全部的实施例。针对本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应理解,本申请实施例中涉及的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、软件、产品或设备没有限定于已列出的步骤或单元,而是还包括没有列出的步骤或单元,或还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
本申请实施例中涉及的“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例中的“至少一个”,指的是一个或多个,多个指的是两个或两个以上。
本申请实施例中的“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示如下三种情况:单独存在A,同时存在A和B,单独存在B。其中,A、B可以是单数或者复数。字符“/”可以表示前后关联对象是一种“或”的关系。另外,符号“/”也可以表示除号,即执行除法运算。
本申请实施例中的“以下至少一项(个)”或其类似表达,指的是这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b或c中的至少一项(个),可以表示如下七种情况:a,b,c,a和b,a和c,b和c,a、b和c。其中,a、b、c中的每一个可以是元素,也可以是包含一个或多个元素的集合。
目前,软件测试的方法通常采用人工手动或者运行简单脚本进行测试,再对测试结果进行记录。例如,在设计有测试用例并通过评审之后,测试人员需要按照测试用例中描述的规程一步步执行测试以得到实际测试结果,并与期望结果进行比较。为了提高软件测试效率、缩短软件测试时间周期、降低软件测试成本费用等,本申请实施例考虑采用软件自动化测试的方式。
下面对本申请实施例所涉及的技术方案以及相关概念等进行具体说明。
1、测试用例(Test Case)
测试用例是指对一项特定的软件进行测试任务的描述,体现测试方案、方法、技术和策略。
测试用例的内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。简单地认为,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。
2、待测软件
需要说明的是,待测软件,可以理解为,需要被测试的软件。其中,该软件可以为由操作系统、处理器、电子设备、服务器等运行的任一软件程序。
(1)操作系统
在本申请实施例中,操作系统可以是Android操作系统、RTOS(real-timeoperating system,实时操作系统)操作系统、UNIX操作系统、Linux操作系统1DOS操作系统、Windows操作系统、Mac操作系统等。
(2)处理器
在本申请实施例中,处理器可以包括一个或多个处理单元。例如,处理器可以包括中央处理器(central processing unit,CPU)、应用处理器(application processor,AP)、微控制单元(microcontroller Unit,MCU)、单片微型计算机(single chipmicrocomputer,SCM)、单片机、图形处理器(graphics processing unit,GPU)、图像信号处理器(image signal processor,ISP)、控制器、数字信号处理器(digital signalprocessor,DSP)、现场可编程逻辑门阵列(field programmable gate array,FPGA)、专用集成电路(application-specific integrated circuit,ASIC)、基带处理器、神经网络处理器(neural-network processing unit,NPU)等中的至少之一。其中,不同的处理单元可以是分离的,也可以集成在一起。
处理器中还可以设置存储器,用于存储指令和数据。可选的,处理器可以调用存储器中存储的程序以运行操作系统。可选的,处理器中的存储器可以保存或缓存该处理器刚用过或循环使用的指令。若该处理器需要再次使用该指令或数据,则可以从该存储器中直接调用,从而避免重复存取,减少处理器的等待时间以提高系统效率。可选的,处理器中的存储器还可以保存或缓存数据,并该数据同步或传输给其他处理器执行。其中,处理器中的存储器可以为高速缓冲存储器。
处理器还可以包括一个或多个通信接口。其中,该通信接口可以包括串行外设接口(serial peripheral interface,SPI)、集成电路(inter-integrated circuit,I2C)接口、集成电路内置音频(inter-integrated circuit sound,I2S)接口、脉冲编码调制(pulse code modulation,PCM)接口、通用异步收发传输器(universal asynchronousreceiver/transmitter,UART)接口、移动产业处理器接口(mobile industry processorinterface,MIPI)、通用输入输出(general-purpose input/output,GPIO)接口、用户标识模块(subscriber identity module,SIM)接口、通用串行总线(universal serial bus,USB)接口等中的至少之一。
(3)电子设备
在本申请实施例中,电子设备可以是手持设备、车载设备、可穿戴设备、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、投影设备、投影仪或者连接到无线调制解调器的其他设备,也可以是各种具体形式的用户设备(userequipment,UE)、终端设备(terminal device)、终端、手机(smart phone)、智慧屏、智慧电视、智能手表、笔记本电脑、智能音响、摄像头、游戏手柄、麦克风、站点(station,STA)、接入点(access point,AP)、移动台(mobile Station,MS)、个人数字助理(personal digitalassistant,PDA)、个人计算机(personal computer,PC)或者中继设备等。
具体的,电子设备可以是可穿戴设备。其中,该可穿戴设备也可以称为智能穿戴式设备,是应用穿戴式技术对日常穿戴进行智能化设计、开发的智能设备的总称,例如眼镜、手套、手表、手环、服饰、鞋等。可穿戴设备即可以直接穿在身上,也可以整合到用户的服饰或配件上的一种便携式设备。可穿戴设备不仅可以搭载专用的硬件架构,还可以搭载专用的软件架构进行数据交互、云端交互等。另外,穿戴式智能设备可以不依赖其他智能设备以实现完整或者部分的功能,例如智能手表、智能眼镜等,也可以只专注于某一些应用功能,而需要同其它智能设备配合使用,如各类进行体征监测的智能手环、智能首饰等。
(4)服务器
本申请实施例的服务器可以为各种用于提供自动驾驶车辆编队行驶的可靠性评估功能的服务器、车联网云平台、车联网服务器、物联网设备、数据中心网络设备、云计算设备、支持802.11协议的计算机、支持5G系统中的网络设备以及未来演进的公用陆地移动通信网络(public land mobile network,PLMN)中的网络设备等,本申请实施例不作具体限制。
本申请实施例中,服务器可以是云服务器、物联网服务器、web服务器、应用服务器、负载均衡器(Nginx)、数据中心网络设备、个人计算机(personal computer,PC)、计算设备、5G系统中的网络设备以及未来演进的公用陆地移动通信网络(public land mobilenetwork,PLMN)中的网络设备等,对此不作具体限制。
(5)固件(Firmware,FW)
固件可以是一种嵌入在硬件设备中的软件(或程序),可以是写入可擦写可编程只读存储器(erasable programmable read-only memory,EPROM)或带电可擦可编程只读存储器(electrically erasable programmable read only memory,EEPROM)中的程序。
在本申请实施例中,待测软件可以为运行在上述处理器、电子设备或服务器上的固件。
例如,待测软件为运行在MCP或DSP上的固件。
进一步的,该固件可以运行物理层控制模块,可以对整个物理层系统进行过程上的控制,可以对硬件(Hardware,HW)进行配置并启动,可以是可编程的等。
其中,该物理层控制模块可以计算上行物理信道(如物理上行共享信道PUSCH、上行物理控制信道PUCCH、物理随机接入信道PRACH和SRS)中的逻辑函数参数,可以计算下行物理信道(如物理下行控制信道PDCCH、物理下行共享信道PDSCH、物理广播信道PBCH)中的逻辑函数参数、处理来自高层(如无线资源控制RRC层、介质访问控制MAC层)的信令消息。
需要说明的是,物理层处理的起点是MAC层传下来的传输块(transport block,TB),终点是生成基带信号,然后将该基带信号变成射频信号,再通过天线发射出去。
在物理层处理的过程中,可能涉及循环冗余校验(cyclic redundancy check,CRC)、信道编码、速率匹配、扰码、调制、层映射、序列生成、预编码、资源映射等。因此,在该过程中所涉及的各处理在数学上叫做逻辑函数参数的计算,其分为上行物理信道中的逻辑函数参数和下行物理信道中的逻辑函数参数。
另外,该物理层控制模块(或安装有该固件的模块/单元/设备/服务器/电子设备)在完成软件开发之后需要进行逻辑函数参数的单元测试,之后需要把各逻辑函数参数串联来进行信道链路级的功能测试。其中,该功能测试的本质是验证该物理层控制模块或安装有该固件的模块/单元/设备/服务器/电子设备)是否按照3GPP标准协议的规定对数据进行处理,其物理层的处理流程是否和3GPP标准协议所规定的一致。
由于各种逻辑函数参数十分复杂,因此本申请实施例在对待测软件进行测试时需要经过充分的测试验证才能保证测试结果的正确性。
3、如何获取测试用例集合
需要说明的是,本申请实施例可以根据待测软件所要实现的功能来选择测试用例以得到测试用例集合,从而通过测试用例集合来完成大规模测试的遍历。
例如,当需要对运行在处理器上固件进行测试,且该固件需要实现上行物理信道中的逻辑函数参数的各项功能时,由于该各项功能包括CRC、信道编码、速率匹配、扰码、调制、层映射、序列生成、预编码、资源映射等,因此本申请实施例可以按照各项功能来选择测试用例,即一些测试用例用于测试CRC的功能,一些测试用例用于测试调整的功能,一些测试用例用于测试预编码的功能等,从而将这些测试用例组成一个集合,得到测试用例集合。
4、算法软件
(1)定义
需要说明的是,为了实现对待测软件进行测试,本申请实施例需要提供参考/标准/期望的测试向量,通过该测试向量与待测软件的输出数据进行比较,以便判断待测软件是否有误或符合要求。
因此,本申请实施例的算法软件可以用于提供该参考/标准/期望的测试向量。也就是说,能够提供该参考/标准/期望的测试向量的软件/平台/单元/装置/设备可以称为算法软件。
(2)测试向量
在本申请实施例中,测试向量,可以是用于测试比对的数据,且由算法软件生成。测试向量可以包括输入测试向量(如本申请的第一测试向量)和输出测试向量(如本申请的第二测试向量)。
输入测试向量,可以用于确定待测软件的测试输出数据。具体在下文进行说明。
输出测试向量,可以用于与该测试输出数据进行比较以得到测试报告。具体在下文进行说明。
需要说明的是,当需要对待测软件的各个功能进行功能测试时,本申请引入了输入测试向量,该输入测试向量可以看作是待测软件的输入,而待测软件的各个功能按照该输入测试向量来执行功能测试以输出实际的测试输出数据。
当需要判断待测软件的各个功能是否符合预期要求时,本申请引入了输出测试向量,该输出测试向量可以看做是理想的测试输出数据。
因此,本申请可以将实际的测试输出数据和理想的测试输出数据通过比较的方式以进行数据校验,从而来判断待测软件的各个功能是否符合预期要求。
(3)算法软件
在本申请实施例中,算法软件可以运行或存储在上述处理器/电子设备/服务器上。
例如,该算法软件可以存储在上述处理器/电子设备/服务器的存储器中。
5、版本标签(version tag)
需要说明的是,对于一个软件,通常需要先在版本库中打一个版本标签,从而通过该版本标签可以唯一确定软件在打标签时刻的版本。
在本申请实施例中,版本标签可以包括待测软件的版本标签和算法软件的版本标签。
需要说明的是,本申请实施例可以通过调用或配置(如通过脚本)来获取待测软件的版本标签和算法软件的版本标签。
6、代码评审(Code Review)工具
代码评审是指在软件开发过程中,对源代码的系统性检查,改进代码质量,查找系统缺陷,保证软件总体质量,提高开发者自身水平,用来确认方案设计和代码实现的质量保证机制。其中,代码评审工具自动化了代码审核过程,有助于静态代码分析。
代码评审工具可以包括Review Assistant、Reshift、Gerrit、Codestriker、Phabricator、Crucible、Review Board、Reviewable、Codacy、Veracode、JArchitect等中的至少之一项。
Review Assistant是Visual Studio的一个扩展,可以帮助创建审查请求并能在不离开集成开发环境(integrated development environment,IDE)的情况下对请求做出响应。
Reshift是一个基于SaaS(Software-as-a-Service,软件即服务)的软件平台,可以帮助软件开发团队在部署代码到生产环境之前,更快地识别出代码中更多的漏洞。
Gerrit是一个开源的轻量级工具,是一个Web代码评审工具,是基于“Git版本控制系统”来进行构建的。
Codestriker是一个开源的在线源码审查Web应用程序,可以用于在数据库中记录问题、注释和决策。
Phabricator是一个开源的源码扫描程序,可以包括基于Web的轻量级代码审查、规划、测试、bug发现等功能。
Crucible是一个基于Web的代码质量工具,可以用来进行代码审查、bug及缺陷发现、变更讨论和知识共享,可以帮助捕获主要缺陷并改进代码架构。
Review Board是一个安全的代码审查工具,可以用于开源项目和公司的代码审查和文档审查。
Reviewable是一个轻量级的、功能强大的代码分析工具,可以使代码审查更快、更全面,可以通过用户界面清理、bug发现以及语法高亮显示来提高代码质量。
Codacy可以通过静态代码分析自动识别问题,在每个拉取(pull)和提交(commit)请求中,能够快速地告诉用户有关安全性问题、代码重复和代码复杂度的信息。
Veracode是一个代码审查和静态分析工具,是基于SaaS模型构建的。
JArchitect是一款易于使用的代码审查工具,可以用于分析Java代码,可以提高代码的可维护性,并在每次审查后,会发送一份项目开发相关的报告。
在本申请实施例中,代码评审工具可以用于维护待测软件的版本标签和算法软件的版本标签,即待测软件的版本标签和算法软件的版本标签由代码评审工具进行维护。
需要说明的是,代码评审工具维护版本标签,可以理解为,代码评审工具对版本标签进行上传、下载、获取、配置、更新、删除、保存、修改等处理。
另外,代码评审工具可以运行在上述处理器/服务器/电子设备上。
7、测试平台
在本申请实施例中,测试平台可以对待测软件执行自动化测试,其可以采用硬件的形式实现,可以采用软件的形式实现,也可以采用软件和硬件结合的形式实现。
在一些可能的设计中,测试平台可以运行在上述处理器/电子设备/服务器上。
在一些可能的设计中,测试平台可以具有维护版本标签、维护测试用例、配置待测软件、获取测试向量、比较测试数据、生成测试报告、打印测试信息、存档测试记录等功能。
需要说明的是,测试平台为了实现软件自动化测试过程中的各个功能,其包含了执行各个功能所相应的模块。例如,可以对应各个功能划分成各个模块,也可以将两个或两个以上的功能集成在一个模块中。
测试平台的各个模块可以采用硬件的形式实现,可以采用软件的形式实现,也可以采用软件和硬件结合的形式实现。各个模块既可以是分离/独立的模块,也可以集成在一起。另外,本申请实施例对测试平台的各个模块的划分是示意性的,是一种逻辑功能划分,而实际实现时可以有另外的划分方式。
下面对测试平台的各个模块做一个示例性的说明。
如图1所示,测试平台10包括测试用例维护模块110、版本标签维护模块120、测试向量获取模块130、待测软件配置模块140、测试信息打印模块150、测试数据比较模块160、测试报告生成模块170和测试记录存档模块180。
(1)测试用例维护模块110
测试用例维护模块110,可以用于维护上述测试用例集合,对测试用例进行维护等。
对测试用例进行维护,可以理解为,对测试用例进行获取、配置、更新、删除、保存、修改等处理。
(2)版本标签维护模块120
版本标签维护模块120,可以用于维护待测软件的版本标签和算法软件的版本标签。
维护版本标签,可以理解为,对版本标签进行上传、下载、获取、配置、更新、删除、保存、修改等处理。
需要说明的是,本申请实施例通过维护待测软件的版本标签和算法软件的版本标签,有利于保证待测软件和算法软件的同步测试以及同步升级等,进而保证测试的正确性和可靠性。
(3)测试向量获取模块130
测试向量获取模块130,可以用于获取由算法软件生成的测试向量,该测试向量包括输入测试向量和输出测试向量。
需要说明的是,测试平台和算法软件可能运行在不同的处理器/服务器/电子设备上,因此本申请实施例可以通过测试向量获取模块130来配置可执行文件以获取由算法软件生成的测试向量。该可执行文件可以是由代码评审工具根据算法软件的版本标签生成的。
(4)待测软件配置模块140
待测软件配置模块140,可以用于根据输入测试向量生成配置消息,该配置消息用于配置待测软件。
配置待测软件,可以理解为,获取待测软件的运行状态、启动待测软件运行(工作)、获取待测软件的输出测试数据等。
需要说明的是,测试平台和待测软件可能运行在不同的处理器/服务器/电子设备上,因此本申请实施例可以通过待测软件配置模块140以根据输入测试向量来生成配置消息,并将该配置消息发送给待测软件,从而通过该配置消息来获取待测软件的运行状态、启动待测软件运行(工作)、获取待测软件的输出测试数据等。
另外,通过待测软件配置模块140,有利于实现测试平台模拟真实的测试流程来配置待测软件,使得整个测试过程更加真实准确。
(5)测试信息打印模块150
测试信息打印模块150,可以用于对测试过程中的关键节点的测试信息进行打印,以便于快速定位跟踪测试结果、错误结果、出错问题等,以及查看测试状态等。
(6)测试数据比较模块160
测试数据比较模块160,可以用于获取待测软件的测试输出数据,并比较该测试输出数据和输出测试向量以进行数据校验。其中,数据校验可以是二进制的数据比较与校验。
(7)测试报告生成模块170
测试报告生成模块170,可以用于根据该测试输出数据和输出测试向量的比较结果生成测试报告,以便于对该比较结果进行仲裁。
(8)测试记录存档模块180
测试记录存档模块180,可以用于对测试过程中的版本标签、测试用例、测试向量、测试报告等进行统一存档,以便于进行跟踪查看。
8、软件自动化测试
结合上述描述,本申请实施例可以采用软件自动化测试的方式对待测软件进行测试,以便有利于提高软件测试效率、缩短软件测试时间周期、降低软件测试成本费用。
其中,该软件自动化测试的步骤如下:
步骤1:测试开始后,测试平台可以获取测试用例集合。
需要说明的是,测试平台可以根据待测软件所要实现的功能来选择测试用例以得到测试用例集合,从而通过测试用例集合来完成大规模测试的遍历。
例如,当需要对运行在处理器上固件进行测试,且该固件需要实现上行物理信道中的逻辑函数参数的各项功能时,由于该各项功能包括CRC、信道编码、速率匹配、扰码、调制、层映射、序列生成、预编码、资源映射等,因此本申请实施例可以按照各项功能来选择测试用例,即一些测试用例用于测试CRC的功能,一些测试用例用于测试调整的功能,一些测试用例用于测试预编码的功能等,从而将这些测试用例组成一个集合,得到测试用例集合。
另外,在测试过程中,测试平台需要依次从测试用例集合中选择一个测试用例以执行下列步骤,并在执行完之后,选择下一个测试用例再执行下列步骤,依次类推,直到最后一个测试用例,以便执行完整个测试流程。
步骤2:测试平台可以获取待测软件的版本标签和算法软件的版本标签。
需要说明的是,由于测试平台与待测软件和算法软件可能运行在不同的处理器/服务器/电子设备上,因此测试平台可以通过调用或配置(如通过脚本)的方式来获取待测软件的版本标签以及算法软件的版本标签。
另外,测试平台可以利用待测软件的版本标签来下载/获取/配置/调用待测软件所需的相关配置文件,如运行环境、函数、变量或指令等。
同理,测试平台可以利用算法软件的版本标签来下载/获取/配置/调用算法软件所需的相关配置文件,如运行环境、函数、变量或指令等。
同时,测试平台可以通过维护待测软件的版本标签和算法软件的版本标签,有利于保证待测软件和算法软件的同步测试以及同步升级等,进而保证测试的正确性和可靠性。
步骤3:代码评审工具可以根据算法的版本标签进行线上编译算法工程以生成的可执行文件。
需要说明的是,测试平台可以通过代码评审工具来控制(维护)待测软件的版本标签和算法软件的版本标签,并通过控制(维护)版本标签的方式来监测版本测试状态,保证测试的正确性和可靠性。
另外,测试平台可以控制在代码评审工具上的代码准合入准则,确保代码的正确性,以及提高代码的可靠性。
步骤4:测试平台可以配置该可执行文件以确定由算法软件所生成的针对测试用例的测试向量,该测试向量可以包括输入测试向量和输出测试向量。
需要说明的是,测试平台接收来自代码评审工具的可执行文件,并通过配置该可执行文件的方式来得到由算法软件所生成的输入测试向量和输出测试向量。
配置该可执行文件,可以理解为,运行该可执行文件。
步骤5:测试平台可以根据输入测试向量生成待测软件的配置消息,该配置消息用于配置待测软件。
需要说明的是,测试平台和待测软件可能运行在不同的处理器/服务器/电子设备上,因此测试平台可以根据输入测试向量来生成配置消息,并将该配置消息发送给待测软件,从而通过该配置消息来获取待测软件的运行状态、启动待测软件运行(工作)、获取待测软件的输出测试数据等,进而有利于实现测试平台模拟真实的测试流程来配置待测软件,使得整个测试过程更加真实准确。
步骤6:待测软件可以根据该配置消息进行数据处理以生成测试输出数据。
需要说明的是,待测软件可以根据该配置消息进行启动以进入工作状态,并将该配置消息作为输入以按照该配置消息进行数据处理,最后输出测试输出数据,并将该测试输出数据发送给测试平台。
步骤7:测试平台比较该测试输出数据和该输出测试向量以进行数据校验,生成针对单个测试用例的测试报告。
需要说明的是,当需要对待测软件的各个功能进行功能测试时,本申请引入了输入测试向量,该输入测试向量可以看作是待测软件的输入,而待测软件的各个功能按照该输入测试向量来执行功能测试以输出实际的测试输出数据。
当需要判断待测软件的各个功能是否符合预期要求时,本申请引入了输出测试向量,该输出测试向量可以看做是理想的测试输出数据。
因此,测试平台可以将实际的测试输出数据和理想的测试输出数据通过比较的方式以进行数据校验,从而来判断待测软件的各个功能是否符合预期要求。
步骤8:测试平台分析测试用例集合中的所有测试用例是否全部执行完成。
如果还有剩余的测试用例没有执行,则继续利用下一个测试用例来对待测软件进行测试;如果所有测试用例都执行完毕,则完成对待测软件的自动化测试,对测试记录进行存档,生成总的测试报告等,实现测试结束。
下面以代码评审工具为gerrit为例,对测试方法做一个示例性说明。如图2所示,该测试方法包括如下步骤:
S201、测试平台获取测试用例集合。
S203、测试平台配置gerrit上待测软件的版本标签。
S205、测试平台配置gerrit上算法软件的版本标签。
S207、gerrit根据算法软件的版本标签进行线上编译算法工程以生成可执行文件。
S209、测试平台配置该可执行文件以获取由算法软件所生成的针对单个测试用例的输入测试向量和输出测试向量。
S211、测试平台根据输入测试向量生成配置消息,并发送给待测软件。
S213、待测软件根据配置消息进行数据处理以生成测试输出数据。
S215、测试平台比较测试输出数据和输出测试向量,生成针对单个测试用例的测试报告。
S217、测试平台判断已执行完毕的测试用例的个数是否小于测试用例集合中的测试用例总数。
若是,则执行S211;若否,则执行S219。
S219、测试平台存档测试记录以及生成总的测试报告。
9、待测软件、测试平台和算法软件之间的实施流程
结合上述描述,下面对本申请实施例中的待测软件、测试平台和算法软件之间的实施流程进行示例性说明,如图3所示。
1)算法软件运行在算法子系统上,用于向测试平台子系统提供输入测试向量和输出测试向量。其中,该算法子系统可以是服务器。
2)测试平台运行在测试平台子系统上,用于根据输入测试向量配置待测软件以生成配置消息,比较测试输出数据和输出测试向量以进行数据校验并生成测试报告。其中,该测试平台子系统可以是服务器。
3)待测软件运行在待测FW(固件)子系统上,用于根据配置消息进行数据处理以生成测试输出数据。其中,该待测FW子系统可以是MCU/DSP。
综上所述,为了提高软件测试效率、缩短软件测试时间周期、降低软件测试成本费用等,下面对本申请实施例的一种测试方法进行示例介绍。
如图4所示,为本申请实施例的一种测试方法的流程示意图,可以应用于测试平台/处理器/服务器/电子设备,具体包括如下步骤:
S410、获取测试用例集合中的第一测试用例和算法软件的版本标签。
需要说明的是,“测试用例集合”、“算法软件”和“版本标签”可以具体详见上述描述,在此不再赘述。其中,第一测试用例可以为测试用例集合中的任意一个测试,可以为测试用例集合中的最后一个测试用例,也可以不为测试用例集合中的最后一个测试用例。
可见,通过测试用例集合来完成大规模测试的遍历。另外,通过待测软件的版本标签和算法软件的版本标签,有利于保证待测软件和算法软件的同步测试以及同步升级等,进而保证测试的正确性和可靠性。
S420、根据算法软件的版本标签确定针对第一测试用例的测试向量,该测试向量包括第一测试向量和第二测试向量。
需要说明的是,“测试向量”可以具体详见上述描述,在此不再赘述。其中,第一测试向量可以为输入测试向量,第二测试向量可以为输出测试向量。
对于如何根据算法软件的版本标签确定针对第一测试用例的测试向量,可以是通过算法软件的版本标签在本地获取,也可以是通过算法软件的版本标签在远端获取。
例如,对于在本地获取的情形,可以按照算法软件的版本标签从本地的存储器或存储表中进行检索以获取针对第一测试用例的测试向量。
可见,采用本地获取的方式,有利于保证获取的效率以及便捷性。
又例如,对于在远端获取的情形,可以是通过控制代码评审工具的方式(如与运行代码评审工具的服务器进行远程交互等)实现如下所设计的方法中的步骤:
向代码评审工具发送算法软件的版本标签;接收来自代码评审工具的可执行文件,该可执行文件是由代码评审工具根据算法软件的版本标签进行线上编译以生成的;配置该可执行文件以确定由算法软件所生成的针对第一测试用例的测量向量。
可见,通过接收来自代码评审工具的可执行文件,并通过配置该可执行文件的方式来得到由算法软件所生成的输入测试向量和输出测试向量。另外,通过控制在代码评审工具上的代码准合入准则,确保代码的正确性,以及提高代码的可靠性。
S430、根据第一测试向量确定待测软件的测试输出数据。
需要说明的是,“待测软件”可以具体详见上述描述,在此不再赘述。
另外,当需要对待测软件的各个功能进行功能测试时,本申请引入了第一测试向量,该第一测试向量可以看作是待测软件的输入,而待测软件的各个功能按照该第一测试向量来执行功能测试以输出实际的测试输出数据。
在一些可能的设计中,待测软件可以为运行在处理器上的固件。
进一步的,该固件可以用于执行以下至少之一项:运行物理层控制模块、对硬件进行配置并启动;该物理层控制模块可以用于执行以下至少之一项:计算上行物理信道中的逻辑函数参数、计算下行物理信道中的逻辑函数参数、处理来自高层的信令消息。
在一些可能的设计中,待测软件的版本标签和算法软件的版本标签可以由代码评审工具进行维护。
对于如何根据第一测试向量确定待测软件的测试输出数据,可以采用如下所设计的方法中的步骤:
根据第一测试向量确定用于配置待测软件的配置消息;向待测软件发送配置消息;接收来自待测软件的测试输出数据,测试输出数据是由待测软件根据配置消息进行数据处理以生成的。
可见,通过第一测试向量来生成配置消息,并将该配置消息发送给待测软件,从而通过该配置消息来获取待测软件的运行状态、启动待测软件运行(工作)、获取待测软件的输出测试数据等,进而有利于实现测试平台模拟真实的测试流程来配置待测软件,使得整个测试过程更加真实准确。
S440、比较测试输出数据和第二测试向量以进行数据校验,得到针对第一测量用例的测试报告。
需要说明的是,当需要判断待测软件的各个功能是否符合预期要求时,本申请引入了输出测试向量,该输出测试向量可以看做是理想的测试输出数据。
可见,通过将实际的测试输出数据和理想的测试输出数据通过比较的方式以进行数据校验,从而实现判断待测软件的各个功能是否符合预期要求。
在一些可能的设计中,在S440之后,还可以采用如下所设计的方法中的步骤:
若第一测试用例为测试用例集合中的最后一个测试用例,则对测试用例集合、待测软件的版本标签、算法软件的版本标签、第一测试向量、第二测试向量、测试报告中的至少之一项进行存档;或者,
若第一测试用例不为测试用例集合中的最后一个测试用例,则获取测试用例集合中的第二测试用例,第二测试用例为第一测试用例的下一个测试用例,并按照第二测试用例对待测软件进行测试。
可见,如果还有剩余的测试用例没有执行,则继续利用下一个测试用例来对待测软件进行测试;如果所有测试用例都执行完毕,则完成对待测软件的自动化测试,对测试记录进行存档,生成总的测试报告等,实现测试结束。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该知悉,结合本文中所提供的实施例描述的各示例的方法、功能、模块、单元或者步骤,本申请能够以硬件或者硬件与计算机软件的结合形式来实现。某个方法、功能、模块、单元或者步骤究竟以硬件或计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用使用不同方法来实现所描述的方法、功能、模块、单元或者步骤,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例进行功能单元/模块的划分。例如,可以对应各个功能划分各个功能单元/模块,也可以将两个或两个以上的功能集成在一个功能单元/模块中。上述集成的功能单元/模块既可以采用硬件的方式实现,也可以采用软件程序的方式实现。需要说明的是,本申请实施例中对功能单元/模块的划分是示意性的,只是一种逻辑功能划分,而实际实现时可以有另外的划分方式。
在采用集成的单元的情况下,图5是本申请实施例的一种测试装置的功能单元组成框图。测试装置500包括:获取单元510、确定单元520和比较单元530。
需要说明的是,获取单元510可以是一种用于收发信号、数据、信息等的模块单元,对此不作具体限制。
确定单元520可以是一种用于对信号数据、信息等进行处理的模块单元,对此不作具体限制。
比较单元530可以是一种用于对信号数据、信息等进行处理的模块单元,对此不作具体限制。
在一些可能的设计中,获取单元510可以包括通信单元。其中,通信单元可以是通信接口、收发器、收发电路等。
在一些可能的设计中,确定单元520和比较单元530可以集成在一个单元中。
例如,确定单元520和比较单元530可以集成在处理单元中。其中,处理单元可以是处理器或控制器,例如可以是中央处理器(central processing unit,CPU)、通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框、模块和电路。处理单元也可以是实现计算功能的组合,例如包含一个或多个微处理器组合、DSP和微处理器的组合等。
在一些可能的设计中,测试装置500还可以包括存储单元,用于存储数据测试装置500所执行的计算机程序或者指令。该存储单元可以是存储器。
在一些可能的设计中,测试装置500可以是芯片/芯片模组/处理器/服务器/电子设备。
具体实现时,获取单元510、确定单元520和比较单元530用于执行如上述方法实施例中所描述的步骤。下面进行详细说明。
获取单元510,用于获取测试用例集合中的第一测试用例和算法软件的版本标签。
确定单元520,用于根据算法软件的版本标签确定针对第一测试用例的测试向量,测试向量包括第一测试向量和第二测试向量,以及根据第一测试向量确定待测软件的测试输出数据;
比较单元530,用于比较测试输出数据和第二测试向量,得到针对第一测量用例的测试报告。
可见,本申请通过测试用例集合来完成大规模测试的遍历,通过算法软件的版本标签确定第一测试向量和第二测试向量以保证同步测试、测试的正确性和可靠性,最后通过将待测软件的实际的测试输出数据和第二测试向量(即理想的测试输出数据)通过比较的方式以进行数据校验并生成测试报告,从而通过测试报告判断待测软件的各个功能是否符合预期要求,实现对待测软件进行自动化测试,进而提高软件测试效率、缩短软件测试时间周期、降低软件测试成本费用。
需要说明的是,图5所述实施例中各个操作的具体实现可以详见上述所示的方法实施例中的描述,在此不再赘述。
在一些可能的设计中,在根据算法软件的版本标签确定针对第一测试用例的测试向量方面,确定单元520用于:
向代码评审工具发送算法软件的版本标签;接收来自代码评审工具的可执行文件,可执行文件是由代码评审工具根据算法软件的版本标签进行线上编译以生成的;配置可执行文件以确定由算法软件所生成的针对第一测试用例的测量向量。
在一些可能的设计中,在根据第一测试向量确定待测软件的测试输出数据方面,确定单元520用于:
根据第一测试向量确定用于配置待测软件的配置消息;向待测软件发送配置消息;接收来自待测软件的测试输出数据,测试输出数据是由待测软件根据配置消息进行数据处理以生成的。
在一些可能的设计中,待测软件为运行在处理器上的固件。
在一些可能的设计中,固件用于执行以下至少之一项:运行物理层控制模块、对硬件进行配置并启动;
物理层控制模块用于执行以下至少之一项:计算上行物理信道中的逻辑函数参数、计算下行物理信道中的逻辑函数参数、处理来自高层的信令消息。
在一些可能的设计中,待测软件的版本标签和算法软件的版本标签由代码评审工具进行维护。
在一些可能的设计中,在得到针对第一测量用例的测试报告之后,测试装置还包括:
存档模块,用于若第一测试用例为测试用例集合中的最后一个测试用例,则对测试用例集合、待测软件的版本标签、算法软件的版本标签、第一测试向量、第二测试向量、测试报告中的至少之一项进行存档;或者,
获取单元510,还用于若第一测试用例不为测试用例集合中的最后一个测试用例,则获取测试用例集合中的第二测试用例,第二测试用例为第一测试用例的下一个测试用例,并按照第二测试用例对待测软件进行测试。
下面介绍本申请实施例的一种服务器的结构示意图,如图6所示。其中,服务器600包括处理器610、存储器620以及用于连接处理器610、存储器620的通信总线。
处理器610可以是一个或多个中央处理器CPU。在处理器610是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
存储器620包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(rrasable programmableread only memory,EPROM)或便携式只读存储器(compact disc read-only memory,CD-ROM),并且存储器620用于存储服务器600所执行的程序代码和所传输的数据。
服务器600还包括通信接口,该通信接口用于接收和发送数据。
服务器600中的处理器610用于执行存储器620中存储的计算机程序或指令621以实现如下所设计的方法中的步骤:获取测试用例集合中的第一测试用例和算法软件的版本标签;根据算法软件的版本标签确定针对第一测试用例的测试向量,测试向量包括第一测试向量和第二测试向量;根据第一测试向量确定待测软件的测试输出数据;比较测试输出数据和第二测试向量以进行数据校验,得到针对第一测量用例的测试报告。
可见,本申请通过测试用例集合来完成大规模测试的遍历,通过算法软件的版本标签确定第一测试向量和第二测试向量以保证同步测试、测试的正确性和可靠性,最后通过将待测软件的实际的测试输出数据和第二测试向量(即理想的测试输出数据)通过比较的方式以进行数据校验并生成测试报告,从而通过测试报告判断待测软件的各个功能是否符合预期要求,实现对待测软件进行自动化测试,进而提高软件测试效率、缩短软件测试时间周期、降低软件测试成本费用。
另外,通过服务器600的计算优势实现对待测软件进行自动化测试,进一步提高软件测试效率、缩短软件测试时间周期、降低软件测试成本费用。
需要说明的是,服务器600执行的各个操作的具体实现可以参见上述所示的方法实施例的相应描述,在此不再赘述。
在一些可能的设计中,在根据算法软件的版本标签确定针对第一测试用例的测试向量方面,处理器610用于执行存储器620中存储的计算机程序或指令621以实现如下所设计的方法中的步骤:
向代码评审工具发送算法软件的版本标签;接收来自代码评审工具的可执行文件,可执行文件是由代码评审工具根据算法软件的版本标签进行线上编译以生成的;配置可执行文件以确定由算法软件所生成的针对第一测试用例的测量向量。
在一些可能的设计中,在根据第一测试向量确定待测软件的测试输出数据方面,处理器610用于执行存储器620中存储的计算机程序或指令621以实现如下所设计的方法中的步骤:
根据第一测试向量确定用于配置待测软件的配置消息;向待测软件发送配置消息;接收来自待测软件的测试输出数据,测试输出数据是由待测软件根据配置消息进行数据处理以生成的。
在一些可能的设计中,待测软件为运行在处理器上的固件。
在一些可能的设计中,固件用于执行以下至少之一项:运行物理层控制模块、对硬件进行配置并启动;
物理层控制模块用于执行以下至少之一项:计算上行物理信道中的逻辑函数参数、计算下行物理信道中的逻辑函数参数、处理来自高层的信令消息。
在一些可能的设计中,待测软件的版本标签和算法软件的版本标签由代码评审工具进行维护。
在一些可能的设计中,在得到针对第一测量用例的测试报告之后,处理器610用于执行存储器620中存储的计算机程序或指令621以实现如下所设计的方法中的步骤:
若第一测试用例为测试用例集合中的最后一个测试用例,则对测试用例集合、待测软件的版本标签、算法软件的版本标签、第一测试向量、第二测试向量、测试报告中的至少之一项进行存档;或者,
若第一测试用例不为测试用例集合中的最后一个测试用例,则获取测试用例集合中的第二测试用例,第二测试用例为第一测试用例的下一个测试用例,并按照第二测试用例对待测软件进行测试。
本申请实施例还提供一种计算机可读存储介质,其存储有计算机程序或指令,该计算机程序或指令被执行时以实现上述实施例中所设计的方法中的步骤。
本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,其中,该计算机程序或指令被执行时以实现上述实施例中所设计的方法中的步骤。
示例性的,该计算机程序产品可以为一个软件安装包。
需要说明的是,对于上述的各个实施例,为了简单描述,将其都表述为一系列的动作组合。本领域技术人员应该知悉,本申请不受所描述的动作顺序的限制,因为本申请实施例中的某些步骤可以采用其他顺序或者同时进行。另外,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作、步骤、模块或单元等并不一定是本申请实施例所必须的。
在上述实施例中,本申请实施例对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
关于上述实施例中描的各个装置、产品包含模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。例如,对于应用或集成芯片的各个装置、产品其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者至少部分模块/单元可以采用软件程序的方式实现,该运行于芯片内部集成处理器,剩余的部分模块/单元可以采用电路等硬件方式实现;对于应于或集成芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同模块/单元可以位于芯片模组的同一件(例如片、电路模块等)或者不同组件中,至少部分/单元可以采用软件程序的方式实现,该软件程运行于芯片模组内部集成处理器剩余部分模块/单元可以采用电路等硬件方式实现;对于应或集成终端的各个装置、产品,其包含的模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者至少部分模块/单元可以采用软件程序的方式实现,该序运行于终端内部集成的处理器,剩余分模块/单元可以采用电路等硬件方式实现。
本领域技术人员应该知悉,本申请实施例所描述的方法、步骤或者相关模块/单元的功能可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式来实现,也可以是由处理器执行计算机程序指令的方式来实现。其中,该计算机程序产品包括至少一个计算机程序指令,计算机程序指令可以由相应的软件模块组成,软件模块可以被存放于RAM、闪存、ROM、EPROM、EEPROM、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。该计算机程序指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。例如,该计算机程序指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质、或者半导体介质(如SSD)等。
上述实施例中描述的各个装置或产品包含的各个模块/单元,其可以是软件模块/单元,可以是硬件模块/单元,也可以一部分是软件模块/单元,而另一部分是硬件模块/单元。例如,对于应用于或集成于芯片的各个装置或产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现;或者,其包含的一部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,而另一部分(如果有)的部分模块/单元可以采用电路等硬件方式实现。对于应用于或集成于芯片模组的各个装置或产品,或者应用于或集成于终端的各个装置或产品,同理可知。
以上所述的具体实施方式,对本申请实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请实施例的具体实施方式而已,并不用于限定本申请实施例的保护范围。凡在本申请实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请实施例的保护范围之内。
Claims (10)
1.一种测试方法,其特征在于,包括:
获取测试用例集合中的第一测试用例和算法软件的版本标签;
根据所述算法软件的版本标签确定针对所述第一测试用例的测试向量,所述测试向量包括第一测试向量和第二测试向量;
根据所述第一测试向量确定待测软件的测试输出数据;
比较所述测试输出数据和所述第二测试向量以进行数据校验,得到针对所述第一测量用例的测试报告。
2.根据权利要求1所述的方法,其特征在于,所述根据所述算法软件的版本标签确定针对所述第一测试用例的测试向量,包括:
向代码评审工具发送所述算法软件的版本标签;
接收来自所述代码评审工具的可执行文件,所述可执行文件是由所述代码评审工具根据所述算法软件的版本标签进行线上编译以生成的;
配置所述可执行文件以确定由所述算法软件所生成的针对所述第一测试用例的所述测量向量。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一测试向量确定待测软件的测试输出数据,包括:
根据所述第一测试向量确定用于配置所述待测软件的配置消息;
向所述待测软件发送所述配置消息;
接收来自所述待测软件的所述测试输出数据,所述测试输出数据是由所述待测软件根据所述配置消息进行数据处理以生成的。
4.根据权利要求1所述的方法,其特征在于,所述待测软件为运行在处理器上的固件。
5.根据权利要求4所述的方法,其特征在于,所述固件用于执行以下至少之一项:运行物理层控制模块、对硬件进行配置并启动;
所述物理层控制模块用于执行以下至少之一项:计算上行物理信道中的逻辑函数参数、计算下行物理信道中的逻辑函数参数、处理来自高层的信令消息。
6.根据权利要求1所述的方法,其特征在于,所述待测软件的版本标签和所述算法软件的版本标签由代码评审工具进行维护。
7.根据权利要求1-6任一项所述的方法,其特征在于,在所述得到针对所述第一测量用例的测试报告之后,还包括:
若所述第一测试用例为所述测试用例集合中的最后一个测试用例,则对所述测试用例集合、所述待测软件的版本标签、所述算法软件的版本标签、所述第一测试向量、所述第二测试向量、所述测试报告中的至少之一项进行存档;或者,
若所述第一测试用例不为所述测试用例集合中的最后一个测试用例,则获取所述测试用例集合中的第二测试用例,所述第二测试用例为所述第一测试用例的下一个测试用例,并按照所述第二测试用例对所述待测软件进行测试。
8.一种测试装置,其特征在于,包括:
获取单元,用于获取测试用例集合中的第一测试用例、待测软件的版本标签和算法软件的版本标签;
确定单元,用于根据所述算法软件的版本标签确定针对所述第一测试用例的测试向量,所述测试向量包括第一测试向量和第二测试向量,以及根据所述第一测试向量确定所述待测软件的测试输出数据;
比较单元,用于比较所述测试输出数据和所述第二测试向量,得到针对所述第一测量用例的测试报告。
9.一种服务器,包括处理器、存储器及存储在所述存储器上的计算机程序或指令,其特征在于,所述处理器执行所述计算机程序或指令以实现权利要求1-7任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序或指令,所述计算机程序或指令被执行时实现权利要求1-7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111446180.2A CN114116497A (zh) | 2021-11-29 | 2021-11-29 | 测试方法与装置、服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111446180.2A CN114116497A (zh) | 2021-11-29 | 2021-11-29 | 测试方法与装置、服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114116497A true CN114116497A (zh) | 2022-03-01 |
Family
ID=80368667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111446180.2A Pending CN114116497A (zh) | 2021-11-29 | 2021-11-29 | 测试方法与装置、服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114116497A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117234955A (zh) * | 2023-11-15 | 2023-12-15 | 同力天合(北京)管理软件股份有限公司 | 一种基于物联网的软件测试管理方法及系统 |
-
2021
- 2021-11-29 CN CN202111446180.2A patent/CN114116497A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117234955A (zh) * | 2023-11-15 | 2023-12-15 | 同力天合(北京)管理软件股份有限公司 | 一种基于物联网的软件测试管理方法及系统 |
CN117234955B (zh) * | 2023-11-15 | 2024-01-12 | 同力天合(北京)管理软件股份有限公司 | 一种基于物联网的软件测试管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107516090B (zh) | 一体化人脸识别方法和系统 | |
CN109034394B (zh) | 一种机器学习模型的更新方法和装置 | |
US20140245264A1 (en) | Identifying Test Cases Based on Changed Test Code | |
CN110647332A (zh) | 基于容器云的软件部署方法和装置 | |
CN113553257B (zh) | 测试方法、装置、存储介质及电子设备 | |
CN110058920B (zh) | 虚拟机性能检测方法及装置、电子设备、存储介质 | |
CN108536579B (zh) | 资源受限设备测试系统和方法 | |
CN110674047A (zh) | 软件测试方法、装置及电子设备 | |
CN104536900A (zh) | 控制移动终端的方法及装置 | |
CN110058998A (zh) | 软件测试方法及装置 | |
CN115277261B (zh) | 基于工控网络病毒的异常机器智能识别方法、装置、设备 | |
CN110908922A (zh) | 应用程序的测试方法和装置 | |
CN111092767B (zh) | 用于调试设备的方法及装置 | |
CN112306857A (zh) | 用于测试应用的方法和装置 | |
CN112363938A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN113268416A (zh) | 一种应用程序的测试方法、装置、存储介质及终端 | |
CN114116497A (zh) | 测试方法与装置、服务器 | |
CN111625291B (zh) | 数据处理模型自动迭代方法、装置及电子设备 | |
CN112988578A (zh) | 一种自动化测试方法和装置 | |
CN112527678A (zh) | 用于测试协议的方法、装置、设备以及存储介质 | |
CN110716778B (zh) | 应用兼容性测试方法、装置及系统 | |
CN110609786A (zh) | 软件测试方法、装置、计算机设备和存储介质 | |
CN111459506A (zh) | 深度学习平台集群的部署方法、装置、介质及电子设备 | |
CN111476349A (zh) | 一种模型测试方法及服务器 | |
CN114268650A (zh) | 用于建立通信连接的配置方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |