TCF is a system that simplifies the creation and execution of test cases (automation, for that matter) with minimal setup effort by engineers (SW, QA and release) and autobuilders/CI alike across a wide amount of hardware platforms. It is distributed under the terms of the Apache 2.0 license.
The test framework provides means to:
- Discover and run one or many unit, integration, end-to-end automated test cases or samples with a single command line; these test cases may need no target (run in the local host) or one or more targets on which to operate.
- Locate, manage and share target hardware to maximize resource efficiency
A developer will create a feature and as part of that will create unit test cases which will be executed while developing the features until the feature is complete. Other engineers (eg: QA) might create more unit tests, integration and end-to-end tests to validate different features working together. Testcase metadata added to the test cases indicates how to build it, where can it be run and how to determine if it is succesful or not, or how to extract significant data (like resource consumption, performance, etc) for postprocessing. These test cases can then be commited as part of the code so that other people/agents can run them. The testcase can request targets, power them up/down, connect/disconnect things to/from it, etc
When is time to run the testcases, a developer, QA engineer, or CI/automation system launches tcf, which locates them, locates remote targets where to execute them them, builds and evaluate them, parallelizing as much as possible and generating reports about the execution.
The system consists of two parts:
- tcf: the client and test runner; this command line utility it is used to manage the test targets exported by the test target brokers (servers) and to execute test cases on said targets.
- ttbd: the server; this manages test targets connected to them, serving as a proxy to the test cases being run by tcf on behalf of users.
TCF focuses only on execution, leaving reporting, coverage analysis, etc, to other tools, providing means to feed data into them. It is designed with the goal of having a small footprint and little dependencies.
Report issues and contact the authors by filling issues in https://github.com/intel/tcf/issues.
TCF是一个系统,可简化工程师在各种硬件平台上(SW,QA和发行版)和autobuilders / CI的设置工作,并简化了测试用例的创建和执行(为此自动化)。它根据Apache 2.0许可的条款进行分发。
测试框架提供了以下手段:
使用单个命令行发现并运行一个或多个单元,集成,端到端的自动化测试用例或示例;这些测试用例可能不需要目标(在本地主机中运行),也可以不需要一个或多个目标进行操作。
查找,管理和共享目标硬件,以最大程度地利用资源
开发人员将创建一个功能,并在其中创建单元测试用例,这些功能将在开发功能时执行,直到功能完成为止。其他工程师(例如QA)可能会创建更多的单元测试,集成和端到端测试,以验证可一起使用的不同功能。添加到测试用例的测试用例元数据指示如何构建它,在何处运行它以及如何确定它是否成功,或者如何提取大量数据(如资源消耗,性能等)以进行后处理。然后,可以将这些测试用例作为代码的一部分提交,以便其他人员/代理可以运行它们。测试用例可以请求目标,打开/关闭目标,与目标连接/断开连接等
当需要运行测试用例时,开发人员,QA工程师或CI /自动化系统将启动tcf,以定位它们,定位执行它们的远程目标,构建和评估它们,尽可能并行化并生成有关测试用例的报告。执行。
该系统由两部分组成:
tcf:客户端和测试运行程序;此命令行实用程序,用于管理测试目标代理(服务器)导出的测试目标,并在所述目标上执行测试用例。
ttbd:服务器;它管理与之连接的测试目标,作为tcf代表用户运行的测试用例的代理。
TCF仅专注于执行,将报告,覆盖率分析等留给其他工具使用,从而提供了向其中输入数据的方法。它的设计目标是占地面积小和依赖性小。
通过在https://github.com/intel/tcf/issues中填写问题来报告问题并联系作者。