背景
近几年,各家商业银行均在大力发展自动化测试。在这一进程中,自动化测试的设计理念不断完善,新的技术不断应用,使得自动化测试资产的积累代价和维护代价不断降低,自动化测试资产的数量不断增长。
在短短几年间,自动化测试资产的数量已从数千增长至数万乃至数十万。
商业银行的自动化测试平台所管理的自动化测试案例往往数量庞大、隶属于不同的系统,自动化测试对象类型各不相同,这就要求对商业银行的自动化测试平台支持多种对象类型的自动化测试,尤其对文件对象管理及文件对象自动化测试提出了更高的要求。
文件类对象自动化测试为测试步骤中需要上传或下载具体文件。文件类对象往往被认为是“不适合自动化测试”,主要有以下几个难点:
一、文件类对象的存储问题;
二、回归执行自动化测试案例时文件加载问题;
三、文件更新后,自动化测试案例的批量修复问题。
自动化测试资产的大幅增长和回归频率的显著提升,对自动化测试平台的执行能力提出了更高的要求,并发执行成为必然选择。特别是在高并发的场景下,文件类对象的自动化测试难度进一步提高。
为解决这一难题,本文提出一种高并发场景下文件对象的自动化测试解决方案。
实现大规模、高效率的自动化测试需要考虑以下几个因素:
1. 测试策略
制定一份清晰的测试策略是至关重要的。该测试策略应涵盖测试对象、测试范围、测试目标、测试环境、测试计划、测试用例设计等方面,并且应该被所有测试人员理解和遵循。
2. 工具选择
选择适当的测试工具可以提高自动化测试的效率和可靠性。例如,Selenium WebDriver 可以用于 web 界面测试,JMeter 可以用于负载测试,Appium 可以用于移动应用程序测试等。
3. 自动化脚本设计
设计高质量的自动化脚本可以提高测试效率和准确性。在编写自动化脚本时,需要考虑以下因素:
脚本的可维护性:尽可能使用简单、易于理解的代码。
脚本的可重用性:尽可能重用相同的代码段来避免重复编写相同的代码。
脚本的灵活性:使脚本能够覆盖各种情况。
脚本的可扩展性:能够轻松地添加新的测试用例或功能。
4. 数据管理
在执行自动化测试时,需要使用大量的测试数据。正确管理测试数据对于自动化测试的成功非常重要。可以使用数据库或 Excel 表格等工具来管理测试数据。
5. 并行执行
并行执行自动化测试可以显著提高测试效率。可以通过在不同的机器上运行测试用例或同时运行多个测试用例来实现并行执行。
6. 持续集成
将自动化测试与持续集成系统集成可以实现快速反馈和准确性。每次提交代码后,持续集成系统会自动运行测试套件,以确保新代码没有破坏现有功能。
7. 测试报告
测试报告是评估测试结果的重要组成部分。应该创建易于理解的测试报告,其中包含详细的测试结果、错误信息和建议的修复措施。
方案详细介绍
总体来讲,本方案将文件对象平台化集中管理,再基于自动化测试平台的执行机执行集群,将测试平台生成文件唯一URL转换为本地路径,将文件下载至执行机本地从而执行测试脚本,提升了文件对象的大规模执行效率,降低了文件对象的维护及管理成本,高效地支撑商业银行自动化测试任务。
文件对象平台化集中管理
自动化测试平台提供统一的入口供用户上传管理文件,每个文件上传之后会生成唯一的文件URL,见图1。只需要把平台生成的URL填写在案例对应的字段中即可。
如果上传的文件有更新或者要编辑,只需从自动化测试平台中重新上传更新后的文件即可,URL不会更新,自动化测试案例无需维护。
用户不需要登录每个执行机去上传、更新、编辑要上传的文件,执行机扩充也不需要单独再维护上传文件,大幅度提升了测试执行效率,降低维护成本,具有很高的灵活性。
图1 文件上传管理
执行机集群自动转换文件路径
当执行机集群接收到平台发起的案例执行任务之后,会将案例中填写的平台生成的URL自动转换为本地路径。
执行到案例上传文件这一步骤时,会将文件从平台服务器下载至执行机本地,执行案例脚本,完成文件上传脚本的执行,执行结束后将执行结果传回至测试平台。
文件路径更新之后,执行机内置程序无需变动,直接更新本地路径下载文件。
执行机集群实现平台URL转变为本地路径对用户是透明的,用户只需在测试平台入口上传更新文件,从而减少用户操作流程,简化文件对象自动化测试步骤。
文件对象自动化测试
本方案通过文件集中管理的方法及配套的多并发执行机集群自动实现文件URL转化,将文件唯一URL转换为执行机本地路径,执行自动化测试脚本时,会自动化实现文件对象的上传及下载,从而满足高并发场景文件对象的自动化测试。
整个自动化测试过程中,用户和执行机群是解绑的,用户不用登陆执行机做任何操作。整个文件自动化测试流程为见图2:
图2 文件自动化测试流程图
本方案的优点
本方案将文件对象集中平台化管理,测试人员可将需要上传的文件通过统一入口上传至平台,平台为每个文件生成唯一的URL。
测试人员不需要登录每台执行机维护文件,执行机增加后不需要对新增的执行机做任何操作,文件维护更新也仅需要在平台重新上传文件。
降低了文件对象开展大规模自动化测试的维护成本,降低了测试人员的工作量。
本方案设计的执行机集群自动转化文件路径的方法,将平台生成的文件URL自动转换为执行机本地路径,执行机执行测试脚本时会从本地路径自动下载上传文件。文件路径更新之后,执行机内置程序无需变动,直接更新本地路径下载文件。简化了文件对象自动化测试步骤,更加灵活。
本方案设计的文件对象自动化测试方法,使得测试人员在平台一次性上传文件,执行机执行自动化案例时便可以自动实现文件的下载及上传。通过简单的文件上传操作与配套的执行机集群自动化转化文件路径机制,便可实现大规模的文件对象自动化测试。