Article Consultation Solution Tool Course Member  
Order | Model Framework | Training & Consulting | Solution | Contact us
Views  
Integrator
Tool Chain
Buy
Service

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