QAF & Tessy-based continuous integration platform

1 Status

In the R&D and design of embedded systems, software is increasingly replacing hardware to reduce the cost of the system and gain greater flexibility, which means that the proportion of software in the entire embedded system will become larger and larger. The quality of the software code has become an important measurement parameter of the entire product quality. The MISRA specification of the automobile industry and the GJB5369 standard of the military industry are important reference materials for guiding us to improve the software quality. At present, "improving the quality of software" has become a hot topic in the automotive, defense and other embedded fields. It is also a challenge faced by most software development teams: increasingly stringent product release deadlines, broader team distribution, increasing software complexity, and higher software quality requirements.

Comprehensive and rigorous testing work is the key to improve software quality. Under such circumstances, how to complete the heavy and complicated testing in various stages and ensure higher software quality in a shorter period of time is a challenge faced by many development teams. The problem. According to third-party research, at present, the software scale of embedded systems will have to be doubled every 1 to 2 years, while the test tasks for embedded software will have to be increased by 4 to 8 times. Tests on software systems are performed manually, which consumes a lot of energy. At the same time, there are also errors in manual labor that introduce errors into software products.

Therefore, problems such as low efficiency of embedded system development and imperfect embedded software testing methods and tools caused by testing become more and more prominent.

2 solutions

Traditional manual code static checks, unit tests, and a large number of repeated regression tests require a lot of time and effort, and it is difficult to avoid people's negligence and carelessness. Correct selection and use of different tools at different stages can assist engineers in performing more rigorous and effective testing and greatly shorten test cycles.

However, while improving software quality, it will also encounter some new high-level management issues:

♦ How to reasonably reduce the amount of manpower invested in static analysis and unit testing?

♦ How to ensure that all submitted code is forced to undergo static analysis and unit testing without increasing management costs?

♦ How can we maximize the rational use of the purchased tools so as to reduce the number of purchases and control costs?

These high-level R&D management issues have brought new challenges.

Hengrun Technology can solve the above management problems encountered by many users during the testing process by constructing a complete and sustainable integration platform based on Jenkins, integration tools and configuration libraries. Through the platform process design that meets the actual project conditions, a reasonable and automated tool scheduling is achieved, and corresponding tests are enforced on the stable code uploaded to the configuration repository, which brings greater convenience to the code quality assurance work in the software development process. Enable users to more quickly and effectively improve the quality of the software code!

3 Introduction to Continuous Integration Platform Based on QAF & Tessy

3.1 Platform Overview

In response to the above problems, we introduced the most professional code static analysis tool, PRQA's QAF, and C/C++ code for embedded software to perform unit and integration testing tools. Razorcat's Tessy assisted in extensive testing work. In order to ensure the validity of the test, the test cycle is greatly shortened. Jenkins combines the above two tools and version management software to build a continuous integration platform that can implement static code inspection and dynamic regression testing without human intervention, optimize the testing process, improve development efficiency, and ensure software quality.

QAF & Tessy-based continuous integration platform

In the software development process, for each change, the static test tool QAF (QAC/C++) is used to analyze the source code of the program to find the potential defects in the code, and to achieve a convenient, rapid and effective improvement of the code quality; Use QAV to manage and view the static analysis results, perform project team management, task division, code version management, detailed reports or custom reports, etc., to achieve a rational use of software resources and to facilitate efficient and convenient cooperation and management within the team.

Performing static analysis effectively avoids defects that cannot be found in the dynamic testing process to be brought to the product manufacturing stage, along with the product flow into the market, causing incalculable losses; checking code errors, you can find runtime errors in the development stage, reduce the dynamic test The frequency of bugs was found to reduce regressions.

Use the unit/integration test tool Tessy for dynamic testing to test the functions and interfaces of the units and modules. Tessy can be used to automate the construction of test-driven, selective automatic or manual piling, and the execution of well-designed test cases in the actual environment to confirm the functions and interfaces of the units and modules.

In the actual development process, the code will undergo many versions of changes, in order to ensure that each change will be strictly in accordance with the existing process of static analysis and dynamic testing, and optimize the configuration management of personnel and software resources, through Jenkins build a continuous development platform, Automatically identify changes in the configuration repository (SVN), and combine the above tools QAF (QAC/C++) and Tessy to automate and efficiently complete related testing.

3.2 Platform Work Process

QAF & Tessy-based continuous integration platform

The platform can adjust and customize the specific process according to the customer's actual needs, work flow and corresponding specifications, and realize automatic compilation, static analysis and dynamic regression testing.

3.3 Process Description

The platform tightly integrates SVN with test tools. Engineers only need to analyze the code of the day and adjust test cases according to the changes. Then upload the changes to the SVN repository. Based on the settings, the platform can periodically scan the SVN library. Once changes are found in the SVN library, the code in the entire library will be statically tested, and dynamic regression tests will be performed based on existing test cases, and the results will be sent to the key person's mailbox.

QAF & Tessy-based continuous integration platform

Through the platform's analysis of the entire project, defects discovered after code integration can be discovered as soon as possible. While perfecting the overall analysis project, it frees people from the work of repetitive machinery and saves costs for the company. Because of the close integration between the SVN and the platform, whether or not the engineer performs static analysis on his or her code on the same day, as long as he checks the code into the SVN library, the platform will automatically analyze the uploaded code, no matter what the engineer The reason for missing the analysis of the local area, through the platform can be the first time to find the potential defects in the code. In addition, as long as the engineers upload the modified test cases, the platform will automatically perform dynamic tests and send the test reports to related parties. The engineers do not need to spend time as minute changes, wait for the license, adjust the test environment, and perform regression tests.

The platform can also set the timing analysis function, use the engineer's non-working time, obtain the software authority, carry out static analysis and dynamic regression test, and realize the peak shift operation with the engineer, so that the license conflict problem can be perfectly solved and the engineer can save valuable time.

QAF & Tessy-based continuous integration platform

Rug Artificial Grass

Rug Artificial Grass


Rug artificial grass is amongst the safest and most durable outdoor synthetic lawn surfaces available. Artificial turf is ideal for artificial playground grass. With children`s safety and product durability as our main goals, we select artificial turf for its soft and forgiving feel and resilience under the stress of heavy-duty-all-weather use, protecting your children from impact injuries. Artificial rug grass flooring material is safer than sod, wood chips, sand and even urethane surfaces. If child safety is important to you, then the rug artificial grass flooring is the obvious choice for your turf playground application.

Rug Artificial Grass,Artificial Grass Rug,Artificial Turf Grass,Artificial Turf Putting Green

JIANGSU WMGRASS CO., LTD. , https://www.wmgrasslawns.com