You are on page 1of 11

Term Paper

Of

Testing for Real Time


(CSE314)

SUBMITTED TO:
Miss Rajni Bhalla

SUBMITTED BY:
Sunil Kakkar
RC2702B42
B.Tech-M-Tech (IT)
Homework Title / No. : Testing for Real Time

Course Instructor: Miss.Rajni Bhalla Course Tutor (if applicable):

Date of Allotment: Date of submission 10/05/10

Student’s Roll No. 3070070049,42 Section No. : C2702

Declaration:

I declare that this assignment is my individual work. I have not copied from any other
student’s work or from any other source except where due acknowledgment is made
explicitly in the text, nor has any part been written for me by another person.

Student’s Signature: Sunil

Evaluator’s comments:
_____________________________________________________________________

Marks obtained: ___________ out of ______________________

Content of Homework should start from this page only:


ACKNOWLEDGEMENT

When we do anything, we always want to thank all those people who have left an impression
on our lives and inspired us to greatness. Before we got things I would like to add a few
heartfelt words for the people who were part of this term paper in numerous ways. Our
sincere gratitude to Miss Rajni Bhalla for his valuable guidance, encouragement, useful
suggestion, critical evaluation and unending support which helped us accomplishes the term
paper. Although I have expressed our gratitude and heartfelt thanks to friends, who helped me
in reaching at this stage, but there might be a few, who’d been left out, I would like to thank
all of them for being a constant motivation and inspiration to me.

(SUNIL KAKKAR)
Real time testing

Abstract business to appreciate and


understand the risks at
implementation of the software.
During the development of a
Test techniques include, but are
real-time application, a testing
not limited to, the process of
step is necessary to check the
executing a program or
conformity of the
application with the intent of
implementation in accordance
finding software bugs.
with its speciation. The test
sequences, also named Software Testing can also be
temporised tests, have got stated as the process of
temporal constraints because not validating and verifying that a
only the events, but also the software
dates of these events need to be program/application/product:
verify. In this article, we firstly
present a method which permits 1. meets the business and
to transcribe temporised test in technical requirements
TTCN for a local architecture. that guided its design and
Then, as it's generally more development;
convenient to use a distributed 2. works as expected; and
architecture, we introduce here a 3. can be implemented with
new architecture which permits the same characteristics.
to take into account the round
trip delay of a message in the Software Testing, depending on
network and also an expansion the testing method employed,
of our method for this case. This can be implemented at any time
architecture is based on a in the development process.
reliable communication between However, most of the test effort
a "spy" and the tester. occurs after the requirements
have been defined and the
Introduction coding process has been
completed. As such, the
methodology of the test is
Software testing is an
governed by the Software
investigation conducted to
Development methodology
provide stakeholders with
adopted.
information about the quality of
the product or service under test.
Different software development
Software Testing also provides
models will focus the test effort
an objective, independent view
at different points in the
of the software to allow the
development process. Newer
development models, such as
Agile, often employ test driven
development and place an Why are we learning Real
increased portion of the testing
in the hands of the developer,
time testing?
before it reaches a formal team
•A Real Time System must run
of testers. In a more traditional
model, most of the test continuously until it has been
execution occurs after the powered off
requirements have been defined
and the coding process has been •Failure to run properly can
completed.
mean great economic loss and/or

Real time testing loss of human life

Evaluation of a system (or its A LARGE PART OF REAL


components) at its normal TIME SOFTWARE
operating frequency,
speed, or timing. DEVELOPMENT

MUST FOCUS ON AVOIDING


What is Software testing? FAILURE

How to minimizing failure


Software testing is an
in real time systems:
investigation conducted to
provide stakeholders with – Software Test (various levels)
information about the quality of
– System Test
the product or service under test.
Software Testing also provides Build test and recovery software
an objective, independent view and/or hardware into the design
of the software to allow the
– Exception handling (limit
business to appreciate and
checking, etc.) to recover from
understand the risks at
bad data inputs
implementation of the software.
Software Testing can also be – Redundant hardware solutions
stated as the process of (e.g. 5 processors on Space
validating and verifying that a Shuttle)
software
program/application/product.
– Fault Tolerant software and establishes the start of the
hardware warranty period.
• Testing can take up to 50%
Functional vs non-
of a project’s budget and
functional testing
schedule
Functional testing refers to tests
that verify a specific action or
function of the code. These are
usually found in the code
requirements documentation,
although some development
methodologies work from use
cases or user stories. Functional
tests tend to answer the question
of "can the user do this" or "does
this particular feature work".

Non-functional testing refers to


aspects of the software that may
not be related to a specific
function or user action, such as Defects and failures
scalability or security. Non-
functional testing tends to Not all software defects are
answer such questions as "how caused by coding errors. One
many people can log in at once", common source of expensive
or "how easy is it to hack this defects is caused by requirement
software". gaps, e.g., unrecognized
requirements, that result in
Real Time System Testing errors of omission by the
program designer. A common
Diagram source of requirements gaps is
non-functional requirements
• Testing is an important part such as testability, scalability,
maintainability, usability,
of the software life cycle- A performance, and security.
good testing program is a tool
Software faults occur through
for both the agency and the
the following processes. A
integrator/supplier; it typically programmer makes an error
(mistake), which results in a
identifies the end of the
defect (fault, bug) in the
“development” phase of the software source code. If this
defect is executed, in certain
project, establishes the criteria
situations the system will
for project acceptance, and produce wrong results, causing a
failure.Not all defects will
necessarily result in failures. For
example, defects in dead code
will never result in failures. A Input combinations and
defect can turn into a failure
preconditions
when the environment is
changed. Examples of these
changes in environment include A very fundamental problem
the software being run on a new with software testing is that
hardware platform, alterations in testing under all combinations of
source data or interacting with inputs and preconditions (initial
different software. A single state) is not feasible, even with a
defect may result in a wide simple product. This means that
range of failure symptoms. the number of defects in a
software product can be very
large and defects that occur
Compatibility
infrequently are difficult to find
in testing. More significantly,
A common cause of software non-functional dimensions of
failure (real or perceived) is a quality (how it is supposed to be
lack of compatibility with other versus what it is supposed to do)
application software, operating —usability, scalability,
systems (or operating system performance, compatibility,
versions, old or new), or target reliability—can be highly
environments that differ greatly subjective; something that
from the original (such as a constitutes sufficient value to
terminal or GUI application one person may be intolerable to
intended to be run on the another.
desktop now being required to
become a Web application,
Static vs. dynamic testing
which must render in a Web
browser). For example, in the
case of a lack of backward There are many approaches to
compatibility, this can occur software testing. Reviews,
because the programmers walkthroughs, or inspections are
develop and test software only considered as static testing,
on the latest version of the target whereas actually executing
environment, which not all users programmed code with a given
may be running. This results in set of test cases is referred to as
the unintended consequence that dynamic testing. Static testing
the latest work may not function can be (and unfortunately in
on earlier versions of the target practice often is) omitted.
environment, or on older Dynamic testing takes place
hardware that earlier versions of when the program itself is used
the target environment was for the first time (which is
capable of using. Sometimes generally considered the
such issues can be fixed by beginning of the testing stage).
proactively abstracting operating Dynamic testing may begin
system functionality into a before the program is 100%
separate program module or complete in order to test
library. particular sections of code
(modules or discrete functions).
Typical techniques for this are
either using stubs/drivers or
execution from a debugger programming skills to identify
environment. For example, all paths through the software.
Spreadsheet programs are, by The tester chooses test case
their very nature, tested to a inputs to exercise paths through
large extent interactively ("on the code and determines the
the fly"), with results displayed appropriate outputs. In electrical
immediately after each hardware testing, every node in
calculation or text manipulation. a circuit may be probed and
measured; an example is in-
Testing Methods circuit testing (ICT).

Black Box Testing Since the tests are based on the


actual implementation, if the
Black-box testing uses external implementation changes, the
descriptions of the software, tests probably will need to
including specifications, change, too. For example ICT
requirements, and design to needs updates if component
derive test cases. These tests can values change, and needs
be functional or non-functional, modified/new fixture if the
though usually functional. The circuit changes. This adds
test designer selects valid and financial resistance to the
invalid inputs and determines change process, thus buggy
the correct output. There is no products may stay buggy.
knowledge of the test object's Automated optical inspection
internal structure. (AOI) offers similar component
level correctness checking
This method of test design is without the cost of ICT fixtures,
applicable to all levels of however changes still require
software testing: unit, test updates.
integration, functional testing,
system and acceptance. The While white box testing is
higher the level, and hence the applicable at the unit, integration
bigger and more complex the and system levels of the
box, the more one is forced to software testing process, it is
use black box testing to typically applied to the unit.
simplify. While this method can While it normally tests paths
uncover unimplemented parts of within a unit, it can also test
the specification, one cannot be paths between units during
sure that all existent paths are integration, and between
tested. subsystems during a system
level test. Though this method of
test design can uncover an
White Box Testing overwhelming number of test
cases, it might not detect
White box testing (a.k.a. clear
unimplemented parts of the
box testing, glass box testing,
specification or missing
transparent box testing, or
requirements, but one can be
structural testing) uses an
sure that all paths through the
internal perspective of the
test object are executed.
system to design test cases based
on internal structure. It requires
Typical white box test design •Software Validation and
techniques include:
Verification Testing-It is the
• Control flow testing process of checking that a
• Data flow testing
software system meets
• Branch testing
• Path testing specifications and that it fulfils
its intended purpose. It is
Levels of Real Time
normally part of the software
System Testing
testing process of a project.

•Unit Testing-It is a software


Software / Hardware
verification and validation Integration Testing- Identify
the sequence of integrating
method in which a programmer
software build(s) with the
tests if individual units of source hardware modules. Identify the
product features/functions being
code are fit for use. A unit is the
built up at each step.
smallest testable part of an
System Testing-System testing
application. In procedural
of software or hardware is
programming a unit may be an
testing conducted on a complete,
individual function or procedure.
integrated system to evaluate the
•Software Integration Testing- system's compliance with its
It is the phase in software testing specified requirements.
in which individual software
modules are combined and
tested as a group. It occurs after Why Test? - Some Real
unit testing and before system
World Examples
testing. Integration testing takes
as its input modules that have • An F-16 pilot was sitting
been unit tested, groups them in on the runway doing the
larger aggregates, applies tests pre-flight and wondering
defined in an integration test if the computer would let
plan to those aggregates, and him raise the landing
delivers as its output the gear while on the
integrated system ready for ground….it did!
system testing.
• When initially Test is an important part of
developing the the real time software life cycle
sidewinder missile
A large portion of our effort
mounting, there were a
must focus on avoiding failure
few problems.
• Testing:
The software would release the
latch and fire the missile. • Uncovers errors
Initially, the latch was closed too
• Fixes errors
quickly and the missile could
never leave the wing. Imagine • Measures requirements
the pilot’s dismay when there conformance
was suddenly extra thrust on one
• Provides an indication
of the wings!!
of quality
• The F-16 has a
• Testing can be black box
sophisticated s/w system
(inputs/outputs) or white
that performs load
box (software paths)
balancing to optimize
oriented
flight performance. This
includes dropping empty • Testing is performed at
fuel tanks in such a way several levels (unit,
as to balance the plane. software integration,
A minor prerequisite to sw/hw integration,
dropping the tank was system)
overlooked in the
software - it is usually a
References
good idea to be upright
when releasing the tanks.
www.google.com
Imagine flying upside www.wikipedia.com
down and having empty www.ibm.com
www.wikianswers.co
fuel tanks come flying
m
off! www.uncyclopedia.c
om
Summary

You might also like