一、开发背景
1.1Linux系统测试困难与问题产品迭代时间短,容易引入新bug
以人工测试为主
回归测试占比大,测试人手不足,测试环境不足
对测试人员的技术要求较高
有些手工难做到的测试
复杂测试环境部署难
1.2Linux操作系统自动化测试平台
基于以上背景,基于Avocado的Linux操作系统自动化测试平台应运而生,以保证操作系统质量可靠性。
1.3 优势
提高测试效率,节约人力,最大限度的缩短测试时间
降低人工测试的错误概率
回归测试更方便,可靠
使用脚本语言和一些现有的库
相比其他自动化工具开发和迭代的效率极高。支持多环境上部署
突破其他自动化工具部署环境局限的瓶颈。
支持多版本的系统测试
支持BC-Linux、CentOS及其他Linux发行版(RHEL、OpenSUSE、Fedora)操作系统。
集成复杂测试
能够集成其他自动化工具无法进行的复杂的测试项目,轻松的部署复杂多机/双机高可用环境并进行测试,支持虚拟化的迁移等一系列复杂的虚拟化测试。
二、功能说明
2.1 介绍
Avocado是一款开源的自动化测试框架,它主要是由 autotest项目开发者开发的一款新的下一代自动化测试框架,目的是逐渐取代原来的autotest项目,主要开发语言为 python[1]。本次是使用Avocado-VT是Avocado的一个插件,它主要是为了支持与虚拟化相关的测试,它的前身是基于autotest的virt-test项目。
它的主要目的是帮助虚拟化社区的开发者建立一套虚拟化回归测试的框架,通过虚拟化技术搭建测试环境并执行众多的自动化测试项。[2]
2.2 优势
便捷安装
可集成度高,扩展性好,大大提高了测试效率,降低成本
用户隔离,资源自动回收
测试可追溯性,无论是运行态还是完成态的结果都可查询
简明扼要的测试报告
2.3 如何运行测试[2]
图2-1 测试流程
2.4 如何编写测试项目
以获取正常运行时间为例子编写一个测试项目[1]。
2.4.1执行脚本目录$ cd $AVOCADO_DATA/avocado-vt/test-providers.d/downloads/tp-bclinux2.4.2配置文件
①Avocado-vt不遍历目录,它使用笛卡尔配置(笛卡尔配置是一种高度专门化的方法,用于在各种类别的组合中提供键/值对列表)来定义测试和所有可能的测试变体。编写配置,需要一个文件:touch generic/tests/cfg/uptime.