IES Notes
IES Notes
Embedded Software testing checks and ensure the concerned software is of good quality and
complies with all the requirements it should meet. Embedded software testing is an excellent
approach to guarantee security in critical applications like medical equipment, railways, aviation,
vehicle industry, etc. Strict and careful testing is crucial to grant software certification.
Some of the challenges that one can face during Embedded software testing:
*******************************************************************************************
1. Unit Testing: Testing each unit or module of the product independently for required
functionality and quality aspects. The unit module is either a function or class. Unit Testing is
performed by the development team, primarily the developer and is usually carried out in a peer-
review model. Based on the specification of the module test cases are developed.
2. Integration Testing: Integrating each module and testing the integrated unit for required
functionality. Integration testing can be classified into two segments:
In the end, the interaction of the hardware domain and software components is tested. This can
incorporate examining the interaction between built-in peripheral devices and software.
Embedded software development has a unique characteristic which focuses on the actual
environment, in which the software is run, is generally created in parallel with the software. This
causes inconvenience for testing since comprehensive testing cannot be performed in a simulated
condition.
3. System Testing: Testing the functional aspects or product requirements of the product after
integration.
The module to be tested is a full framework that consists of complete software code additionally all
real-time operating system (RTOS) and platform-related pieces such as interrupts, tasking
mechanisms, communications and so on. The Point of Control protocol is not anymore a call to a
function or a method invocation, but rather a message sent/got utilizing the RTOS message queues.
System resources are observed to evaluate the system's ability to support embedded system
execution. For this aspect, gray-box testing is the favored testing method. Depending on the
organization, system unit testing is either the duty of the developer or a dedicated system
integration team.
4. User Acceptance Testing: Testing the product to ensure it is meeting all requirements of the
end user.
******************************************************************************************
PCB fabrication involves three techniques to develop a PCB from the Gerber file
Gerber file: The Gerber format is an open 2D binary vector image file format from Layout tool of
PCB. It is the standard file used by printed circuit board (PCB) industry software to describe the
printed circuit board images: copper layers, solder mask, legend, etc. Gerber file must be RS-274X
format.
PCB milling
PCB printing
****************************************************************************************
1. Need
2. Conceptualization
3. Analysis
4. Design
5. Development and Testing
6. Deployment
7. Support
8. Upgrade
9. Retirement
The Need: The need come from an individual or from public or from a company. Statement of need
(Concept Proposal) is prepared. The product development need can be one of the following
Analysis: Analysis is called as Requirement Analysis phase defines the inputs, outputs, process and
interfaces of the product at the functional level
Design phase: Design phase deals with the implementation aspects of the required functionalities
for the product. Design phase may be of two steps
a) Preliminary design
b) Detailed Design
The preliminary design establishes the top-level architecture for the product. The detailed design
deals with the various components of each block, interconnection among various functional blocks,
the control algorithm requirements etc
Development phase: The Development phase transforms the design into implementation
(reasonable product). The detailed specifications during the design phase are translated into
hardware and firmware during the development phase. Testing phase deals with the execution of
various tests like
1. Integration Testing
2. System Testing
3. User Testing
4. Acceptance Testing
Deployment phase: The deployment phase deals with the launching of the product. The
Deployment activities includes
1. Product Deployment Notification
2. Training plan execution
3. Product installation
4. Product post implementation review
Support Phase: The support phase deals with the operations and maintenance of the product
environment
Upgrade Phase: Upgrade test deals with the development of upgrades (New versions) for the
product which is already present in the market. Product upgrades results as an output of major bug
fixes or from feature enhancement requirements from the end user.
Retirement Phase: Retirement phase some times called as disposal phase. Retirement phase deals
with the gradual disposal of the product from the market.
***************************************************************************************************
Objectives of EDLC:
There are three primary objectives
1. Ensure that high quality products are delivered to end user
2. Risk minimization and defect prevention through project management
3. Maximize the productivity
****************************************************************************************
EDLC Approaches:
1. Linear or waterfall Model
2. Iterative / Incremental or Fountain Model
3. Prototyping/ Evolutionary Model
4. Spiral Model
• Linear or waterfall model executes all phases of EDLC in sequence, one after another.
• It is the best suited method for product development where the requirements are fixed.
Advantages
***********************************************************************************
Advantages
Provides good development cycle feedback at each function/ feature implementation and
data can be used as reference for similar product development in future.
More responsive to changing user needs.
Provides a working model with minimum features at first cycle itself.
Less manufacturing risk.
Product development can be stopped at any stage.
Drawbacks
Drawbacks –
**************************************************************************************
1.Handmade enclosure
Handmade enclosure is typical example for manual development product enclosure. It uses
plastics like ABS or PVC and Sheet metal for enclosure design.
Stereo lithography (SLA) is a process in which the liquid plastic is solidified in precise
patterns by a UV laser beam, resulting in a solid epoxy realization of a 3D design of the
enclosure.
Selective Laser Sintering is similar to SLA, except that the 3D prototypes are created from
the drawing by fusing or sintering powdered thermo plastics materials layer by layer
Fused Deposition Modeling is a solid based rapid prototyping method, which uses melted
thermo plastic polymer in the form of paste for building layers
Computer Numeric Control tooling uses CNC machines for milling the block of plastic or
metal according to the input from a design file generated by the 3D modeling tool to
develop desired tool.
Injection Molding system consists of a molding machine and mould plates (Dummy shape
of the product). Plastic or resin is injected into the space between the mould plates through
a nozzle.