Embedded software test strategy

xiaoxiao2021-03-05  24

Embedded software test strategy

Author: admin

The application system of the embedded domain target system is getting more complex, and due to the fast listing of the competition, the development of technological days are different, and the hardware development is increasing, and the software failure is increasingly prominent. The importance of software gradually attracts people's attention. The more people recognize the test potential of the embedded system. Increases embedded software testing, first introduces some of some software engineering, now, the definition of universally accepted software is: Software is another part of the computer system and hardware (hardware), including Program (Program), related data (DATA) and its documentation (Document). The program is a command sequence executed in advanced function and performance requirements; data is a data structure that can be properly manipulated information; documentation is related to program development and maintenance and use of various graphic information.

For general commercial software testing, embedded software test has its own characteristics and test difficulties.

Due to the own characteristics of the embedded system, if real-timing, the memory is not rich, the I / O channel is small, the development tool is expensive, and the hardware is closely related to the CPU, and so on. The development and testing of embedded software is also very different from the development and test strategy of general commercial software, which can be said that embedded software is the software that is the most difficult to test.

Embedded software test uses a valid test policy is the only way out, which maximizes development, avoids the bottleneck of the target system, saving expensive target resources using online emulators. Since the high-level language, the development environment and the ultimate operating environment are usually different, and the embedded system is even more such. The development environment is considered to be a host platform, and the software operating environment is a target platform. The corresponding test is Host-Target test or cross-testing.

Discussing embedded software testing first encounters a problem: Why don't you put all the tests on the target? Because all tests have a lot of unfavorable factors on the target platform:

1) Test software may result in bottlenecks that have been competed with developers to avoid it only to provide more target environments.

2) The target environment may not be feasible.

3) Compared to the host platform environment, the target environment is usually not precise and inconvenient.

4) The target environment for providing developers and the joint development environment is usually very expensive.

5) Development and testing work may hinder the destination environment has continued applications

From economic and development efficiency, the proportion as possible in the software development cycle is carried out in the host system environment, including testing.

After determining the Host-Target test environment, development testers will encounter the following issues:

1) How many developers will be involved in test (unit testing, software integration, system testing)?

2) How many software should test, how long does it cost?

3) What software tools are there in the host environment and target environment, how is the price?

4) How many target environments can be provided to developers, when?

5) What is the connection between the host and the target machine?

6) How fast is the software download to the target machine?

7) What restrictions between using the host and the target environment (such as software security standards)?

Any person or organization is tested in embedded software, should be considered in depth, combined with its own actual situation, select reasonable test strategy and program.

For embedded software tests or cross-test, there is a general policy in each stage of the test:

1. unit test:

All unit-level tests can be performed in the host environment unless few cases, the unit test is specified in the target environment. Maximize the proportion of software tests in the host environment, access all target specified by the small target unit. Running the test speed on the host platform is more fast than on the target platform. When the test is completed in the host platform, you can repeat a simple confirmation test on the target environment, confirm that the test results are not affected by their hosts and targets. . Confirmation tests in the target environment will determine some unknown, unpredictable, uninumened hosts and target machines. For example, the target compiler may have bugs, but not on the host compiler.

2. Integration Testing:

Software integration can also be completed in the host environment, simulate the target environment on the host platform, of course, repeat tests in the target environment, must be required, on this level of confirmation testing will determine some environment, such as memory location and assignment Some errors on.

The use of integrated tests in the host environment is dependent on the specific functions of the target system. Some embedded systems are very close to the target environment, and if integration in the host environment is unrealistic. Development of a large software can be divided into several levels of integration. Low-level software integration has great advantages on the host platform, and the more integrated integration depends on the target environment.

3. System testing and confirmation test

All system tests and confirmation tests must be performed in the target environment. Of course, the system test is developed and executed on the host, and then transplanted to the target environment is relatively convenient. The dependence of the target system can hinder the transplantation of system tests in the host environment to the target system, and only a few developers will be involved in the system test, so sometimes it is more convenient to perform system testing in the host environment.

Confirm that the final implementation of the test must be in the target environment, the system's confirmation must be tested under the real system without simulating in the host environment. This is related to the final use of embedded software.

Including recovery test, safety testing, strength testing, performance testing has exceeded software testing, this article is not discussed.

Using a valid Cross-Test test strategy can greatly improve the level and efficiency of embedded software development tests, of course, the correct test tool is also indispensable:

Summary, apply the above test tools to perform. RROSS-TEST strategy:

A) Execute a static test analysis using a test tool (host environment), and prepares a plurality of plug-in software code for dynamic overlay test.

B) Use the source code to perform functional tests in the host environment, correct the errors in the software and the error in the test script.

C) Perform overlay tests to perform overlay tests, add a test case or correct the error to ensure that the required coverage goals are achieved.

D) Repeat (b) in the target environment, confirm the correctness of the test in the target environment.

E) If the test needs to reach extreme integrity, it is best to repeat (c) on the target system, and determine that the coverage of the software has not changed.

Most tests are typically performed at the host environment, just to finalize the test results and the final system test to the target environment, which avoids the bottlenecks accessed on the target system resources, can also reduce expensive resources such as online emulators. cost. In addition, if the hardware of the target system cannot be used for some reason, the final confirmation test can be postponed until the target hardware is available, which provides elasticity for the development test of embedded software. The portability of the design software is a prerequisite for successful Cross-Test, which usually improves the quality of the software and the maintenance of the software. The test tools mentioned above can provide transplantation between the host and the target by respective ways, so that the test of the embedded software can be easily implemented.

Using a valid Cross-Test test strategy can greatly improve the level and efficiency of embedded software development tests, and improve the quality of embedded software.

appendix:

1). Introduction to the connection method of Host-Target:

Figure 1 - Direct connection

Figure 2 - Connection via the emulator

Figure 3 - Indirect connection using media

Figure 4 - Passing the test software using PROM

Figure 5 - Test interactive interface

Figure

6 -

No interface connection

转载请注明原文地址:https://www.9cbs.com/read-36106.html

New Post(0)