信息系统开发平台OpenExpressApp:【OpenTest】 之 如何实现自动化测试框架

简介:

OpenExprssAppRoadmap图中的OpenTool中明确列出了测试,自动化测试框架是OpenTest的一个主要组成部分,在前面blog中我也介绍了OpenTest自动化测试框架的一些内容,本篇我介绍一下为什么现在在OEA中实现自动化测试框架,以及我是如何思考的。

两周内搭建自动化测试工具

  我现在所在项目组开发的产品都属于新产品系列,一开始连测试人员都没有,业务人员充当测试人员,做的也只能是一些操作性的点击验证,这在项目前期还没有表现出明显的问题。到产品成型,需要交付用户上线使用时,这时问题就会很快的暴露出来了,由于一个系统并不只是一个计算器那么简单,有很多地方都需要测试,而没有专人专岗进行这项测试工作室很难保证质量的。后期,我们组进入了两名测试人员,质量也有所提高,但是每次发版他们都要进行大量的回归测试,由于时间压力、对业务和系统的把握上总会遗留一些需要回归的地方,即使他们考虑周全,这种重复性的手工测试方法也不是我所希望的工作方式,IT人工作要的就是高效能,所以我给自己的要求就是两周内支持OEA中的OpenTest自动化测试。  

自动化测试框架的总体要求

  在实现自动化测试框架之前,我并不是急于考虑使用什么语言,如何设计等,我考虑的是我的测试框架应用时应该是什么样子的

  1. 面向测试人员,甚至需求人员,脚本简单易学易懂
  2. 测试脚本易维护
  3. 可以与需求、开发工作同步,不需要等待开发结束后才开始编写脚本
  4. 框架可以由有编码经验的测试人员维护扩充

方案选择

  根据上面自动化测试框架的总体要求,我没有使用VS2010自带的录制自动化测试功能,而是在OEA中加入自己的自动化测试支持:

  1. 不做通用自动化测试框架,专为OpenExpressApp编写自动化脚本,减少复杂性
  2. 编写DSL自动化测试框架,让语法变得更简单,也增加可维护性

采用技术方案选择

  由于我只给了自己两周时间完成自动化测试框架,所以只能实现一个初步可以执行的框架,完成的也是核心的部分,以下对过程中的一些技术方案进行简要说明一下

框架使用方法介绍

  1. 修改inc.rb中的$ExePath = "d:/GZJ/OpenExpressApp/OpenExpressApp.Host.WPF/bin/Debug"为你的程序路径
  2. 在框架的TestCase目录下编写测试用例文件:XXX.rb,文件大致结构如下
    01 $用例名称 = "这个测试用例的中文名称"  #出现错误后,邮件中会使用这个名称来报错
    02   
    03 #以下两个require是必须的
    04 require "inc.rb"                       
    05 require "TestCase/run_app.rb"
    06   
    07 #以下为用例步骤描述区域,相当于以前写的测试用例步骤
    08 #用例步骤描述:
    09 # 1 新增部门, 编码:Test  名称:自动化测试
    10 # 2 选择前两行和【一审人员】
    11 # 3 选中一审人员,设置部门管理的功能权限,取消部门管理下的全部展开和全部折叠功能
    12 # 4 选择数据权限页签,添加PBS业务对象,设置可读表达式为 1=1
    13 # 5 保存
    14 # 6 删除当前新增记录
    15   
    16 #以下为具体脚本
    17 打开模块 "部门管理"
    18   
    19 # 1 新增部门, 编码:Test  名称:自动化测试
    20 添加
    21 属性编辑器("编码").输入("Test")
    22 属性编辑器("名称").输入("自动化测试")
    23 ....
  3. 在框架main.rb中增加测试用例的启动命令
    01 require "inc.rb"
    02 require "mail.rb"
    03   
    04 运行测试用例文件 "demo/project.rb"
    05 运行测试用例文件 "demo/org_manage.rb"
    06 #运行测试用例文件 "demo/contract.rb"
    07   
    08 发送邮件
    09   
    10 # TestApplication.instance.app.close
    11 Playback.Cleanup()
  4. 在框架main.rb中增加邮件接收人地址
    1 #增加收件人列表
    2 $收件人 << "zhoujg@grandsoft.com.cn"
  5. 执行rub.bat运行自动化测试脚本

todo

  1. 增加检查点支持,例如行号、值,以及异常二级窗口弹出检测等
  2. 增加调度服务器,支持多个客户端分布执行测试用例
  3. 增加在OpenExpressApp应用中的录制功能,自动生成自动化测试脚本
  4. OpenMetaEdit完成后,增加图形化自动化编写工具

回顾

  1. 框架设计不能一开始陷入细节,必须先确定方向,对主要方面进行思考后才动手
  2. 执行时大致想好计划,哪些当前做,哪些后期做
  3. 时刻站在使用者角度去考虑如何简化开发方法

 








 本文转自 jingen_zhou 51CTO博客,原文链接:http://blog.51cto.com/zhoujg/518550,如需转载请自行联系原作者


相关文章
|
11天前
|
安全 Linux 虚拟化
Palo Alto Cortex XSOAR 8.8 for ESXi - 安全编排、自动化和响应 (SOAR) 平台
Palo Alto Cortex XSOAR 8.8 for ESXi - 安全编排、自动化和响应 (SOAR) 平台
31 0
Palo Alto Cortex XSOAR 8.8 for ESXi - 安全编排、自动化和响应 (SOAR) 平台
|
5天前
|
人工智能 自然语言处理 JavaScript
测试工程师要失业?Magnitude:开源AI Agent驱动的端到端测试框架,让Web测试更智能,自动完善测试用例!
Magnitude是一个基于视觉AI代理的开源端到端测试框架,通过自然语言构建测试用例,结合推理代理和视觉代理实现智能化的Web应用测试,支持本地运行和CI/CD集成。
89 15
测试工程师要失业?Magnitude:开源AI Agent驱动的端到端测试框架,让Web测试更智能,自动完善测试用例!
|
17天前
|
人工智能 安全 测试技术
AI做奥赛题能及格吗?OlympicArena:上海交大推出多学科认知推理基准测试框架,挑战AI极限
OlympicArena是由上海交大等机构联合推出的多学科认知推理基准测试框架,包含7大学科11,163道奥林匹克竞赛级题目,通过细粒度评估推动AI向超级智能发展。
76 12
AI做奥赛题能及格吗?OlympicArena:上海交大推出多学科认知推理基准测试框架,挑战AI极限
|
13天前
|
存储 安全 Linux
Metasploit Pro 4.22.7-2025040601 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.7-2025040601 (Linux, Windows) - 专业渗透测试框架
47 1
Metasploit Pro 4.22.7-2025040601 (Linux, Windows) - 专业渗透测试框架
|
13天前
|
数据采集 移动开发 算法
【硬件测试】基于FPGA的QPSK调制+软解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文基于FPGA实现QPSK调制与软解调系统,包含Testbench、高斯信道、误码率统计模块,并支持不同SNR设置。硬件版本新增ILA在线数据采集和VIO在线SNR设置功能,提供无水印完整代码及测试结果。通过VIO分别设置SNR为6dB和12dB,验证系统性能。配套操作视频便于用户快速上手。 理论部分详细解析QPSK调制原理及其软解调实现过程,涵盖信号采样、相位估计、判决与解调等关键步骤。软解调通过概率估计(如最大似然法)提高抗噪能力,核心公式为*d = d_hat / P(d_hat|r[n])*,需考虑噪声对信号点分布的影响。 附Verilog核心程序代码及注释,助力理解与开发。
51 5
|
20天前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的2ASK+帧同步系统开发与硬件片内测试,包含高斯信道,误码统计,可设置SNR
本文分享了基于FPGA的2ASK+帧同步系统硬件测试版本,包含ILA数据采集、VIO SNR设置及数据源模块。通过调整SNR(如45dB和10dB),实现对调制解调性能的验证。2ASK调制将数字信号转为二进制码,通过载波振幅变化传输;帧同步用于确定帧起始位置,确保数据正确解调。附带操作视频与核心Verilog代码,便于理解和复现。
37 9
|
13天前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.55 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.55 (macOS, Linux, Windows) - 开源渗透测试框架
35 0
Metasploit Framework 6.4.55 (macOS, Linux, Windows) - 开源渗透测试框架
|
27天前
|
运维 安全 网络安全
自动化与统一管理:Websoft9 平台为教师提供的一站式解决方案
教育场景常面临资源分散、技术门槛高、资源利用低效及安全风险等问题。Websoft9 提供自动化部署与统一管理方案,通过预集成应用模板库、容器化资源隔离和智能运维监控等技术,大幅缩短环境搭建时间,提升资源利用率并保障数据安全。其典型应用场景包括混合教学环境搭建、科研项目管理和实验课程弹性扩展,助力高校降低成本、提高效率。Websoft9 的图形化界面降低技术门槛,支持自定义开发,推动教育数字化转型,未来有望成为教学生产力提升的底层基座。
49 6
|
1月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的MSK调制解调系统系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文基于FPGA实现MSK调制解调系统,采用Verilog开发,包含同步模块、高斯信道模拟、误码率统计等功能。相比仿真版本,新增ILA数据采集与VIO在线SNR设置模块。通过硬件测试验证,展示不同SNR(如10dB和16dB)下的性能表现。研究聚焦软件无线电领域,优化算法复杂度以适应硬件限制,利用MSK恒定包络、相位连续等特性提升频谱效率。核心代码实现信号生成、调制解调、滤波及误码统计,提供完整的硬件设计与分析方案。
84 19
|
1月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的16QAM调制+软解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文基于之前开发的16QAM调制与软解调系统,增加了硬件测试功能。该系统包含FPGA实现的16QAM调制、软解调、高斯信道、误码率统计模块,并新增了ILA在线数据采集和VIO在线SNR设置模块。通过硬件测试,验证了不同SNR条件下的系统性能。16QAM软解调通过比较接收信号采样值与16个调制点的距离,选择最近的调制点来恢复原始数据。核心Verilog代码实现了整个系统的功能,包括SNR设置、信号处理及误码率统计。硬件测试结果表明系统在不同SNR下表现良好,详细操作步骤可参考配套视频。
60 13