为什么工程仿真CAE软件需要自动化回归测试系统的应用理念与实践
发表时间:2023-10-13 08:05:03
文章来源:炫佑科技
浏览次数:174
菏泽炫佑科技
为什么工程仿真CAE软件需要自动化回归测试系统的应用理念与实践
目前,几乎所有CAE软件本身都是与测试系统分离的,*终用户一般不涉及测试系统。 CAE软件的开发人员必须清楚地了解整个自动化测试系统的构建和维护,才能很好地应用测试系统,保证软件产品的质量。 它是世界上**个向*终用户提供自动化测试系统的CAE软件,并且它还使所有自动化测试用例开源。 本文详细介绍了自动化回归测试在大规模通用仿真CAE软件中的应用概念和实践。
为什么工程仿真 CAE 软件需要自动回归测试
虽然回归测试可以手动完成,但这种方法容易出错且效率低下。 当软件较小的时候,偶尔使用一下也可以,但是当软件变大,需要多人协同工作时,就必须通过自动化来完成测试。 回归测试可确保 CAE 软件产品在发生任何变化时仍能良好地执行其现有功能。
CAE软件变更的原因通常分为四大类:
1.增加新功能。 这是运行回归测试的*常见原因,新旧代码必须完全兼容。 当开发人员开发新代码时,他们可能会忽略多年前开发的现有代码,这需要回归测试来识别潜在问题。 例如,增加网格划分控制参数,新参数的引入可能会对现有参数产生影响。 此时回归测试可以发现隐藏的问题。
2、功能修改。 在产品的早期阶段,开发人员经常修改现有功能,放弃或修改某些功能。 在这种情况下,回归测试可以检查相关功能是否被删除或修改,以确保其他功能不会受到损害。
3、功能整合。 在这种情况下,回归测试可确保软件产品与其他产品集成时完美运行。 例如,当CAE想要集成固流耦合功能时,新代码可能会影响现有结构模块或流体模块的功能。 自动化测试可以及时发现问题。
4.错误和问题修复。 这是*常遇到的工作状况。 对于像 CAE 这样的大型软件,开发人员修复已发现错误的努力可能会产生更多错误。 因此,非常需要进行回归测试来保证软件质量。
工程仿真CAE软件的回归测试类型
CAE涉及领域广泛,因此回归测试需要覆盖范围广泛。 根据多年的研发实践经验为什么工程仿真CAE软件需要自动化回归测试系统的应用理念与实践,我们将CAE仿真软件的回归测试归纳为以下几类:
1.图形界面GUI测试
现代仿真软件往往功能复杂,GUI测试是保证软件稳定性的重要组成部分。 测试软件的各种交互控件,如菜单栏、工具栏、树形结构、属性窗口、弹出菜单、对话框等自动化软件开发,以及具有复杂交互功能的三维图形显示窗口。 用户界面测试可确保应用程序具有良好的外观和感觉,这通常可以提前确保产品的用户友好程度。 关于大型CAE软件窗口的设计,请参考《大型通用仿真软件窗口设计与开发》一文。
2. 兼容性测试
CAE 软件用于不同类型的硬件和操作系统。 测试系统需要支持主流硬件系统和Linux等常见操作系统。 这就需要开发者拥有一定数量的硬件系统甚至虚拟机,并在发布大版本之前对各种用户环境进行兼容性测试。 现代CAE软件基本都是跨平台的,自动化测试运维系统需要考虑到支持的操作系统。 对于云CAE应用程序来说,需要支持测试不同的Web浏览器和网络环境。
3.计算及解精度测试
与其他类型的软件不同,工程仿真CAE软件对计算结果要求较高,精度也是测量仿真软件*重要的指标。 因此,计算沉降是测试系统的必要部分。 验证结果的常用方法是检查测试结果的*大和*小值,例如结构分析中的*大和*小应力值,以及流体分析中的*大和*小速度结果。 还有单个值的验证,例如动力系统中的总体能量值。 同时,由于不同硬件和操作系统的差异,结果需要允许一定的误差,但误差一般不超过5%。
4.数据持久化测试。
数据持久化测试是测试系统中相对复杂的部分,需要开发人员对产品有深入的了解。 软件不断更新后,需要保证旧版本工程文件的兼容性。 现代CAE软件的更新频率比较快,因此足以保证持久性项目数据在3年内能够被读取和转换。 从降低维护成本的角度来看,不需要支持很久以前的项目文件。
另外,还有一些必要的测试内容,比如安全测试、本地化和国际化测试、内存压力测试等,由于篇幅限制,这里不再赘述。
测试用例库的维护
测试库作为测试系统的重要组成部分,需要持续维护。 CAE软件会经常修改,新版本会不断发布。 修改后的新版本会增加一些新的功能或对软件功能产生一定的变化。 这时,测试用例库中的某些测试用例可能会失效,必须对测试用例库进行维护。 很多时候需要添加新的用例来测试新的功能或特性。
CAE测试用例的维护是一个不间断的过程。 软件开发的基线通常可以作为基准。 维护的主要内容包括以下几个方面。 (1)删除过时的测试用例。 (2)改进非受控测试用例。 (3)删除多余的测试用例。 (4) 添加新的测试用例。
维护测试用例库是一项大规模、长期的工作,需要开发人员投入大量资源。 因此,目前还没有成熟的CAE软件公司共享其测试库,而是将其测试用例库开源以贡献给仿真社区。
测试报告生成系统
测试结果需要易于用户浏览。 CAE软件的自动化测试用例将随着时间和功能的增加而不断增长。 数千或数万个测试用例也是常态。 自动生成测试报告,并突出显示报错的测试用例,并统计总体测试通过率。 测试结果以XML或JSON等轻量级文件的形式输出,以便在客户端显示。 它们还可以部署在云端,方便团队和互联网用户浏览,了解当前软件版本的测试结果。 测试结果文件可以包含时间标签、机器名称标签等信息,方便用户访问过去的历史测试数据。
回归测试运行周期
尽管自动化测试非常高效并且测试用例编写简洁,但运行自动化回归测试是有成本的。 随着测试用例数量的增加,每个测试需要更多的时间和资源。 运行的测试越多,成本就越高。 当一个产品即将发布,或者增加一个主要功能,或者进行大范围的修改时,都需要集中运行自动化测试。 有经验的程序员会对自己提交的代码修改有更清晰的认识。 您可以决定是运行所有测试用例、仅运行快速测试的子集,还是不运行回归测试。
自动化测试系统
经过多年的研发,大型通用工程仿真CAE软件已经趋于稳定。 近期,自动化测试系统已向*终用户开放,所有开源测试用例均已开源。 用户不仅可以在本地运行经过验证的测试用例,还可以快速创建自己的测试用例。 目前选择XML作为主要的测试文件格式。 自动化测试功能也支持Linux版本。
运行自动化测试非常简单。 从菜单栏中选择工具→播放测试...。 按照提示选择要运行的测试用例。 测试用例支持多种选择。 单击“运行”即可执行自动化测试,测试过程中无需人工干预。
创建测试用例的方法类似。 从菜单栏选择Tools→Test...,根据提示选择保存的测试文件名,然后通过GUI操作记录测试用例。
录制完成后,您可以使用文本编辑器打开XML测试文件,检查测试步骤,并手动调整和简化测试步骤。
所有测试用例均已开源并长期维护,为模拟社区做出贡献。
总结
从技术的本质来看,自动化测试系统是软件宏命令和数据持久化的结合。 然而,要开发一套工程仿真CAE软件的自动回归系统,不仅要了解可视化框架的底层逻辑,还要对各种物理工程分析案例有清晰的了解,才能创建和维护一个完整的系统。
基于多年专注CAE软件研发,直接向用户提供自动化测试系统。 用户可以在本地运行各种测试或创建自己感兴趣的测试用例。 对于求解器或网格划分器的开发人员来说,他们可以使用它来构建自动化测试系统,这大大减少了开发自己的测试系统所需的时间和资源。 它对整个工程模拟界产生了积极的影响。 目前已无缝支持一些知名的开源求解器,如、、SU2等,更多的开源求解器也在持续支持中。
本文重点介绍 CAE 软件的自动化回归测试。 所讨论的方法和实践也可以应用于其他大型软件。