Views
|
|
Embedded Software Integration Test Platform Integrator |
Author: Zu Tao (Pitaya Technology) |
|
What is an Embedded Software Integration Test Platform |
Embedded software integration test platform is used to build a complete tool chain of embedded software continuous integration test, and realize the visualization and automation of continuous integration test execution. |
|
Solved Problem |
Embedded Software is generally used in automobiles, aircraft, factories and other fields related to personal safety, so the Quality Requirements of software are relatively high, which requires the establishment of a perfect software quality test system. Embedded software basically needs to guarantee the software quality of the whole cycle. The following is a typical enterprise embedded software development process involved in the testing flow chart: |
|
The software developer submits the developed software to the tester for testing, and the tester shall carry out the following quality work: |
Code inspection: Static analysis and inspection of code to find the rule of the code.
Unit testing: After the code is compiled into a component, the interface of the component is tested.
Integration test: Perform integration tests on components to be connected based on the software architecture design to verify that the components can run properly after integration.
System test: According to system requirements, the executable software and hardware are integrated into a system, and the function, performance and reliability of the system are tested in order to verify whether the system can meet the requirements and run normally.
|
In the current embedded software development and testing process, there are the following problems: |
Incomplete Tool Chain:
In the field of embedded software, some aspects lack effective tools, such as code inspection, unit testing, integration testing.
Tool Integration is not tight:
The whole test process designs multiple tools, and each tool comes from different manufacturers or open source products, which are not closely connected with each other, resulting in low efficiency and easy to make mistakes.
Workpieces are too scattered to manage:
The entire integration testing process involves a variety of work inputs, tools, and deliverables, including: program code, test cases, test scripts, test reports, and test tools. These artifacts are scattered in various places and lack centralized management, resulting in the failure to find and may be misused.
Lack of a unified view of quality:
Each link has its own test tools, these tools output their own test reports, lack of a unified quality view, the quality is difficult to track. |
In order to solve the quality and efficiency problems in the process of embedded software integration testing, we comprehensively analyzed the activities, tools and data related to the work, developed targeted solutions to various problems, and launched the embedded software integration test platform integrator. |
What does Embedded Software integration Test platform integrator have |
|
|
Integrator includes the following:
1) Integrated test project management and reuse.
2) The integrated test process is modeled as a workflow, and users can configure the timing parameters of each activity to facilitate execution and reuse.
3) Automatic execution and monitoring of activities.
4) Embedded software integration test tool chain: code inspection, unit testing, integration testing, system testing.
5) To provide a unified interface for various tools, tool access plug-in, extensible.
6) Centralized management of various test reports, and can synthesize quality reports according to needs.
7) Centralized management of various resources for integration testing: source code, test cases, test scripts, test reports, test tools. |
|
|
Integrator includes the following:
1) Integrated test project management and reuse.
2) The integrated test process is modeled as a workflow, and users can configure the timing parameters of each activity to facilitate execution and reuse.
3) Automatic execution and monitoring of activities.
4) Embedded software integration test tool chain: code inspection, unit testing, integration testing, system testing.
5) To provide a unified interface for various tools, tool access plug-in, extensible.
6) Centralized management of various test reports, and can synthesize quality reports according to needs.
7) Centralized management of various resources for integration testing: source code, test cases, test scripts, test reports, test tools. |
The following is a schematic of integrator's integrated Test Solution: |
|
Embedded software continuous integration Test Tool Chain |
Embedded software integration testing involves a variety of testing work: code inspection, code comparison, software compilation, unit testing, integration testing, virtual running environment construction, system testing. However, in the process of embedded software development, there is rarely a complete tool environment, so it is necessary to build a complete embedded software integrated test tool chain first. To this end, based on the experience of embedded software development and through the investigation for development and testing teams, commonly used tools for embedded software integration testing are collected and organized into a complete continuous integration tool chain, as follows: |
|
ID |
Work |
Representative Tool |
Use |
1 |
Software version control |
SVN Plug-in/Git
StarTeam
|
Manage the repository of source code. |
2 |
Code variance analysis |
Beyond
Compare
Diff Merge
|
Compare the differences between different versions of the code. |
3 |
Code rule check |
QAC
CppCheck
|
Check the various rules of the code.
|
4 |
Code quality measurement |
Testbed
NCSS
|
Measure code complexity |
5 |
Unit test |
C++Test
|
Unit test software classes. |
6 |
Code compilation and construction |
Workbench
Visual Studio
|
Compile the source code into the object program |
7 |
Integration Testing
|
Tessy
|
Tessy performs integration testing of individual components. |
8 |
Virtual Operating Environment |
Simics Plug-in
|
Build software run container, support environment simulation and run scheduling. |
9 |
Deploy
|
Object file download tool
|
Download and Run the object file. |
10 |
Test Coverage Analysis
|
DT10
|
Analyze the Test coverage of your code based on dynamically run tests. |
|
Deployment Solution |
The following is the deployment plan of embedded software integration test, which mainly establishes the working environment, tools and platform of integration test to support the specific work of integration test. |
|
The functions of each node are described as follows: |
Node |
Functional |
Integrated Test Platform |
The integration test process can be customized,
Schedule the execution of integration tests
Statistics and browse integration test quality reports |
Test Tool
|
Integration test cases can be designed
Perform integration tests
Customize integration test data |
Simulation Test Virtual Devices |
Provides a virtual device running environment
Run the device control software
Provide responses to integration testing tools through interfaces. |
Physical Test Equipment |
Provide a real device operating environment
Run the device control software
Provide responses to integration testing tools through interfaces. |
|
Usage Scenario |
The use scenarios of the continuous integration test platform for embedded software are as follows: |
Administrators configure continuous integration workflows:
1. Set up the project
2. Create a continuous integration workflow for your project
3. Add a job to the flow and configure plug-ins for the job
4. Customize the quality report template
Engineers perform continuous integration workflows:
1. Select the project
2. Start the workflow
3. The system executes job, invokes plug-in work, generates quality data,
4. After the execution of all jobs in the workflow, the system collects quality data and generates quality reports;
5. If engineers modify the code and need secondary continuous integration, they only need to command to re-execute the workflow, then the platform will automatically schedule the execution of each tool and collect the report results, which greatly improves the efficiency.
In order to facilitate the reuse of continuous integration test projects, the current workflow or a job can be extracted into the reusable component library as a reusable component. Workflows or jobs from component libraries can be reused in subsequent projects, greatly improving quality and efficiency.
|
|
The following is a screenshot of the running interface of embedded software integration test platform integrator. |
Start the workflow, execute each job in sequence, invoke each tool on the integration test server, and execute the entire integration test process. |
Note: Green indicates a successful execution, red indicates a failure, and blue indicates the job in progress.
After execution, the output of each test tool is displayed in the running status property box.
|
In the report node of the project tree, the user can see the generated quality report. The user selects a quality report, views it. |
Users can view quality reports with multiple test reports combined. The operation method is as follows:
Users can choose 【 Merge... 】 In the pop-up form, select the source files to be merged and the target files to be output. |
|
Views
|
|
|