Chromium OS Autotest 概述
Autotest是一个完全自动化测试的框架,主要用于测试Linux内核,但对许多其他功能也很有用。
- Autotest简化框图
[外链图片转存失败(img-prRZwL6a-1562313079737)(https://autotest.readthedocs.io/en/latest/_images/block_structure.png)]
Web interface and command line interface
Web接口(WEB)和命令行接口(CLI)是与autotest交互和创建任务的互补方式。都是为了用户便捷,这两种接口允许你:
- 管理任务:创建、监控、终止任务
- 管理客户端主机
- 查看结果
SERVER
服务器包含了三个主要的部分:
- 一个包含了所有的任务、客户端(测试机)、用户、和测试用例的mysql数据库
- 一个调度器(MONITOR DB)——用于从数据库中选择要运行的作业。它的输入是数据库,它几乎只是启动autoserv进程来处理请求。
- 每台机器通常有一个调度程序
- 客户端作业是异步运行的
- 服务器端作业同步运行
- Autoserv:服务器通过autoserv进程管理客户端 。每个autoserv过程:
- 控制和监视一个或多个客户端
- 验证客户端是否正常工作,如果验证失败,则尝试修复它
- 管理工作的执行
- 在开始工作之前更新每个客户端上的自动测试软件
CLIENTS
客户端完成实际的工作,典型的工作流程如下:
[外链图片转存失败(img-AOECKSiy-1562313079738)(https://autotest.readthedocs.io/en/latest/_images/job_flow.png)]
Results repository
一个包含所有结果的目录树,每个任务都由一个格式化的目录结构
Results MySQL DB
是一个简单的mysql数据库,它包含每个测试作业,测试结果和性能指标
整体结构
[外链图片转存失败(img-38GrEbZ4-1562313079739)(https://autotest.readthedocs.io/en/latest/_images/overall_structure.png)]