Embedded Software System Testing: Automatic Testing Solution Based on Formal Method

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

This book introduces embedded software engineering and management methods, proposing the relevant testing theory and techniques that promise the final realization of automated testing of embedded systems.
The quality and reliability of embedded systems have become a great concern, faced with the rising demands for the complexity and scale of system hardware and software. The authors propose and expound on the testing theory and techniques of embedded software systems and relevant environment construction technologies, providing effective solutions for the automated testing of embedded systems. Through analyzing typical testing examples of the complex embedded software systems, the authors verify the effectiveness of the theories, technologies and methods proposed in the book.
In combining the fundamental theory and technology and practical solutions, this book will appeal to researchers and students studying computer science, software engineering, and embedded systems, as well as professionals and practitioners engaged in the development, verification, and maintenance of embedded systems in the military and civilian fields.

Author(s): Yongfeng Yin, Bo Jiang
Edition: 1
Publisher: CRC Press
Year: 2023

Language: English
Commentary: Publisher PDF
Pages: 329
City: Boca Raton, FL
Tags: Software Testing; System Testing; Embedded Development; Embedded Software Development; Formal Method

Cover
Half Title
Title Page
Copyright Page
Table of Contents
List of Figures
List of Tables
Preface
Authors
List of Abbreviations
Introduction
Chapter 1 Embedded System and Software
1.1 Overview of Embedded System
1.1.1 Embedded Systems and Real-Time Systems
1.1.2 Features of Embedded Systems
1.1.3 Composition of Embedded Systems
1.1.4 Application Fields of Embedded Systems
1.2 Overview of Embedded Software
1.2.1 Embedded Software Classification
1.2.2 Embedded Operating Systems
1.3 Summary
Chapter 2 Embedded Software Engineering and Quality Characteristics
2.1 Embedded Software Engineering
2.1.1 Embedded Software Development Model
2.1.2 System Analysis and Software Definition Phase
2.1.3 Software Requirements Analysis Phase
2.1.4 Software Design Phase
2.1.5 Software Implementation Phase
2.1.6 Software Testing Phase
2.1.7 Software Acceptance and Delivery
2.1.8 Software Use and Maintenance Phase
2.2 Embedded Software Engineering Management
2.2.1 Software Engineering Management
2.2.2 Software Development Methodology
2.3 Embedded Software Quality Features
2.4 Summary
Chapter 3 Embedded Software System Testing Techniques Based on Formal Methods
3.1 Overview of Software Formal Testing Techniques
3.1.1 Overview of Software Formal Testing
3.1.2 Formal Statute-Based Language
3.1.3 Based on Finite State Machine and Time Automation Models
3.1.4 Based on the UML
3.1.5 Based on the Petri Net Model
3.1.6 Based on the Markov Chain Model
3.1.7 Based on a Custom Formal Test Description Language
3.2 Embedded Software Formal Testing Techniques
3.2.1 Basic Concept
3.2.2 FSM-Based Software Testing Techniques
3.2.3 EFSM-Based Software Testing Techniques
3.2.4 Real-Time Extended Finite State Machine Model RT-EFSM
3.3 Test Case Generation Based on Real-Time Extended UML With RT-EFSM
3.3.1 UML and OCL Basic Concepts and Techniques
3.3.2 UML and Software Testing
3.3.3 UML Real-Time Extensions
3.3.4 Test Case Generation Process Based on Real-Time Extended UML and RT-EFSM
3.4 Summary
Chapter 4 Real-Time Embedded Software Automation Test Description Technology
4.1 Test Description Concept and Classification
4.1.1 Test Description Concepts
4.1.2 Test Description Classification
4.2 Characteristics of Real-Time Embedded Software Test Description
4.2.3 Status and Role of RT-ESTDL
4.2.1 Real-Time Embedded Software Testing Features
4.2.2 RT-ESTDL Design Principles
4.3 Design of Real-Time Embedded Software Test Description Language
4.3.1 Lexicon of RT-ESTDL
4.3.2 Syntax of RT-ESTDL
4.4 RT-ESTDL Support Mechanism for Real-Time Embedded Software Testing
4.4.1 Support for Real-Time Embedded Device Modeling
4.4.2 Support for Real-Time Embedded Software Testing Time Constraints and Concurrent Processing
4.4.3 Support for Real-Time Communication of Real-Time Embedded Device Models
4.4.4 Support for Reuse of Existing Device Models and Test Descriptions
4.5 Summary
Chapter 5 Testing Technology of Intelligent Terminal Application Software System
5.1 Basics for Android Applications
5.1.1 Android Operating System
5.1.2 Android Development Environment
5.1.3 Core Components for Android Application
5.1.4 Android Emulator and ADB Tools
5.1.5 Android UI
5.1.6 Android Log System
5.1.7 Code Coverage for Android Application
5.1.8 Android GUI Testing Frameworks
5.2 Test Case Generation Techniques for Android Applications
5.2.1 Test Case Generation Tools for Android Application
5.2.2 A GUI Traversal–Based Test Case Generation Framework
5.3 Regression-Testing Techniques for Android Application
5.3.1 Safe Regression Test Selection Techniques
5.3.2 Workflow for Regression Testing of Android Applications
5.3.3 Control Flow Graph Construction for Android Application
5.3.4 Impact Analysis Algorithm
5.4 Stress Testing of Android Application
5.4.1 Resource Usage Query
5.4.2 Memory Stress Testing
5.4.3 CPU Stress Testing
5.4.4 Network Stress Testing
5.5 Summary
Chapter 6 Real-Time Embedded Software System Testing Environment Construction Technology
6.1 Analysis of Existing Test Environments for Real-Time Embedded Software Systems
6.2 Virtual Machine Technology and Real-Time Embedded Software Testing
6.3 Design of A Virtual Machine Specification for Real-Time Embedded Software Simulation and Testing
6.3.1 Data Type
6.3.2 Memory Management
6.3.3 Test Task Management
6.3.4 Instruction System
6.3.5 Test Description File
6.4 RT-ESSTVMS Based Real-Time Embedded Software Simulation Test Environment Design
6.4.1 RT-ESSTE Architecture Design
6.4.2 Test Development System Design
6.4.3 Test Execution System Design
6.5 Design and Implementation of A Real-Time Embedded Software Test Description Execution Engine
6.5.1 Overall Design of RT-ESTDEE
6.5.2 Test Description Pre-processing Process
6.5.3 Test Scheduling Process
6.5.4 Test Description Execution Process
6.5.5 Execution of Online Test Descriptions
6.5.6 Test Execution Engine Efficiency Analysis
6.6 Summary
Chapter 7 Case Study of Real-Time Embedded Software System Testing
7.1 Introduction to the System Under Test
7.1.1 I/GNS System Overview
7.1.2 Main Functions and Performance
7.2 I/GNS System Static Modeling
7.2.1 Cross-Linked Device Model Construction
7.2.2 Test Description of the Static Model
7.3 I/GNS System Dynamic Modeling
7.3.1 Dynamic Modeling Based on UML State Diagrams
7.3.2 RT-EFSM Model of I/GNS and Analysis of Time-Constrained Migration Equivalence Class
7.4 Test Sequence, Test Case and Test Description Generation
7.5 Test Execution and Result Analysis
7.6 Summary
Appendix 1 Mathematical Symbol Index
Appendix 2 Semantics and Usage of RT-ESTDL
Appendix 3 Software Interface Data Definition of I/GNS System
Appendix 4 Software Testing Scenario Tree List of I/GNS
Bibliography