共计 1598 个字符,预计需要花费 4 分钟才能阅读完成。
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
http://docs.openstack.org/developer/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 http://www.linuxidc.com/Linux/2013-08/88184.htm
Ubuntu 12.04 OpenStack Swift 单节点部署手册 http://www.linuxidc.com/Linux/2013-08/88182.htm
OpenStack 云计算快速入门教程 http://www.linuxidc.com/Linux/2013-08/88186.htm
企业部署 OpenStack:该做与不该做的事 http://www.linuxidc.com/Linux/2013-09/90428.htm
CentOS 6.5 x64bit 快速安装 OpenStack http://www.linuxidc.com/Linux/2014-06/103775.htm
正文完
星哥玩云-微信公众号