第6.1节 精准测试Agent简介

在精准测试平台中,采用的是微服务开发模型,但是会发现有很多情况需要处理文件和数据,同时也有对服务器有特殊要求的,如IOS精准测试相关操作,需要mac系统以及xcode开发环境。为了更好的处理数据,兼容各种平台的测试需求,我们把数据处理,报告生成与解析等相关操作开发成一个独立的服务。

6.1.1 Android Agent介绍

Android Agent为完成Android端覆盖率报告的生成,关联用例等功能的服务,本来可以做成微服务的形式,早期由于和iOS端放在了一起,而iOS相关功能无法布置到容器上,就直接使用django开发了一个服务,通过Http接口完成相应的操作。后来功能越来越强大,就将Android和iOS拆分出来,Android agent为Flask框架开发的服务,django无法部署到公司的容器上。

Flask的'微'体现在它只提供Web服务的基本功能,其他的功能是由Flask的扩展实现,用户可以根据需求应用核心扩展。它的基本功能依赖于符合 WSGI 规范(Web Server Gateway Interface)的 Werkzeug 库和模板系统 Jinja2。 当我们通过URL访问网站时,是向Web服务器发送了请求。服务器会根据URL将请求交给相应的Web程序处理。所以服务器与Web应用程序的交互需要一定的规则。而Python专用的规范是WSGI [PEP-3333定义],文章 WSGI简介 给出了简单说明。

框架介绍:https://geekkeen.github.io/introduce-flask.html

6.1.2 iOS Agent介绍

iOS由于其系统的特殊性,很多操作需要在Mac电脑上完成,覆盖率报告生成与解析,调用链路生成等都需要使用Mac上的命令来处理,所以也就无法部署到容器上。于是将iOS Agent开发成单独的服务,由Django开发,对外提供http请求接口,部署到Mac机器上以响应精准测试平台的请求。

Django 网络应用程序通常将处理每个步骤的代码分组到单独的文件中:

Django 是一个高级的 Python 网络框架,可以快速开发安全和可维护的网站。由经验丰富的开发者构建,Django 负责处理网站开发中麻烦的部分,因此你可以专注于编写应用程序,而无需重新开发。 它是免费和开源的,有活跃繁荣的社区,丰富的文档,以及很多免费和付费的解决方案。

框架介绍:https://developer.mozilla.org/zh-CN/docs/Learn_web_development/Extensions/Server-side/Django/Introduction

6.1.3 技术选型

在做测试开发的过程中,其实会遇到很多选择技术桟的情况。

1,与公司主流技术一致

比如说,在公司A,他们主流的开发语言是java, 当然开发测试工具或是平台的时候,就选择java技术桟,可以方便的使用公司的基建,调用被测试的服务等;如果公司B中使用的是Python或是Go,就要切换到相应的技术桟。

2,从解决问题出发选择技术

无论是开发的平台或是工具,都是为了解决一类问题的,什么技术解决问题方便,就使用什么技术。比如开发平台,我使用的是java spring+vue, 处理报告的数据就采用的是python系列的服务,当然做覆盖率SDK的注入,又会使用Shell和ruby编写脚本。每个语言都有其特点,不可能解决所有的问题。

3,从自身出发

从你自身出发,如果你会的语言多,就按上面的两个来处理,如果你会的不多。就选择你精通的语言,这样投入产出比最高,也不会浪费太多的时间去学习新的技术,当然后期还是需要不断地提高自己的能力,争取从解决问题出发,选择最优的解决方案。

相关推荐
潘锦10 小时前
AI Agent 核心策略:Gemini CLI 和 Claude Code 的上下文隔离策略和细节
agent
安思派Anspire1 天前
Google 新 LLM 仅需 0.5GB 内存即可运行——如何在本地对其进行微调
aigc·openai·agent
GoGeekBaird2 天前
关于垂类AI应用落地行业的方法论思考
后端·github·agent
AI大模型2 天前
无所不能的Embedding(06) - 跨入Transformer时代~模型详解&代码实现
程序员·llm·agent
AI Echoes2 天前
LLMOps平台:开源项目LMForge = GPTs + Coze
人工智能·python·langchain·开源·agent
聚客AI2 天前
🚀从零构建AI智能体:九大核心技术拆解与落地建议
人工智能·agent·mcp
Aloudata技术团队2 天前
当“数据波动”遇上“智能归因”,谁在背后画出那张因果地图?
数据分析·agent
字节跳动数据平台2 天前
认知引擎:企业下一个决胜分水岭
agent
产品研究员2 天前
AI智能体管理后台原型拆解:5大核心模块+模版分享
aigc·agent·产品经理