Unit test based on winAMS, CasePlayer2 embedded software

   Abstract: Discuss the application of software testing tools winAMS and CasePlayer2 in embedded software unit testing. It introduces the related technology research and experience summary of the function of software testing tools, the principle of code insertion, the construction of test environment, coverage test, and test data acquisition.

   Keywords: winAMS, CasePlayer2, embedded software, unit testing, code instrumentation, test environment, coverage

   The coverage expert winAMS originated from the Japanese gaio company. The gaio company was founded in 1980. The company developed the compiler early, and then developed embedded software testing tools based on source code analysis and simulation technology. The company also has an engineering service business, providing model-based development support, test process construction support, tool introduction and operation support for major auto manufacturers and large auto parts suppliers.

   Embedded software unit testing tools "coverage expert winAMS" and "CasePlayer2" have many customers worldwide. The tool tests the actual machine code without changing the original code to build a test framework. The tool has obtained the tool certification of automotive functional safety (ISO26262), and basically serves all car manufacturers and car suppliers in Japan.

   Software quality is the life of software, which directly affects the use and maintenance of software. As computer software systems are more and more widely used in aviation, aerospace, industrial control, transportation and other important fields that are related to national economy and people's livelihood, people's requirements for computer software quality are becoming higher and higher. Computer software quality assurance has become a primary task of modern software engineering. Software testing is an important stage in the software life cycle and a key step in software quality assurance. The software unit testing is the earliest and most basic testing activity carried out in the software testing process. The quality of its execution directly determines the length of the software life cycle.

   Unit testing software testing often first tests each unit that makes up the software to confirm whether each unit is working properly. In addition to functional testing, unit testing mainly tests the four characteristics of the unit interface, local data structure, important execution path, and path of fault handling, as well as the boundary conditions of each feature. Unit testing usually adopts the white box test method to find the internal program errors as much as possible, including: logic coverage, statement coverage, decision coverage, condition coverage, decision-condition coverage, condition combination coverage, path coverage and so on.

   The coverage expert winAMS supports mainstream chips in the market, and implements automated testing in modules for C / C ++ programs. C programs take units as functions, and C ++ programs take classes as units. Automatically generate loading functions, no need to build a dedicated test environment, based on the actual machine code, with the help of static analysis tool CasePlayer2, automatically generate the test case table with the least test, generate test results after running, generate test reports, generate C0, C1, MC / DC coverage report.

   Although, from an absolute perspective, unit testing is very important, from a relative perspective, small code size, simple and fixed requirements, personal development, a hammer trading, etc. will make unit testing less important, and You have been very comfortable developing, which is why some people do not feel the importance of unit testing (in this case, you may not need to write unit tests). Remember, the power of unit testing is not reflected in the preparation of new code, but changes to existing code.

Guess you like

Origin www.cnblogs.com/Tommmy/p/12714104.html