Ini adalah tugas Testing throughout the software life cycle 2
Semoga slide ini bisa menjadi pelajaran untuk kita semua
http://sif.uin-suska.ac.id
http://fst.uin-suska.ac.id
http://www..uin-suska.ac.id
2. Testing is not a stand-alone activity. It has its place within a software
development life cyclemodel and therefore the life cycle applied will largely
determine how testing is organized.
There are many different forms of testing. Because several
disciplines, often with different interests,are involved in the development life
cycle, it is important to clearly understand and define thevarious test levels
and types. This chapter discusses the most commonly applied
softwaredevelopment models, test levels and test types. Maintenance can be
seen as a specific instance of adevelopment process. The way maintenance
influences the test process, levels and types and howtesting can be organized
is described in the last section of this chapter.
3. SOFTWARE DEVELOPMENT MODE
The development process adopted for a project will depend on the project aims
and goals. There arenumerous development life cycles that have been
developed in order to achieve different requiredobjectives
These life cycles range from lightweight and fast methodologies, where time
tomarket is of the essence, through to fully controlled and documented
methodologies where qualityand reliability are key drivers.
Each of these methodologies has its place in modern softwaredevelopment and
the most appropriate development process should be applied to each project.
Themodels specify the various stages of the process and the order in which
they are carried out
4. V-model
The V-model was developed to address some of the problems experiencedusing
the traditional waterfall approach. Defects were being found too latein the life
cycle, as testing was not involved until the end of the project.
5. 1. “Component
Testing”
Searches for defects
in and verifies the
functioning
ofsoftware
components (e.g.
modules, programs,
objects, classes etc.)
that areseparately
testable;
2. Integration
Testing"
Tests interfaces
between components,
interactions to
different parts of a
system such as an
operating system, file
system and hardware
or interfaces between
systems;
3. “System
Testing
Concerned with the
behavior of the whole
system/product
asdefined by the scope
of a development
project or product. The
main focus ofsystem
testing is verification
against specified
requirements;
V-model
5
Although variants of the V-model exist, a common
type of V-model usesfour test levels. The four test
levels used, each with their own objectives,are:
4. “Acceptance
Testing”
Validation
testing with
respect to user
needs,
requirements,
and business
processes
conducted to
determine
whether or not
toaccept the
system
6. 6 6
▪ Iterative life cycles
Examples of iterative or incremental development models are
prototyping,RapidApplication Development (RAD), Rational Unified Process
(RUP) andagile development. For the purpose of better understanding iterative
development models and the changing role of testing a short explanation of
both RADand agile development is provided.
7. It promotes the generation of
business stories to define the
functionality.
7
It demands an on-site customer for continual
feedback and to define andcarry out functional
acceptance testing
It promotes pair
programming and
shared code
ownership amongst
the developers.
It states that
component test scripts
shall be written before
the code iswritten and
that those tests should
be automated.
It states that integration and
testing of the code shall
happen several timesa day.
Extreme Programming (XP) is currently one of the most well-known agiledevelopment life
cycle models. (See [Agile] for ideas behind this approach.)The methodology claims to be more
human friendly than traditional development methods. Some characteristics of XP are:
1 2 3 4 5
Graham et.al (2011)
Agile development
8. Testing within a life cycle model
In summary, whichever life cycle model is being used, there are several characteristics
of good testing:
1. for every development activity there is a corresponding testing activity;
2. each test level has test objectives specific to that level;
3. the analysis and design of tests for a given test level should begin during
thecorresponding development activity;
4. testers should be involved in reviewing documents as soon as drafts are
available in the development cycle.
9. TEST LEVELS
a. Component testing
Component testing, also known as unit, module and program testing,
searchesfor defects in, and verifies the functioning of software (e.g. modules,
programs,objects, classes, etc.) that are separately testable.
b. Integration testing
Integration testing tests interfaces between components, interactions to different parts
of a system such as an operating system, file system and hardware or interfaces
between systems. Note that integration testing should bedifferentiated from other
integration activities. Integration testing is oftencarried out by the integrator, but
preferably by a specific integration tester ortest team
c. System testing
System testingis concerned with the behavior of the whole system/product asdefined
by the scope of a development project or product. It may include testsbased on risks
and/or requirements specification, business processes, use cases,or other high level
descriptions of system behavior, interactions with the operating system, and system
resources.
d. Acceptance testing
When the development organization has performed its system test and has corrected all
or most defects, the system will be delivered to the user or customerfor acceptance
testing.