CheckBox Navigation 2
-
-
- Understanding Checkbox
-
- 1. Test Command
- 2. Job Unit
-
- ==Note==
- 3. Test Plan
-
- ==Note==
- 4. Provider
- 5. Launcher
-
Understanding Checkbox
checkbox 本身不会测试任何东西。
它使用分组在提供程序中的单元定义来实际运行或做一些事情。
为了更好地理解checkbox 是如何工作的,让我们专注于以下实体之间的关系:
- test command (program that is invoked as a test)
- job unit
- test plan
- provider
- launcher
1. Test Command
自动化测试和一些交互式测试使用外部命令来帮助确定测试的结果。
例如:
ping 8.8.8.8 -c 1
将检查设备是否可以ping通一个公网DNS。如果命令成功(ping返回),则返回0,如果ping超时则返回1。
让我们把这个简单的命令转换成一个checkbox 测试。
2. Job Unit
以上段落中的命令现在可以在作业单元中使用:
id: ping-public-dns
_summary: Ping public DNS
plugin: shell
command: ping 8.8.8.8 -c 1
注意command字段是如何直接复制粘贴Test命令的
关系:Test命令是作业单元的一部分
Note
有些测试是完全手动的,不运行任何命令。
有关作业单元的更多信息有关作业单元的更多信息,请参阅Checkbox Unit Types
3. Test Plan
当checkbox 从命令行运行,没有任何参数,即:
$ checkbox-cli
它并没有提供系统中所有可用的测试。checkbox 询问用户要使用哪个测试计划。
Note
有关如何直接运行精心挑选的作业,请参见:checkbox-cli run
测试计划是将相关工作分组在一起的单元。它们还提供了在运行时创建新作业的机制。完成此操作的阶段称为引导。测试多gpu系统是一个很好的例子。没有人预先知道哪个GPU将出现在系统中,所以引导阶段将从模板单元实例化适当的工作单元。
关系:测试计划包括可以运行的作业。
关系:测试计划可以(通过引导)“生成”一个可以运行的作业。
您可以在这里关于模板的内容:模板单元,以及关于测试计划的内容:测试计划单元。
4. Provider
为了让checkbox 查看任何作业、测试计划和其他单元,这些单元需要写入到位于系统中可用提供者的单元子目录中的.pxu文件中。
关系:单元放置在提供者中
有关如何从头创建提供程序的教程,请参阅checkbox 教程。
5. Launcher
启动器可以使它更容易运行checkbox 在预设的方式。
例如预设:
- 使用哪些测试计划
- 会话应该是交互式的还是自动的
- 排除哪些测试
- 如何以及在哪里提交结果
这里有一个完整的启动器教程:checkbox 启动器教程。