OpenStack中的测试分类

OpenStack中的测试分类可以分为以下的类型: 

1) 单元测试 (small test / unit tests)

单元测试存放在每个组件的代码库中, 比如 nova的单元测试都放在 nova/tests 目录

单元测试主要是针对与源码级别的测试. 测试的是函数级别的代码

需要数据或者模拟环境? 使用Mock进行模拟

unit test一般只针对于public级别的函数 

2) 功能测试(Medium Tests)

功能测试也存放在每个组件的代码库中, 比如 nova的单元测试都放在 nova/tests 目录

和单元测试相比, 功能测试要基于真实的的依赖环境 (数据库, 文件IO系统, Hypvervisor等等) 

3) 集成测试 (Large Tests)

集成测试工具 -- SmokeStack (基于UI的集成测试工具)

https://wiki.openstack.org/wiki/Smokestack

基于Ruby的集成测试工具

https://github.com/dprince/torpedo

集成测试工具 -- Tempest

 

集成测试的代码放在独立的项目比如 tempest 中

集成测试要运行在一个完整的部署环境中, 比如一个完整的部署了OpenStack的环境

集成测试专注在系统功能, 完整性, 以及和真实硬件环境的集成

集成测试代码中一般不会使用fake / mock 

4) 界面测试 (UI tests)

社区有一个项目, 是针对于Horizon的界面进行自动化测试的

https://wiki.openstack.org/wiki/Horizon/Testing/UI 

这个测试工具使用了selenium 对Horizon进行了集成测试

在运行测试前, 要先启动OpenStack Server, 并确保Horizon运转正常. 

5) 性能测试 (stress tests / performance tests)

社区有一个项目Rally, 是针对于性能测试的

https://wiki.openstack.org/wiki/Rally 

Rally 会自动部署一个OpenStack的环境, 并运行tempest来验证环境

Rally会模拟生成用户负载, 来观测性能测试问题

Rally通过Ceilomter来收集 Hypervisor 和VM的数据, 并放在Rally的数据库中

Rally 最终会生成 性能测试报告 

6) 国际化测试 (globalization tests)

https://launchpad.net/openstack-i18n

Globalization 会测试文字翻译是否可以正常切换, 并且语法正确

Globalization 要确保文字是正确编码, 并且符合不同语言的阅读习惯 (比如阿拉伯语是从右向左的阅读习惯) 

7) 升级测试 (upgrade tests)

使用DevStack, 对OpenStack进行升级测试

https://wiki.openstack.org/wiki/Grenade

Ubuntu 12.10 上安装部署Openstack

Ubuntu 12.04 OpenStack Swift单节点部署手册

OpenStack云计算快速入门教程

企业部署OpenStack:该做与不该做的事

CentOS 6.5 x64bit 快速安装OpenStack

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/01fde07513b36264e8a21ab7537a3fbb.html