ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ETest系统对自动化的支持

2021-08-13 12:02:32  阅读:187  来源: 互联网

标签:脚本 数据 测试数据 系统对 测试 自动化 ETest 描述


ETest主要功能包括了测试环境的可视化描述、协议数据的描述和自动解析、测试监控界面的设计和自动运行、测试脚本的开发与运行、测试数据的实时查看与分析、测试数据的记录与事后分析、第三方测试工具的集成等。作为一款自动化测试工具产品,ETest能够帮助测试人员高效、快速地实施嵌入式软件的自动化测试,降低嵌入式软件测试环境的构建难度,提高嵌入式软件测试的质量,缩短嵌入式产品的开发周期。ETest对自动化测试的支持主要体现在以下七个方面:

一、测试交联环境描述和自动解析

ETest提供了对测试环境的描述和配置的方式,用户通过简单的配置就可以完成测试交联环境的描述;测试平台在此基础上,自动解析所配置的测试环境,实现脚本的执行。

测试交联环境的描述方法为:创建测试方案,打开"仿真模型"。仿真模型是描述待测系统同它外围的其他系统之间交联关系的图形。仿真模型将待测系统和外围系统的概念抽象出来。如果待测系统由多个设备或部件组成,只考虑外围接口,而不考虑内部的连接关系。仿真模型如图6-7所示。

图6-7 ETest仿真模型

图中中间的节点代表"待测系统",其它节点代表"外围系统"。外围系统引出的线段代表"通道",即接口形式。线段上的连线代表"协议",即通道上的数据的通信格式。协议的描述实现了应用层数据打包/解包的自动化。

用户创建"仿真模型"的时候,首先从左侧的"仿真"工具栏选择"外围系统"结点,用拖拽的方式添加到拓扑图上;然后选择"通道",用拖拽的方式添加到外围系统上。通道的类型可以在工具栏中看到,包括RS-232、RS-422、RS485、TCP客户端、TCP服务器、UDP客户端、UDP服务器、模数转换、数模转换、数字输入、数字输出、SPI、I2C、CAN、1553B、ARINC429、频率输入、频率输出、计数通道、FLexRay这些通道类型;对于其它类型的通道,可以根据用户的需要进行扩展。

用户创建完仿真模型后,ETest进行自动解析,建立模型数据;测试运行时,软件自动创建"仿真模型服务器",为测试脚本的运行提供环境数据支持。

二、协议数据自动化编/解码

针对应用层接口数据,ETest提供了一种描述语言,叫做数据协议描述语言(DPD),描述数据打包方式,并且根据该描述可以将二进制数据转换为应用层数据,从而方便测试人员在测试脚本中调用使用。

DPD语言的描述方式为:协议包含协议头、协议尾和各个字段的定义。每个字段的定义用Segment关键字打头,后面有字段名称、字段类型、属性值等信息。如图6-8描述了一个协议的例子。

图6-8 ETest数据协议描述

DPD可以描述各种复杂情况的协议,包括非整字节的协议字段、协议格式同某个字段的数值相关的情况。DPD语言还可以描述校验字段,用户只需指定校验算法,平台进行收/发的时候,自动计算生成或检查校验字段的值,免去了用户自己编程生成校验的工作。

数据协议编写完成后,用户可以使用"编译"功能检查语法。语法正确无误后,在脚本运行环境会生成协议对象。用户在编写脚本的时候,就可以使用协议对象进行数据的读/写。每个字段的值可以作为对象的属性值进行存/取。测试人员只需使用数据,而不用关心数据的编码格式。

ETest的测试脚本集成了一系列同测试相关的功能;针对各个通道,提供了脚本对接口数据进行读取/接收的接口;并且用户不需要在编写脚本的时候关心数据发送的具体格式,只需要关心数据的值即可。通过这种方式,ETest实现了对应用层测试数据编/解码的自动化操作,简化了接口数据的处理操作,提高了工作效率,节省了测试的时间和人力成本。

三、测试过程的自动可视化监控

测试监控是用户自定义的监控面板,在测试执行过程中可以实时监视、控制测试数据。测试监控面板由用户用拖拽的方式简单搭建完成; 也可以作为测试过程的操作面板;监控面板具有丰富的数据表现形式,包括枚举、仪表盘、曲线图、数字表等控件,可以直观展现测试数据;也可以输入数据、点击按钮等,对数据进行控制;还可以设置报警条件,在满足报警条件的时候,给出醒目的报警提示。测试监控运行的例子如图6-9所示。

图6-9 自动可视化监控

ETest实现了自动化的可视化监控。除了在测试执行过程中实时监视/控制测试数据外,ETest的监控还具有以下几个特点:

1)支持13种输出控件和6种输入控件。

2)支持协议数据和监控控件数据的双向同步,并支持转换公式和条件判断。

3)曲线图控件支持双数据源,以方便用户观察两个不同协议变量的变化关系。

4)支持测试过程中临时指令的控制操作。

四、测试驱动自动化

测试数据驱动的自动化可以产生不同的数据输入来作为测试数据,确保被测软件的各种输入情况都能考虑到,保证了测试的覆盖率。ETest可以做到把数据从脚本中分离出来,从外部存储单元里读入数据,使得测试的脚本逻辑变得简单,从而实现了测试数据驱动的自动化。

ETest的测试用例编写包含了"测试过程"、"前置条件"、"后置条件"、"测试数据"几个部分。"测试过程"部分是用例执行的实现部分,使用脚本编写完成;"测试数据"部分是数据管理部分,使用表格化的形式,方便进行数据的添加、删除,包括输入数据和预期输出数据两个部分。测试数据如图6-10所示。

图6-10 ETest测试数据

除此之外,测试人员可以使用脚本从其他数据源(文本文件、数据库等)中获取测试数据,实现数据和脚本的分离,以支持测试驱动自动化。

五、测试数据的自动化生成

在测试过程中,离不开测试数据。有的测试用例需要使用大量的不同的测试数据。如果测试数据的生成完全依赖手工完成,工作量将十分巨大且繁杂。测试数据的自动生成将大大改进这一问题。

ETest在测试数据生成方面,利用组合原理和组合优化算法,自动进行组合测试数据生成。如图6-11所示。

图6-11 ETest组合测试

测试数据生成的过程描述如图6-12所示。

图6-12 ETest测试数据生成过程

测试数据的组合方式有全组合、两两组合等。还可以采用随机数作为某个输入数据的取值,生成大量的测试用例,进行随机测试。

六、测试脚本框架的自动化生成

测试脚本框架与自动化测试工具和测试脚本无关,而与待测对象和其外部对象的交互方式或者接口间的逻辑关系有关。如某个端口进行操作前,需要将另一个端口的状态进行恢复,使待测件进入某种状态,否则测试用例无法正确执行;测试执行过程中,测试脚本按照某种固定格式或方式发送测试数据到待测系统,然后按照某固定方式获取测试结果数据(固定时间间隔、固定端口、固定格式),将测试数据同预期输出数值进行比较;测试执行完毕后,需要将某个端口的状态进行恢复,消除测试执行过程造成的影响。整个执行过程如图6-13描述。

图6-13 ETest脚本框架执行过程

ETest能够针对测试运行的模式,自动化生成测试脚本框架。脚本框架包含测试脚本的四个关键元素:"测试过程"、"前置条件"、"后置条件"、"测试数据"。测试人员使用脚本框架设计测试用例脚本,能够使脚本描述更加规范,逻辑更加清晰,可以防止一些常见的错误,使得测试设计思路更加清晰。测试数据分开管理,更加方便。

七、测试结果报告的自动化

测试完成后,测试人员需要提供一份详细的测试报告。测试报告需要将测试过程和结果形成文档;需要包含已经执行或未执行的测试用例,使用的测试数据,得出的测试结果等信息。测试结果报告的信息是在测试执行的过程中形成的,自动化测试平台能够按照指定格式收集、汇总这些信息,以清晰的形式呈现出来,为测试人员带来很大的方便。

ETest测试脚本提供了判定测试结果的断言机制。使用断言机制判定的测试结果会在测试结果报告中显示出来。

ETest平台的测试报告如图6-14所示。

图6-14 ETest测试报告

测试结果报告中包含了测试项目描述、测试结果、测试数据这几个章节,其中测试项目描述章节包含了测试项目概述、测试环境描述、测试资源列表、测试脚本设计这几个部分;测试结果章节包含了测试用例执行情况及其结果。

ETest软件还支持用户自定义的报告格式,方便用户使用自定义的报告模板生成测试报告。

 

标签:脚本,数据,测试数据,系统对,测试,自动化,ETest,描述
来源: https://www.cnblogs.com/yuxiaohan1236/p/15136714.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有