However, software integration and testing are very difficult, especially for embedded systems. Due to less input and output, the operability and visibility of the system are very limited. Abnormal system states are particularly difficult to test because the system must be brought into a state before determining the behavior of the system in that state.
This paper puts forward the idea of injecting the instrumentation code into the implementation of UML model, in order to improve the controllability, observability and testability of the system. The test instrument can be applied in the development and target environment, and interactive system debugging can be carried out at the model level. In batch processing mode, test instrument is the basis of data acquisition, initialization and test automation. This paper aims to: briefly introduce model-based software engineering and the implementation of these models; The integration test method of model-based software is summarized; Determine the important running time data and execution key points in the model system; Several schemes of collecting and operating model data at run time are described; Enable the test instrument to test automatically.
Software failure refers to the wrong instruction or calculation in the program. The execution of software failure will lead to software status error. When the error is transmitted to the output and presented outside the system as an abnormal result, the fault will occur. Program controllability refers to the ability of a test system to force the tested program to follow a specific execution path, or there may be errors in the execution along this path. Program observability refers to the ability of the test system to find out the error state and then point out the fault.
The internal state of the system is very important to determine the correctness of the test. The output of the system is determined by the initial state of the system and its input. For systems with different initial states, even if the inputs are the same, the outputs will be different. The final state of the system must also be considered as part of evaluating the correctness of the test, because the incorrect internal state will eventually be transmitted to the output of the system and lead to errors. The complexity of the system also makes it more difficult to predict the correct output of the system.
Initial state input -- > final state output
In the "black box" test method, only the external input and output of the system can be known. A special test excitation sequence is needed to transmit the error to the output in order to distinguish the error from the correct program. The longer the special sequence required, the less testable the program is. Similar to the "black box", the controllability and observability of embedded system are also low. The results of evaluating the internal state of the final system can shorten the special input sequence required to detect errors, resulting in smaller and easier test cases. The test instrument strives to improve the controllability and observability of the software program at the same time, so as to obtain a more testable program.
The technology of using test support instruments in application code is a "glass box" test method. When developing the UML model of the system, the developer must understand the tasks to be completed by the system. The error isolation strategy based on test instrument can apply the knowledge of UML model to integration testing. The operation and state of the system are more visible at the analysis level than at the coding level, because the latter is affected by implementation details.
Setting the initial system state of the test only from external input requires a specific external excitation sequence. System operation under abnormal state is the key to verification in many embedded applications, but it is not easy to generate these initial states. The technology described in this paper can use test means to greatly improve controllability and observability.
Steps of integration test
Integration testing can be divided into two important stages: dynamic verification and target integration. Dynamic verification is to run the UML model in the development environment, and its purpose is to determine the correctness of the model. Target integration involves integrating software and hardware in the target environment. Both dynamic verification and target integration are carried out at the analysis level, using the same tool, i.e. test support instrument.
There are many reasons to conduct dynamic verification testing as much as possible: Hardware availability, hardware / software separation, shorter debugging cycle, and the use of tools. If you can be sure that there is no problem with the model after the running test of dynamic verification, the debugging of target integration can focus on the interface between system components or specific platform problems.
a. Building embedded system model with UML
The effective application of UML model in software engineering of embedded application requires that the development process can ensure that the model is strict and complete; Optimize the generated system implementation without affecting the model; The overall structure of the system is maintained by the process through multiple versions and required upgrades.
In order to achieve these goals, model-based software engineering adopts a transformation method. This transformation method is mainly discussed to add test support to the code, but this technology can also be applied to manually implemented UML models. The characteristics of this conversion method are described below.
b. Analytical model
Analysis is the process of establishing an implementation independent model scheme for the problem itself. The effective analysis model is rigorous and complete, and has nothing to do with the implementation method. UML is a standard symbol defined by OMG, which is mainly used to express analysis and modeling. The analysis process can produce:
Domain model: This is a UML class diagram, which decomposes the system into independent subject areas, called domains. These domains are represented by packages and dependent arrow display bridges, where the latter is the flow of requirements between domains. The domain can be analyzed or developed by other methods, such as manually written code, inherited code, generated from other sources, imported from a library, etc. Domain services are the methods that make up domain interfaces. Since a domain defines a complete specification for a problem area, it can be tested independently and then combined with other domains for further testing.
Information model: for each domain to be analyzed, UML class diagram can be used to define the classes that make up the domain structure. Classes are related to each other and can inherit other classes.
Scenario model: the UML sequence table or UML collaboration diagram captures the main context of a specific domain and is used to represent the interaction between domain services (operations), class services (Methods), class event messages and foreign services referenced by the domain.
State model: for each class that receives event messages, the UML state diagram can be used to capture the class cycle and define the state related characteristics of the class.
Behavior model: a detailed and explicit behavior description will be generated for each domain service, class service and state behavior. This is expressed by a behavioral language, which provides a complete analysis level execution primitive without affecting the implementation. Using behavior language to express behavior details can retain a great degree of freedom before realizing the transformation stage of analysis primitives, which is very important for optimization.
c. Design
Design is the process of generating policies and mechanisms that map analysis constructs to the runtime environment. The concept is different from the analysis, and most of the preliminary design work can be carried out independently of the analysis activities.
d. Conversion
Transformation is the process of mapping the UML model of each domain to be analyzed to the implementation with design strategies. The design is carried out in two stages:
Structure design: identify the execution unit (thread / task / process) of the system, assign it to the processor, and assign the domain to the unit.
Copyright © 2020 Coffee bag - Guangzhou tianci packaging industry Co,. Ltd. | Sitemap
{"site":{"site_id":2867,"site_type":1,"site_domain":"tiancipackaging.com","domain_mode":2,"original_domain":"tiancipackaging.com","language_code":"en","is_init_domain":0,"is_shop":false,"is_ssl":1,"lang_prefix":"/","animate_name":"none"},"page":{"page_id":54886,"page_type":"ai_article_detail","page_code":423,"page_url":"/ai-article/integration-test-technology-for-high-quality-embedded-system-development.html","page_source":"","allowAnimat":0,"content_id":5680,"content_type":5,"detail_thumb":"","detail_title":"Integration Test Technology for High Quality Embedded System Development","moq":1},"translateList":{"A new item has been added to your Shopping Cart":"A new item has been added to your Shopping Cart","Account is not exists":"Account is not exists","Add a review on the product":"Add a review on the product","Add to":"Add to","Add to Cart":"add to cart","all":"all","All Orders":"All Orders","Already commented":"Already commented","Are you sure you want to delete it?":"Are you sure you want to delete it?","Are you sure to delete the selected items?":"Are you sure to delete the selected items?","Awaiting Payment":"Awaiting Payment","Awaiting Shipment":"Awaiting Shipment","account security":"account security","address book":"address book","Buy":"Buy","Buy Now":"Buy Now","Cancel":"cancel","Clear":"Clear","Clear Search":"Clear Search","Confirm":"Confirm","Choose a country":"Choose a country","Choose Coupon":"Choose Coupon","commodity payment":"commodity payment","Completed":"Completed","Condition not met":"Condition not met","Confirm password is inconsistent with new password":"confirm password is inconsistent with new password","Congratulations":"Congratulations","Congratulations! You are got a coupon.":"Congratulations! You are got a coupon.","Congratulations! You are got all coupons.":"Congratulations! You are got all coupons.","Continue Shopping":"Continue Shopping","Copy the code and use it directly in the shopping cart.":"Copy the code and use it directly in the shopping cart.","Coupon List":"Coupon list","Country":"Country","Design customization":"Design customization","Do not use any discount":"Do not use any discount","Earliest":"Earliest","email":"email","email format does not match":"email format does not match","Estimated Delivery Time":"Estimated Delivery Time","expired":"expired","Find Parts":"Find Parts","Free":"Free","Free Quote & Information Request":"Free Quote & Information Request","Free Shipping":"Free Shipping","for order over":"for order over","Get":"Get","Get coupons":"Get coupons","Get discount":"Get discount","Get it":"Get it","Get it after logging in and use it in the shopping cart.":"Get it after logging in and use it in the shopping cart.","Go to Page":"Go to Page","Highest Price":"Highest Price","Hot Sale":"Hot Sale","home":"home","Incorrect form format":"Incorrect form format","inquiry":"inquiry","Loading":"Loading","Lowest Price":"Lowest Price","Match Product":"Match Product","Merchant Free Shipping":"Merchant Free Shipping","Most Popular":"Most Popular","my account":"my account","my coupons":"my coupons","my inquiry":"my inquiry","my orders":"my orders","my reviews":"my reviews","my wishlist":"my wishlist","name":"name","Newest":"Newest","No Quotation":"No Quotation","No time limit":"No time limit","Not deleted":"Not deleted","not valid yet":"not valid yet","Off":"Off","Offers and Discounts":"Offers and Discounts","ok":"ok","optional":"optional","Order over":"Order over","order notes":"order notes","Password contains at least numbers and letters length should be 6-20":"password contains at least numbers and letters length should be 6-20","Password is invalid":"Password is invalid","Password length should be 6-20":"Password length should be 6-20","Paypal":"Paypal","paypal payment":"paypal payment","personal info":"personal info","Please click ’click to continue’ to retry.":"Please click \"click to continue\" to retry.","Please enter a valid email address":"Please enter a valid email address","Please enter the verification code":"Please enter the verification code","Please login in first":"Please login in first","Please select attribute":"Please select attribute","Please select country/region":"Please select country/region","Please select superior":"Please select superior","Please select the number of ratings.":"Please select the number of ratings.","read more":"read more","Region":"Region","Register Success":"Register Success","Sale ends in":"Sale ends in","Save in wishlist":"Save in wishlist","Search":"Search","Shipping":"Shipping","Shipping Address":"shipping address","shipment successful":"shipment successful","Size guide":"Size guide","Small Text":"Small Text","Small Title":"Small Title","Sort By":"Sort By","State/Province/Territory":"State/Province/Territory","Successfully delete":"Successfully delete","Successfully save":"Successfully save","The coupon code has been copied and used in the shopping cart.":"The coupon code has been copied and used in the shopping cart.","The subscription is successful, thank you for your participation":"The subscription is successful, thank you for your participation","The user center is out of service. Please contact customer service":"The user center is out of service. Please contact customer service","This is Text":"This is Text","This is title":"This is title","This transaction has failed.":"This transaction has failed.","Time to shop":"Time to shop","To be commented":"To be commented","Total":"Total","the content can not be blank":"the content can not be blank","Update password success":"Update password success","Upload Image":"Upload Image","Upload up to 6 pictures":"Upload up to 6 pictures","uploading":"uploading","used":"used","user center":"user center","Validity period":"Validity period","valid now":"valid now","View Cart & Checkout":"View Cart & Checkout","Welcome to the website":"Welcome to the website","Western Union":"Western Union","Write a Review":"Write a Review","You are got a coupon.":"You are got a coupon.","You haven’t chosen an address yet":"You haven't chosen an address yet","You haven’t selected a product yet":"You haven't selected a product yet","Your rating":"Your rating","Your review":"Your review","Your shipping address error":"Your shipping address error"}}