Automation test script kickoff system

为解决自动化测试结果手动更新的问题,本文介绍了一个自动化测试结果实时更新系统的设计与实现。该系统能实现在多种测试用例管理系统中自动更新测试结果,并具备任务调度、实时反馈测试进度、超时控制及停止测试等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

In my QA career, always heard the complain from Automation QA, why? After they execute the automation testing scripts, they have to update the result manually, of course there are solutions to do that automatically, for example, write a function to read the result log, then update the result to excel file. But, there is no a solution which can support all of the Test Case Manage System. And no solution can not get the results of first ten cases, eg: you have kickoff 1000 cases, if the first 10 cases failed, you want to get the status in time, then you can abort the execution of next cases, to diagnotic what's the reason of failure.

 

In order to solve the problems above, I start to develop the system to match those.

 

 

The functionalities of the system

  update automation testing results in any Test Case Management System

  dispatch the tasks (automation test) to target testing machines

  return the on-the-fly results

  timeout mechianism to control the process of automation test execution

  stop the execution of automation test

 

The structure of this system

 

 


 

Structure

In server-side:

 

there are several services,

Job Dispatcher : Used to receive requests, save message, dispatch tasks to targets

Polling Service: Get the status of task

 

In client-side:

Agent Service: listen to the coming request, execute the automation test, monitor the status of the execution, update results

Build Service: Connect to source control server

 

Basic process

 

1. Agent Service Register itself to Job Dispatcher (Machine Name, Hardware info) in first start

2. Job Dispatch put the Agent Info to DB

3. Coming request to Job Dispatch, Job Dispatch generate a task by this request and put it into DB

4. Polling service query the tasks which in DB, if Agent's status is available, task status is not start, then notify Job Dispatcher, and set the status of Agent is busy, set status of task is start

5. Job Dispatch get the task, notify Agent Service to sync code from source control server, build all code, meanwhile, start a background thread to monitor the process, when build successfully, start to execute the automation test

6. update testing result to Test Case Management

 

Technlology

 

We hope the system is flexable, portable, we choose WCF as the main tech to develop this system.

 

The Job Dispatcher , Agent Service are developed upon WCF, it easily to be call and configure.

 

### BMC 自动化测试工具和框架 BMC 软件公司提供了一系列自动化测试工具和框架,旨在帮助企业优化其 IT 流程、提高效率并减少人为错误。以下是一些与 BMC 自动化测试相关的工具和框架: #### 1. **BMC Remedyforce** BMC Remedyforce 是一个基于云的服务管理平台,支持自动化测试以确保服务的连续性和质量。通过集成 Salesforce 平台,它可以实现端到端的服务管理和自动化测试流程[^3]。 #### 2. **BMC Helix Business Workflows** BMC Helix Business Workflows 提供了一个低代码开发环境,允许用户创建复杂的业务流程并对其进行自动化测试。该工具支持多种测试场景,包括功能测试、性能测试和负载测试[^4]。 #### 3. **BMC Automated Infrastructure Library (AIL)** BMC AIL 是一个用于自动化 IT 基础设施配置和测试的框架。它支持通过脚本和模板进行自动化部署和验证,从而减少手动干预并提高测试覆盖率[^5]。 #### 4. **BMC Performance Manager** BMC Performance Manager 是一个全面的性能监控和测试工具,能够帮助用户识别系统瓶颈并优化性能。它支持自动化的性能测试工作流,确保应用程序在各种负载条件下的稳定性[^6]。 #### 5. **BMC Control-M for Automation** BMC Control-M 是一个强大的作业调度和自动化平台,支持跨多个系统的任务编排和测试。它可以通过预定义的规则和条件触发自动化测试流程,确保关键任务的执行符合预期[^7]。 ### 示例代码:使用 BMC Control-M 进行自动化测试 以下是一个简单的 Python 脚本示例,展示如何通过 BMC Control-M API 触发自动化测试任务: ```python import requests def trigger_automation_test(api_key, job_id): url = f"https://control-m-api.bmc.com/jobs/{job_id}/run" headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json" } response = requests.post(url, headers=headers) if response.status_code == 200: print("Automation test triggered successfully.") else: print(f"Error triggering test: {response.text}") # 示例调用 trigger_automation_test("your_api_key", "test_job_123") ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值