Lecture5 Part1 IT309

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 49

IT-309 SYSTEMS INTEGRATION & ARCHITECTURE 1

Lecturer :
Engr. Evangeline F. Gonzales
Associate Professor III
Lecture 5- Testing Life Cycle &Techniques

01 Testing Techniques

02 Testing Administration
What are the different testing techniques?
SOFTWARE DEVELOPMENT MODELS
What are the different software development models?

Terms:
● Commercial Off-The -Shelf (COTS)
● Iterative-incremental development model
● Validation
● Verification
● V-model
SOFTWARE DEVELOPMENT MODELS
What are the different software development models?

Software Development Models


● Providing guidance on the order in which a
project should carry out its major tasks and
criteria for transitioning between stages
SOFTWARE DEVELOPMENT MODELS
What are the different software development models?

Software Development Models

● Different
development
life cycle models
need different
approaches to
testing
SOFTWARE DEVELOPMENT MODELS
What are the different software development models?

Software Development Models


● Software development models, like test
strategies, must be adapted to the context
of the project and to the product
characteristics
SOFTWARE DEVELOPMENT MODELS
What are the different software development models?

V-Model (Sequential Development Model)


A V-model may have
more, fewer or different
levels of development
and testing depending
on the project and the
software product.
SOFTWARE DEVELOPMENT MODELS
What are the different software development models?

Iterative-Incremental Development Model


SOFTWARE DEVELOPMENT MODELS
What are the different software development models?

Iterative LC - Regression Testing


Testing (including Regression Test) increases
at each iteration. Regression Testing is
increasingly important on all iterations after the
first one.
SOFTWARE DEVELOPMENT MODELS
What are the different software development models?
SOFTWARE DEVELOPMENT MODELS
What are the different software development models?

COTS-Oriented Life Cycle


SOFTWARE DEVELOPMENT MODELS
What are the different software development models?

Testing within a Life Cycle Model (V-Model)


SOFTWARE DEVELOPMENT MODELS
What are the different software development models?

Exercise 1
An incremental lifecycle model is being used to develop a
new application. Which of the following statements about the
required testing is MOST likely to be CORRECT?
A. Acceptance tests for all increments should be designed before any
development iterations begin
B. User acceptance testing will be performed only once all the increments have
been completed
C. Regression testing is going to become increasingly important as each
increment is developed
D. On each iteration, a single test activity of regression testing will need to be
performed
SOFTWARE DEVELOPMENT MODELS
What are the different software development models?

Exercise 2
A V-model is being used as the software development model
on a project developing a financial messaging system. The
system will need to communicate with several existing
systems. Which of the following test levels is MOST likely to
be used as part of the model?
A. Operational Integration Testing
B. System Integration Testing
C. Regulation Maintenance Testing
D. Contract System Testing
SOFTWARE DEVELOPMENT MODELS
What are the different software development models?

Exercise 3
Which of the following is a characteristic of good testing that is applicable
to any lifecycle model?
A. Testers should participate in reviewing documents as soon as they
are approved
B. Test design should begin immediately after the corresponding
development activity has ended
C. Each test level on a project shares the same test objectives
D. For every development activity, there is a corresponding test activity
How to administer tests?
SOFTWARE DEVELOPMENT MODELS
What are the different software development models?

Test Levels
Terms:
Alpha testing

Beta testing

Component testing

Driver

Field testing

SOFTWARE DEVELOPMENT MODELS
What are the different software development models?

● Functional requirement
● Integration
● Integration testing
● Non-functional requirement
● Robustness testing
● Stub
● System testing
SOFTWARE DEVELOPMENT MODELS
What are the different software development models?

● Test environment
● Test level
● Test-driven development
● User acceptance testing
SOFTWARE DEVELOPMENT MODELS
What are the different software development models?

For each test levels, the following can be


identified:
● Generic Objectives

● Work product(s) being referenced for


deriving test cases (i.e. test basis)
● Test Object (i.e. what is being tested)

● Typical defects and failures to be found


SOFTWARE DEVELOPMENT MODELS
What are the different software development models?

● Test harness requirements and tool support


● Specific approaches and responsibilities

Component Testing
Test basis:
● Component requirements
● Detailed design
● Code
TEST ADMINISTRATION
How to administer tests?

Typical test objects:


● Components
● Programs
● Data conversion / migration programs
● Data base modules
TEST ADMINISTRATION
How to administer tests?

Objectives of Component Testing


● Testing functionality
● Testing non-functional characteristics (e.g.
memory leaks)
● Testing robustness
● Verifying error tolerance
TEST ADMINISTRATION
How to administer tests?

Objectives of Component
Testing

● Verifying interfaces
within a module
● Verifying local data,
boundary values
TEST ADMINISTRATION
How to administer tests?

Integration Testing
Test basis:
● Software and system design

● Architecture

● Workflows

● Use cases
TEST ADMINISTRATION
How to administer tests?

Typical test objects:


● Subsystems

● Database implementation

● Infrastructure

● Interfaces

● System configuration and configuration data


TEST ADMINISTRATION
How to administer tests?

Objectives of Integration Testing


● Assembling tested components into a single

system
● Tests interfaces and combinations of
interacting components
TEST ADMINISTRATION
How to administer tests?

● There may be more than one level of


integration testing
○ Component Integration Testing

■ Tests the interactions between


software components and is done after
component testing
TEST ADMINISTRATION
How to administer tests?

○ System Integration Testing


■ Tests the interactions between
different systems or between hardware
and software and may be done after
system testing
TEST ADMINISTRATION
How to administer tests?

System Testing
Test basis:
● System and software requirement
specification
● Use cases

● Functional specification

● Risk analysis reports


TEST ADMINISTRATION
How to administer tests?

Typical test objects:


● System, user and operation manuals

● System configuration and configuration data

Objectives of System Testing


● Verifying the behavior of a whole system or

application
TEST ADMINISTRATION
How to administer tests?

● The test environment should correspond to


the final production environment as much as
possible to minimize the risk of environment
-specific failures
● Investigate both functional and
nonfunctional requirement of system and
data quality characteristics
TEST ADMINISTRATION
How to administer tests?

● Effective System Testing needs to be


executed without unit or integration defects
● Testers also need to deal with incomplete or
undocumented requirements
● An independent test team often carries out
system testing
TEST ADMINISTRATION
How to administer tests?

Acceptance Testing
Test basis:
● User requirements

● System requirements

● Use Cases

● Business processes

● Risk analysis reports


TEST ADMINISTRATION
How to administer tests?

Typical test objects:


● Business processes on fully integrated
system
● Operational and maintenance processes

● User procedures

● Forms

● Reports

● Configuration data
TEST ADMINISTRATION
How to administer tests?

Objectives of Accepance Testing


● It is often the responsibility of the customers

or users of a system; other stakeholders


may be involved as well.
● Goal: To establish confidence in the system,

parts of the system or specific non-functional


characteristics of the system.
TEST ADMINISTRATION
How to administer tests?

● Finding defects is not the main focus in


acceptance testing
● Acceptance testing is not necessarily the
final level of testing
○ E.g. a large-scale system integration test

may come after the acceptance test for a


system.
TEST ADMINISTRATION
How to administer tests?

● Acceptance testing may occur at various


times in the life cycle, for example:
○ A COTS software product may be
acceptance tested when it is installed or
integrated
TEST ADMINISTRATION
How to administer tests?

○ 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
TEST ADMINISTRATION
How to administer tests?

Forms of Acceptance Testing


● User acceptance testing

○ fitness for use of the system by business

users.
● Operational (acceptance) testing

○ Testing of backup/restore

○ Disaster recovery
TEST ADMINISTRATION
How to administer tests?

● Operational (acceptance) testing


○ User management

○ Maintenance tasks

○ Data load and migration task

○ Periodic checks of security vulnerabilities


TEST ADMINISTRATION
How to administer tests?

Forms of Acceptance Testing


● Contract and regulation acceptance testing

○ Contract acceptance testing is


performed against a contract’s acceptance
criteria for producing custom-developed
software.
TEST ADMINISTRATION
How to administer tests?

○ Acceptance criteria should be defined


when the parties agree to the contract .
○ Regulation acceptance testing is
performed against any regulations that
must be adhered to, such as government,
legal or safety regulations.
TEST ADMINISTRATION
How to administer tests?

● Alpha and beta (or field) testing


○ Alpha testing is performed at the
developing organization’s site but not by
the developing team.
○ Beta testing, or field-testing, is
performed by customers or potential
customers at their own locations.
TEST ADMINISTRATION
How to administer tests?

Organizations may use other terms as well,


such as factory acceptance testing and site
acceptance testing for systems that are
tested before and after being moved to a
customer’s site.
TEST ADMINISTRATION
How to administer tests?

Characteristics of Test Levels


TEST ADMINISTRATION
How to administer tests?

Characteristics of Test Levels


THANK YOU FOR LISTENING

You might also like