嵌入式软件测试怎么实现自动化测试?_嵌入式软件自动化测试,2024年最新了解软件测试架构组件后构建APP超简单

198 阅读9分钟

² 具有插件化的功能扩充能力,无论是通信协议描述还是测试用例描述,平台都提供了对插件的开发支持;

² 具有分布式的软件体系架构和计算能力,可实现从单机到多机不同规模的测试环境构建;

² 可以完成单配置项单接口、单配置项多接口以及多配置项的系统测试任务;

² 支持多种类型测试:功能测试、接口测试、边界测试、强度测试、安全性测试、恢复性测试、性能测试、敏感性测试、余量测试、容量测试、压力测试、随机测试、异常测试等。

嵌入式软件测试怎么实现自动化测试?shimo.im/docs/R13j8KEoQ9sVrNk5/

1.2 ESITest主要功能

² 支持的I/O接口类型包括:RS232、RS422、RS485、MIL-STD-1553B、CAN、TCP、UDP、AD、DA、DI、DO、ARINC429、FlexRay、SPI、I2C,并可灵活补充扩展;

² 支持对待测系统及其外围环境、接口情况等进行可视化仿真建模设计;

² 提供通讯协议描述语言(DPD语言)及其编译编辑环境;

² 支持自定义可视化数据监控界面以及实时数据监控;

² 具有测试用例脚本编辑、开发与执行能力;

² 实时记录测试数据并加时间戳自动保存;

² 提供测试数据生成、接口调试等相关工具;

² 支持测试数据管理及统计分析;

² 高精度的数据采集及数据转换;

² 可通过表格、仪表、枚举、曲线图以及状态灯等手段实时监测关键变量;

² 可按二进制、十进制、十六进制监测输入与输出的原始报文并查询过滤;

² 支持测试记录及结果的查看、测试报告自动生成;

² 测试脚本语言支持时序测试和多线程任务测试;

² 系统扩展能力强,可灵活组建大、中、小不同规模的测试环境;

² 可根据测试需求集成函数发生器与高性能示波器等测试设备。

1.3 ESITest架构

平台由软件和硬件两部分组成。软件部分主要包括测试设计软件模块、测试执行服务软件模块、测试执行客户端软件模块、设备资源管理软件模块、各类接口设备调试软件及测试辅助软件等。硬件部分主要包括测试主机、各类接口板卡以及相关设备等。

根据不同的客户需求,平台提供USB模式(ESITest-USB)、PCI工控机模式(ESITest-PCI)与PXI机箱模式(ESITest-PXI)三种类型的架构产品。不同类型架构产品测试主机与接口板卡的形式不同。


脚本程序实现自动化测试当然可行,如下:

常用嵌入式系统软件仿真自动化黑盒测试平台

一、 ETest

简介

通用嵌入式系统测试平台(Embedded System Interface Test Studio,简称:ETest)是针对嵌入式系统进行实时、闭环、非侵入式测试的自动化测试平台,适用于嵌入式系统在设计、仿真、开发、调试、测试、集成验证和维护等各阶段配置项级别和系统级别的动态测试与验证。

主要特点

² 是一套完整的针对嵌入式系统的自动化动态确认测试平台,可以实现硬件在环、非侵入式的系统级测试,完成基于实装难以完成的测试任务;

² 集成测试资源管理、测试环境描述、协议脚本开发、测试用例设计、测试执行监控、测试任务管理等功能为一体;

² 具有通用化的通信协议定义与描述语言处理环境,可以定义和描述各类结构的总线协议

² 具有高度开放的协议模板管理接口,通过不断在测试中积累各领域的应用层协议,实现针对不同领域嵌入式系统自动化测试解决方案的快速构建;

² 提供丰富的测试监控仪表和高度灵活的协议字段绑定方法,支持收发数据字段的双向绑定,并具有表达式绑定能力;

² 集可视化窗体灵活配置的人工测试与脚本化语言高级开发的自动化测试于一体,满足初、中、高不同级别的测试需求;

² 提供测试用例脚本编辑与开发环境,通过简单的通道与协议字段赋值,便可完成测试数据的收发与测试逻辑的判断;

² 在底层实现了接口与通道管理、协议组包与解包、协议的校验、测试参数的组合等功能,测试人员只需将关注点放在测试逻辑的设计与实现上;

² 具有插件化的功能扩充能力,无论是通信协议描述还是测试用例描述,平台都提供了对插件的开发支持;

² 具有分布式的软件体系架构和计算能力,可实现从单机到多机不同规模

的测试环境构建;

² 可以完成单配置项单接口、单配置项多接口以及多配置项的系统测试任务;

² 支持多种类型测试:功能测试、接口测试、边界测试、强度测试、安全

性测试、恢复性测试、性能测试、敏感性测试、余量测试、容量测试、压力测试、

随机测试、异常测试等。

主要功能

² 支持的 I/O 接口类型包括:RS232、RS422、RS485、MIL-STD-1553B、CAN、 TCP、UDP、AD、DA、DI、DO、ARINC429、FlexRay、SPI、I2C,并可灵活补充扩展;

² 支持对待测系统及其外围环境、接口情况等进行可视化仿真建模设计;

² 提供通讯协议描述语言(DPD 语言)及其编译编辑环境;

² 支持自定义可视化数据监控界面以及实时数据监控;

² 具有测试用例脚本编辑、开发与执行能力;

² 实时记录测试数据并加时间戳自动保存;

² 提供测试数据生成、接口调试等相关工具;

² 支持测试数据管理及统计分析; ² 高精度的数据采集及数据转换;

² 可通过表格、仪表、枚举、曲线图以及状态灯等手段实时监测关键变量;

² 可按二进制、十进制、十六进制监测输入与输出的原始报文并查询过滤;

² 支持测试记录及结果的查看、测试报告自动生成;

² 测试脚本语言支持时序测试和多线程任务测试;

² 系统扩展能力强,可灵活组建大、中、小不同规模的测试环境;

² 可根据测试需求集成函数发生器与高性能示波器等测试设备。

价格

共享版免费,商用版本价格不详。


自动化测试框架摸索

已剪辑自: my.oschina.net/u/4391746/b…

步骤 1:筛选测试用例,按照测试用例的步骤按部就班的写脚本

​ 初步接触自动化测试,对自动化测试不熟悉,对公司产品不熟悉,对用于写自动化的工具也不熟悉的情况下,只能根据给出的测试用例对能够写测试用例的部分进行筛选,然后根据测试步骤以及测试结果来编写测试脚本。

该脚本存在很多的缺点:

​ 1、只能检测测试用例所能测试单个点,甚至因为工具的限制不能遍历多组数据,使得测试不够充分;

​ 2、同样步骤的用例在每一个脚本都必须重新写一遍;

​ 3、脚本的移植性非常弱,及时能够移植也需要更改测试数据;

​ 4、该脚本耗时耗力,编写和调试的周期很长,只适用于周期很长的项目。

步骤 2:自动化测试框架思想的形成

​ 在编写完一个项目的测试脚本之后,对自动化测试工具以及功能模块都有了一定的熟悉,随之而来你的疑问也就来了:

​ 1、同样步骤的脚本我是否可以提取出来作为一个框架应用在另外的脚本中?

​ 2、同样功能的模块是不是可以提取出来作为一个框架应用在另外的脚本中?

​ 3、是否可以利用各功能提取出来的框架,结合各个功能模块之间的逻辑编写场景测试脚本?

​ 4、在测试过程中每一次编写测试脚本都需要更改数据,我是不是可以将自动化程序与测试的数据分开来?

步骤 3:自动化测试框架实现分析

​ 随着上面疑问的产生,如何解决这些问题就成了重中之重。如何形成自己的框架,我觉得可行的方法主要有两种:

​ 1、找度娘,搜索很多的测试代码,选择合适的慢慢的形成自己的代码库;

​ 2、自己会编程语言,慢慢的挑选出能够做自动化的测试用例,自己一条条的编写基本的测试脚本,积少成多形成自己的代码库。

​ 方式一对于不太会编程语言的人来说无疑是一种最好的方式,因为你只需要复制粘贴然后修改里面的一些简单的函数就可以应用。但是该方法也存在一定的缺点,都说别人的不一定是适合自己的,每一个人的工作环境以及需求多多少少都会有差异,所以不 一定全都使用。方式二是测试人员都希望达到的,就有一定的挑战,但是如果做到了却会让你受益非常。那么什么是自动化测试框架?自动化测试框架的就是把公共的累核函数做在一个包里为实现某个测试目的而编写的测试程序。

​ 当前对于不同的测试以及不同的编程语言有不同的测试框架单元 JAVA 测试框架 Junit,JAVA 测试框架 TestNG,以及 python 语言对应的 Pyunit 框架以及 Robot Framework 等,以及 Web 自动化测试工具 selenium、QTP,性能自动化测试工具 loadrunner、jmeter,

接口自动化测试工具 SoapUI、postman,手机自动化测试工具 robotium、appium 等。

img img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

了解详情》docs.qq.com/doc/DSlVlZExWQ0FRSE9H