SlideShare a Scribd company logo
1 of 18
Testing Throughout The
Software Life Cycle
Emi Rizki Ayunanda
11453201739
Sistem Informasi
Fakultas Sains Dan Teknologi
Universitas Islam Negeri Sultan Syarif Kasim
Riau
Testing Throughout The Software Life Cycle
Testing is not a stand-alone activity. It has its place within a
software development life cycle model 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 the various test levels and types.
A) SOFTWARE DEVELOPMENT MODELS
The development
process adopted for a
project will depend on
the project aims and
goals. There are
numerous development
life cycles that have
been developed in order
to achieve different
required objectives.
The life cycle model that is adopted for a
project will have a big impact on the testing that is
carried out. Testing does not exist in isolation; test
activities are highly related to software
development activities. It will define the what,
where, and when of our planned testing, influence
regression testing, and largely determine which
test techniques to use. The way testing is
organized must fit the development life cycle or it
will fail to deliver its benefit.
1
2
A) SOFTWARE DEVELOPMENT MODELS
1) V-model
Before discussing the V-model,
we will look at the model which came
before it. The waterfall model was one of
the earliest models to be designed. It
has a natural timeline where tasks are
executed in a sequential fashion. We
start at the top of the waterfall with a
feasibility study and flow down through
the various project tasks finishing with
implementation into the live environment.
Figure a. Waterfall Model
V-MODEL
The V-model was
developed to address some of
the problems experienced
using the traditional waterfall
approach. Defects were being
found too late in the life cycle,
as testing was not involved
until the end of the project.
Testing also added lead time
due to its late involvement.
Although variants of
the V-model exist, a common
type of V-model uses four test
levels. The four test levels
used, each with their own
objectives, are:
component testing: searches for defects in and
verifies the functioning of software components (e.g.
modules, programs, objects, classes etc.)
integration testing: tests interfaces between
components, interactions to different parts of a
system such as an operating system, file system and
hard ware or interfaces between systems;
system testing: concerned with the behavior of the
whole system/product as defined by the scope of a
development project or product. The main focus of
system testing is verification against specified
requirements;
acceptance testing: validation testing with respect to
user needs, require ments, and business processes
conducted to determine whether or not to accept the
system.
1
2
A) SOFTWARE DEVELOPMENT MODELS
2) Iterative Life Cycles
Not all life cycles are sequential. There
are also iterative or incremental life cycles where,
instead of one large development time line from
beginning to end, we cycle through a number of
smaller self-contained life cycle phases for the
same project. As with the V-model, there are many
variants of iterative life cycles.
Examples of iterative or incremental
development models are prototyping, Rapid
Application Development (RAD), Rational Unified
Process (RUP) and agile development. For the
purpose of better understanding iterative
development models and the changing role of
testing a short explanation of both RAD and agile
development is provided.
Figure c. Iterative develpoment model
Iterative Life Cycles
a) Rapid Application Development (RAD)
Rapid Application Development
(RAD) is formally a parallel development of
functions and subsequent integration.
Components/functions are developed in
parallel as if they were mini projects, the
developments are time-boxed, delivered, and
then assembled into a working prototype. This
can very quickly give the customer something to
see and use and to provide feedback regarding
the delivery and their requirements. Rapid
change and development of the product is
possible using this methodology.
Figure c. Iterative develpoment modelFigure d. RAD Model
Iterative Life Cycles
b) Agile Development
Extreme Programming (XP) is currently one of the most well-known agile
development 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:
 It promotes the generation of business stories to define the functionality.
 It demands an on-site customer for continual feedback and to define and carry 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 is written and
that those tests should be automated.
 It states that integration and testing of the code shall happen several times a day.
 It states that we always implement the simplest solution to meet today's problems.
A) SOFTWARE DEVELOPMENT MODELS
3) Testing within a life cycle model
In summary, whichever life cycle model is being used, there are
several characteristics of good testing:
 for every development activity there is a corresponding testing
activity;
 each test level has test objectives specific to that level;
 the analysis and design of tests for a given test level should begin
during the corresponding development activity;
 testers should be involved in reviewing documents as soon as drafts
are avail able in the development cycle.
B) TEST LEVELS
This section looks in more detail at the various test levels.
The key characteristics for each test level are discussed and
defined to be able to more clearly separate the various test levels.
A thorough understanding and definition of the various test levels
will identify missing areas and prevent overlap and repetition.
Sometimes we may wish to introduce deliberate overlap to
address specific risks. Understanding whether we want overlaps
and removing the gaps will make the test levels more
complementary thus leading to more effective and efficient
testing.
1
B) TEST LEVELS
1) Component Testing
Component testing, also known as
unit, module and program testing, searches for
defects in, and verifies the functioning of
software (e.g. modules, programs, objects,
classes, etc.) that are separately testable.
Component testing may be done in
isolation from the rest of the system depending
on the context of the development life cycle
and the system. Most often stubs and drivers
are used to replace the missing software and
simulate the interface between the software
components in a simple manner. A stub is
called from the software component to be
tested; a driver calls a component to be tested
(see Figure e.).
Figure a. Waterfall Model
Figure e. stubs and drivers
B) TEST LEVELS
2) 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 be differentiated
from other integration activities. Integration testing is often carried out by the
integrator, but preferably by a specific integration tester or test team.
There may be more than one level of integration testing and it may be carried out on
test objects of varying size. For example:
o component integration testing tests the interactions between software com
ponents and is done after component testing;
o system integration testing tests the interactions between different systems and
may be done after system testing. In this case, the developing organiza tion may
control only one side of the interface, so changes may be destabilizing. Business
processes implemented as workflows may involve a series of systems that can
even run on different platforms.
B) TEST LEVELS
2) Integration Testing
A disadvantage is that it can be time-consuming since stubs and drivers have to be
developed and used in the test. Within incremental integration testing a range of possibilities exist,
partly depending on the system architecture:
 Top-down: testing takes place from top to bottom, following the control flow or architectural
structure (e.g. starting from the GUI or main menu). Components or systems are substituted by
stubs.
 Bottom-up: testing takes place from the bottom of the control flow upwards. Components or
systems are substituted by drivers.
 Functional incremental: integration and testing takes place on the basis of the functions or
functionality, as documented in the functional specification.
 The preferred integration sequence and the number of integration steps required depend on
the location in the architecture of the high-risk interfaces. The best choice is to start integration
with those interfaces that are expected to cause most problems. Doing so prevents major
defects at the end of the integration test stage. In order to reduce the risk of late defect
discovery, integration should normally be incremental rather than 'big-bang'. Ideally testers
should understand the architecture and influence integration planning. If integration tests are
planned before components or systems are built, they can be developed in the order required
for most efficient testing.
B) TEST LEVELS
3) Systems Testing
System testing is concerned with the behavior of the whole system/product
as defined by the scope of a development project or product. It may include tests
based 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. System testing is most often the final test on behalf
of development to verify that the system to be delivered meets the specification and
its purpose may be to find as many defects as possible.
System testing should investigate both functional and non-functional
requirements of the system. Typical non-functional tests include performance and
reliability.
System testing requires a controlled test environment with regard to,
amongst other things, control of the software versions, testware and the test data
B) TEST LEVELS
4) 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 customer for acceptance testing.
The goal of acceptance testing is to establish confidence in the
system, part of the system or specific non-functional characteristics, e.g.
usability, of the system. Acceptance testing is most often focused on a
validation type of testing, whereby we are trying to determine whether the
system is fit for purpose.
B) TEST LEVELS
4) Acceptance Testing
Acceptance testing may occur at more than just a single level, for
example:
 A Commercial Off The Shelf (COTS) software product may be acceptance
tested when it is installed or integrated.
 Acceptance testing of the usability of a component may be done during
component testing.
 Acceptance testing of a new functional enhancement may come before system
testing.
The user acceptance test is performed by the users and application
managers. In terms of planning, the user acceptance test usually links tightly to the
system test and will, in many cases, be organized partly overlapping in time.
References
Graham et.al (2011)
That’s all. Thank you! 
http://sif.uin-suska.ac.id/
http://fst.uin-suska.ac.id/
http://www.uin-suska.ac.id/

More Related Content

What's hot

TESTING THROUGHOUT THE SOFTWARE LIFE CYCLE
TESTING THROUGHOUT THE SOFTWARE LIFE CYCLETESTING THROUGHOUT THE SOFTWARE LIFE CYCLE
TESTING THROUGHOUT THE SOFTWARE LIFE CYCLEDelicia Generis Humani
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycleHusnul Habib
 
Testing Implementasi 2
Testing Implementasi 2Testing Implementasi 2
Testing Implementasi 2Sinthia Gusfah
 
Testing throughout the software life cycle 2
Testing throughout the software life cycle 2Testing throughout the software life cycle 2
Testing throughout the software life cycle 2Afridol Afridol
 
Testing throughout the software life cycle 2
Testing throughout the software life cycle 2Testing throughout the software life cycle 2
Testing throughout the software life cycle 2As Fazli
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cyclementary fransiska
 
Testing throughout the software life cycle 2 hadnan
Testing throughout the software life cycle 2 hadnanTesting throughout the software life cycle 2 hadnan
Testing throughout the software life cycle 2 hadnanhadnan hardiansyah
 
Testing throughout the software life cycle (software development models)
Testing throughout the software life cycle (software development models)Testing throughout the software life cycle (software development models)
Testing throughout the software life cycle (software development models)tyas setyo
 
Testing throughout the software life cycle 2
Testing throughout the software life cycle 2Testing throughout the software life cycle 2
Testing throughout the software life cycle 2Evi Yandri
 
Agile methodology
Agile methodologyAgile methodology
Agile methodologybipulpwc
 
Fundamentals of testing jef (3)
Fundamentals of testing jef (3)Fundamentals of testing jef (3)
Fundamentals of testing jef (3)jefri_antoni
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycleRudy Setiawan
 
Aldi testing throughout the software life cycle 2
Aldi testing throughout the software life cycle 2Aldi testing throughout the software life cycle 2
Aldi testing throughout the software life cycle 2aldi aulia
 
Presentasi testing throughout the software life cycle 2
Presentasi testing throughout the software life cycle 2Presentasi testing throughout the software life cycle 2
Presentasi testing throughout the software life cycle 2Egi Ilham Elnusa
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycleaidul azmi
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cyclechayo rona
 
The Role of Verification and Validation in System Development Life Cycle
The Role of Verification and Validation in System Development Life CycleThe Role of Verification and Validation in System Development Life Cycle
The Role of Verification and Validation in System Development Life CycleIOSR Journals
 
Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)Jana Gierloff
 

What's hot (20)

TESTING THROUGHOUT THE SOFTWARE LIFE CYCLE
TESTING THROUGHOUT THE SOFTWARE LIFE CYCLETESTING THROUGHOUT THE SOFTWARE LIFE CYCLE
TESTING THROUGHOUT THE SOFTWARE LIFE CYCLE
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Testing Implementasi 2
Testing Implementasi 2Testing Implementasi 2
Testing Implementasi 2
 
Testing throughout the software life cycle 2
Testing throughout the software life cycle 2Testing throughout the software life cycle 2
Testing throughout the software life cycle 2
 
Testing throughout the software life cycle 2
Testing throughout the software life cycle 2Testing throughout the software life cycle 2
Testing throughout the software life cycle 2
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Testing throughout the software life cycle 2 hadnan
Testing throughout the software life cycle 2 hadnanTesting throughout the software life cycle 2 hadnan
Testing throughout the software life cycle 2 hadnan
 
Testing throughout the software life cycle (software development models)
Testing throughout the software life cycle (software development models)Testing throughout the software life cycle (software development models)
Testing throughout the software life cycle (software development models)
 
Testing throughout the software life cycle 2
Testing throughout the software life cycle 2Testing throughout the software life cycle 2
Testing throughout the software life cycle 2
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Fundamentals of testing jef (3)
Fundamentals of testing jef (3)Fundamentals of testing jef (3)
Fundamentals of testing jef (3)
 
Testing Throughout the Software Life Cycle - Section 2
Testing Throughout the Software Life Cycle - Section 2Testing Throughout the Software Life Cycle - Section 2
Testing Throughout the Software Life Cycle - Section 2
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Aldi testing throughout the software life cycle 2
Aldi testing throughout the software life cycle 2Aldi testing throughout the software life cycle 2
Aldi testing throughout the software life cycle 2
 
Presentasi testing throughout the software life cycle 2
Presentasi testing throughout the software life cycle 2Presentasi testing throughout the software life cycle 2
Presentasi testing throughout the software life cycle 2
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
The Role of Verification and Validation in System Development Life Cycle
The Role of Verification and Validation in System Development Life CycleThe Role of Verification and Validation in System Development Life Cycle
The Role of Verification and Validation in System Development Life Cycle
 
Software testing
Software testingSoftware testing
Software testing
 
Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)
 

Similar to Testing throughout the software life cycle

Software development models
Software development modelsSoftware development models
Software development modelsAzlan Nawawi
 
Materi Testing dan Implementasi System
Materi Testing dan Implementasi SystemMateri Testing dan Implementasi System
Materi Testing dan Implementasi Systemdevinta sari
 
Software development models
Software development modelsSoftware development models
Software development modelsnur fitrianti
 
Software development models endang
Software development models endangSoftware development models endang
Software development models endangendang setianingsih
 
Testing Throughout The Software Life Cycle II (Dhea Frizky)
Testing Throughout The Software Life Cycle II (Dhea Frizky)Testing Throughout The Software Life Cycle II (Dhea Frizky)
Testing Throughout The Software Life Cycle II (Dhea Frizky)Dhea Ffrizky
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycleRudy Setiawan
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycleM HiDayat
 
Testing Throughout the Software Life Cycle part.2 - Andika Dwi Ary Candra
Testing Throughout the Software Life Cycle part.2 - Andika Dwi Ary CandraTesting Throughout the Software Life Cycle part.2 - Andika Dwi Ary Candra
Testing Throughout the Software Life Cycle part.2 - Andika Dwi Ary CandraAnd11ka
 
Software development models hazahara
Software development models hazaharaSoftware development models hazahara
Software development models hazaharaHazahara shadah
 
Testing throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & ImplementationTesting throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & Implementationyogi syafrialdi
 
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...Tiara Ramadhani
 
Software Development Models
Software Development ModelsSoftware Development Models
Software Development ModelsEmi Rahmi
 
Software Development Models by Graham et al
Software Development Models by Graham et alSoftware Development Models by Graham et al
Software Development Models by Graham et alEmi Rahmi
 
Basic Guide to Manual Testing
Basic Guide to Manual TestingBasic Guide to Manual Testing
Basic Guide to Manual TestingHiral Gosani
 

Similar to Testing throughout the software life cycle (15)

Software development models
Software development modelsSoftware development models
Software development models
 
Materi Testing dan Implementasi System
Materi Testing dan Implementasi SystemMateri Testing dan Implementasi System
Materi Testing dan Implementasi System
 
Software development models
Software development modelsSoftware development models
Software development models
 
Software development models endang
Software development models endangSoftware development models endang
Software development models endang
 
Testing Throughout The Software Life Cycle II (Dhea Frizky)
Testing Throughout The Software Life Cycle II (Dhea Frizky)Testing Throughout The Software Life Cycle II (Dhea Frizky)
Testing Throughout The Software Life Cycle II (Dhea Frizky)
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Testing Throughout the Software Life Cycle part.2 - Andika Dwi Ary Candra
Testing Throughout the Software Life Cycle part.2 - Andika Dwi Ary CandraTesting Throughout the Software Life Cycle part.2 - Andika Dwi Ary Candra
Testing Throughout the Software Life Cycle part.2 - Andika Dwi Ary Candra
 
Software development models hazahara
Software development models hazaharaSoftware development models hazahara
Software development models hazahara
 
Testing throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & ImplementationTesting throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & Implementation
 
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...
 
Software Development Models
Software Development ModelsSoftware Development Models
Software Development Models
 
Software Development Models by Graham et al
Software Development Models by Graham et alSoftware Development Models by Graham et al
Software Development Models by Graham et al
 
Bab 2
Bab 2Bab 2
Bab 2
 
Basic Guide to Manual Testing
Basic Guide to Manual TestingBasic Guide to Manual Testing
Basic Guide to Manual Testing
 

More from Emi Rizki Ayunanda

More from Emi Rizki Ayunanda (6)

Tool support for testing
Tool support for testingTool support for testing
Tool support for testing
 
Test management
Test managementTest management
Test management
 
Test design technique
Test design techniqueTest design technique
Test design technique
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Tugas sosioteknologi emi rizki ayunanda
Tugas sosioteknologi emi rizki ayunandaTugas sosioteknologi emi rizki ayunanda
Tugas sosioteknologi emi rizki ayunanda
 

Recently uploaded

Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........LeaCamillePacle
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
ROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationAadityaSharma884161
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 

Recently uploaded (20)

Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
ROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint Presentation
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 

Testing throughout the software life cycle

  • 1. Testing Throughout The Software Life Cycle Emi Rizki Ayunanda 11453201739 Sistem Informasi Fakultas Sains Dan Teknologi Universitas Islam Negeri Sultan Syarif Kasim Riau
  • 2. Testing Throughout The Software Life Cycle Testing is not a stand-alone activity. It has its place within a software development life cycle model 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 the various test levels and types.
  • 3. A) SOFTWARE DEVELOPMENT MODELS The development process adopted for a project will depend on the project aims and goals. There are numerous development life cycles that have been developed in order to achieve different required objectives. The life cycle model that is adopted for a project will have a big impact on the testing that is carried out. Testing does not exist in isolation; test activities are highly related to software development activities. It will define the what, where, and when of our planned testing, influence regression testing, and largely determine which test techniques to use. The way testing is organized must fit the development life cycle or it will fail to deliver its benefit. 1 2
  • 4. A) SOFTWARE DEVELOPMENT MODELS 1) V-model Before discussing the V-model, we will look at the model which came before it. The waterfall model was one of the earliest models to be designed. It has a natural timeline where tasks are executed in a sequential fashion. We start at the top of the waterfall with a feasibility study and flow down through the various project tasks finishing with implementation into the live environment. Figure a. Waterfall Model
  • 5. V-MODEL The V-model was developed to address some of the problems experienced using the traditional waterfall approach. Defects were being found too late in the life cycle, as testing was not involved until the end of the project. Testing also added lead time due to its late involvement. Although variants of the V-model exist, a common type of V-model uses four test levels. The four test levels used, each with their own objectives, are: component testing: searches for defects in and verifies the functioning of software components (e.g. modules, programs, objects, classes etc.) integration testing: tests interfaces between components, interactions to different parts of a system such as an operating system, file system and hard ware or interfaces between systems; system testing: concerned with the behavior of the whole system/product as defined by the scope of a development project or product. The main focus of system testing is verification against specified requirements; acceptance testing: validation testing with respect to user needs, require ments, and business processes conducted to determine whether or not to accept the system. 1 2
  • 6. A) SOFTWARE DEVELOPMENT MODELS 2) Iterative Life Cycles Not all life cycles are sequential. There are also iterative or incremental life cycles where, instead of one large development time line from beginning to end, we cycle through a number of smaller self-contained life cycle phases for the same project. As with the V-model, there are many variants of iterative life cycles. Examples of iterative or incremental development models are prototyping, Rapid Application Development (RAD), Rational Unified Process (RUP) and agile development. For the purpose of better understanding iterative development models and the changing role of testing a short explanation of both RAD and agile development is provided. Figure c. Iterative develpoment model
  • 7. Iterative Life Cycles a) Rapid Application Development (RAD) Rapid Application Development (RAD) is formally a parallel development of functions and subsequent integration. Components/functions are developed in parallel as if they were mini projects, the developments are time-boxed, delivered, and then assembled into a working prototype. This can very quickly give the customer something to see and use and to provide feedback regarding the delivery and their requirements. Rapid change and development of the product is possible using this methodology. Figure c. Iterative develpoment modelFigure d. RAD Model
  • 8. Iterative Life Cycles b) Agile Development Extreme Programming (XP) is currently one of the most well-known agile development 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:  It promotes the generation of business stories to define the functionality.  It demands an on-site customer for continual feedback and to define and carry 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 is written and that those tests should be automated.  It states that integration and testing of the code shall happen several times a day.  It states that we always implement the simplest solution to meet today's problems.
  • 9. A) SOFTWARE DEVELOPMENT MODELS 3) Testing within a life cycle model In summary, whichever life cycle model is being used, there are several characteristics of good testing:  for every development activity there is a corresponding testing activity;  each test level has test objectives specific to that level;  the analysis and design of tests for a given test level should begin during the corresponding development activity;  testers should be involved in reviewing documents as soon as drafts are avail able in the development cycle.
  • 10. B) TEST LEVELS This section looks in more detail at the various test levels. The key characteristics for each test level are discussed and defined to be able to more clearly separate the various test levels. A thorough understanding and definition of the various test levels will identify missing areas and prevent overlap and repetition. Sometimes we may wish to introduce deliberate overlap to address specific risks. Understanding whether we want overlaps and removing the gaps will make the test levels more complementary thus leading to more effective and efficient testing. 1
  • 11. B) TEST LEVELS 1) Component Testing Component testing, also known as unit, module and program testing, searches for defects in, and verifies the functioning of software (e.g. modules, programs, objects, classes, etc.) that are separately testable. Component testing may be done in isolation from the rest of the system depending on the context of the development life cycle and the system. Most often stubs and drivers are used to replace the missing software and simulate the interface between the software components in a simple manner. A stub is called from the software component to be tested; a driver calls a component to be tested (see Figure e.). Figure a. Waterfall Model Figure e. stubs and drivers
  • 12. B) TEST LEVELS 2) 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 be differentiated from other integration activities. Integration testing is often carried out by the integrator, but preferably by a specific integration tester or test team. There may be more than one level of integration testing and it may be carried out on test objects of varying size. For example: o component integration testing tests the interactions between software com ponents and is done after component testing; o system integration testing tests the interactions between different systems and may be done after system testing. In this case, the developing organiza tion may control only one side of the interface, so changes may be destabilizing. Business processes implemented as workflows may involve a series of systems that can even run on different platforms.
  • 13. B) TEST LEVELS 2) Integration Testing A disadvantage is that it can be time-consuming since stubs and drivers have to be developed and used in the test. Within incremental integration testing a range of possibilities exist, partly depending on the system architecture:  Top-down: testing takes place from top to bottom, following the control flow or architectural structure (e.g. starting from the GUI or main menu). Components or systems are substituted by stubs.  Bottom-up: testing takes place from the bottom of the control flow upwards. Components or systems are substituted by drivers.  Functional incremental: integration and testing takes place on the basis of the functions or functionality, as documented in the functional specification.  The preferred integration sequence and the number of integration steps required depend on the location in the architecture of the high-risk interfaces. The best choice is to start integration with those interfaces that are expected to cause most problems. Doing so prevents major defects at the end of the integration test stage. In order to reduce the risk of late defect discovery, integration should normally be incremental rather than 'big-bang'. Ideally testers should understand the architecture and influence integration planning. If integration tests are planned before components or systems are built, they can be developed in the order required for most efficient testing.
  • 14. B) TEST LEVELS 3) Systems Testing System testing is concerned with the behavior of the whole system/product as defined by the scope of a development project or product. It may include tests based 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. System testing is most often the final test on behalf of development to verify that the system to be delivered meets the specification and its purpose may be to find as many defects as possible. System testing should investigate both functional and non-functional requirements of the system. Typical non-functional tests include performance and reliability. System testing requires a controlled test environment with regard to, amongst other things, control of the software versions, testware and the test data
  • 15. B) TEST LEVELS 4) 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 customer for acceptance testing. The goal of acceptance testing is to establish confidence in the system, part of the system or specific non-functional characteristics, e.g. usability, of the system. Acceptance testing is most often focused on a validation type of testing, whereby we are trying to determine whether the system is fit for purpose.
  • 16. B) TEST LEVELS 4) Acceptance Testing Acceptance testing may occur at more than just a single level, for example:  A Commercial Off The Shelf (COTS) software product may be acceptance tested when it is installed or integrated.  Acceptance testing of the usability of a component may be done during component testing.  Acceptance testing of a new functional enhancement may come before system testing. The user acceptance test is performed by the users and application managers. In terms of planning, the user acceptance test usually links tightly to the system test and will, in many cases, be organized partly overlapping in time.
  • 18. That’s all. Thank you!  http://sif.uin-suska.ac.id/ http://fst.uin-suska.ac.id/ http://www.uin-suska.ac.id/