Professional Documents
Culture Documents
What is testing?
• Testing is the process to prove that the
system works correctly,
• Testing is the process to prove that the
software does not work correctly.
• Testing is the process to reduce the risk
associated with the residual defects.
Types of Testing
• Black box testing
• White box testing
• Performance testing
• Gorilla testing
• Field trial
• Acceptance testing
• Regression testing
Black box testing
The functionality of the product is tested.
The system is considered as a black box the
implementation details are not considered at
all.
White box Testing
Implementation details are considered
while testing the system. Each and every line
of code is tested.
Performance Testing
Check whether the system is meeting the
time constraints as per the requirements.
Particularly for hard real time systems a
rigorous testing has to be done to ensure that
deadlines are not missed at all.
Gorilla Testing
It will randomly press some buttons on the
keypad or switch on/off the system power
supply.
Field Trial
If your system has to work in mission critical
applications or when safety is a major concern you need
to conduct the field trial in extremely controlled
conditions.
Acceptance Testing
When you are satisfying that the system is
working as per the requirements.
Regression Testing
To ensure that modifications to one portion of the
code have no ill effects on other parts of the code. Using
a set of test cases regression testing has to be done
every time changes are made to the source code.
Testing is complete?
To declare that the testing of the embedded system is
complete, the test engineers need to carry out a statistical
analysis of the number of defects found per unit time (Say
one day). The values of MTBF (Mean Time Between
Failures), MTTR(Mean Time to Repair) and MTTF (Mean
Time to Fail) need to be measured.
Types of Hardware Platforms
Task Management
* Real Time Applications the process is called as Task
which takes execution time and occupies
memory.
* Task management is the process of managing task
through its life cycle.
Task
• No of Tasks
• Resource Requirements
• Release Time
• Execution Time
• Deadlines
Resource Allocation
• Weighted Round Robin
• Priority Based
Interrupt
An interrupt is a signal from a device attached to
a computer or from a program with in a computer that
causes the main program that is operating system to
stop and figure out what to do next.
Examples of Real Time System
• Plant control
• Control of production processes / industrial automation
• Railway switching systems
• Automotive applications
• Flight control systems
• Environmental acquisition and monitoring
• Telecommunication systems
• Robotics
• Military systems
• Space missions
• Household appliances.
Architecture of the Kernel
• The embedded software consists of the
Operating System and the application
software.
• The services provided by the operating
system are accessed through Application
Programming Interface(API) to develop
application software.
• The API is a set of function calls using which
you can access the various kernel objects and
the service provided by the kernel.
The Various Kernel Objects are
• Task
• Task Scheduling
• Interrupt Service Routines
• Semaphores
• Mutexes
• Mailboxes
• Message queues
• Pipes
• Event Registers
• Signals
• Timers
The Kernel provides various services through
operations on the kernel objects.
Context Switching:
The state of the CPU registers when a task has to
be preempted is called the context. Saving the
contents of the CPU registers and loading the new
task parameters is called context switching (High
Priority to low priority).