Testing throughout
software development lifecycle
HOÀNG HIỀN
ISTQB Foundation Level
Contents
1. Test level
2. Test type
3. Maintainance testing
Test level
Acceptane testing
System testing
Integration testing
Component testing
•Focuses on the behavior and capabilities of a whole
system or product
•Often considering the end-to-end tasks the system
can perform and the non-functional behaviors it
exhibits while performing those tasks
•Focuses on interactions between components or
systems
•Focuses on components
Component testing
• Reducing risk
•Verifying whether the functional and non-functional behaviors of the component
are as designed and specified
•Building confidence in the component’s quality
•Finding defects in the component
•Preventing defects from escaping to higher test levels
1. Objectives of component testing
Component testing
Testbasic
Detailed design
Code
Data model
Componet
specifications
Testobject
Components, units or
modules
Code and data
structures
Classes
Database modules
Component testing
Incorrect functionality (e.g., not as described in design specifications)
Data flow problems
Incorrect code and logic
1. Typical defects and failures
Integration testing
• Reducing risk
•Verifying whether the functional and non-functional behaviors of the interfaces
are as designed and specified
•Building confidence in the interfaces’ quality
•Finding defects (which may be in the interfaces themselves or within the
components or systems)
•Preventing defects from escaping to higher test levels
1. Objectives of component testing
Testbasic
Software and system design
Sequence diagrams
Interface and communication
protocol specifications
Use cases
Architecture at component
system level
Workflows
External interface definitions
Testobject
Subsystems
Databases
Infrastructure
Interfaces
APIs
Microservices
Integration testing
Incorrect data, missing data, or incorrect data encoding
Incorrect sequencing or timing of interface calls
Interface mismatch
Failures in communication between components
Unhandled or improperly handled communication failures between components
Incorrect assumptions about the meaning, units, or boundaries of the data being passed
between components
1. Typical defects and failures
Integration testing
System testing
• Reducing risk
•Verifying whether the functional and non-functional behaviors of the system
are as designed and specified
• Validating that the system is complete and will work as expected
• Building confidence in the quality of the system as a whole
• Finding defects
•Preventing defects from escaping to higher test levels or production
1. Objectives of component testing
Testbasic
System and software
requirement specifications
(functional and non-functional)
Risk analysis reports
Use cases
Epics and user stories
Models of system behavior
State diagrams
System and user manuals
Testobject
Applications
Hardware/software systems
Operating systems
System under test (SUT)
System configuration and
configuration data
System testing
Incorrect calculations
Incorrect or unexpected system functional or non-functional behavior
Incorrect control and/or data flows within the system
Failure to properly and completely carry out end-to-end functional tasks
Failure of the system to work properly in the production environment(s)
Failure of the system to work as described in system and user manuals
1. Typical defects and failures
System testing
Acceptance esting
• Establishing confidence in the quality of the system as a whole
• Validating that the system is complete and will work as expected
• Verifying that functional and non-functional behaviors of the system are as
specified
1. Objectives of testing (UAT, OAT)
Testbasic
Business processes
User or business requirements
Regulations, legal contracts
and standards
Use cases
System requirements
System or user documentation
Installation procedures
Risk analysis reports
Testobject
System under test
System configuration and configuration
data
Business processes for a fully
integrated system
Recovery systems and hot sites (for
business continuity and disaster recovery
testing)
Operational and maintenance
processes
Forms
Reports
Existing and converted production data
Acceptance esting
System workflows do not meet business or user requirements
Business rules are not implemented correctly
System does not satisfy contractual or regulatory requirements
Non-functional failures such as security vulnerabilities, inadequate performance
efficiency under high loads, or improper operation on a supported platform
1. Typical defects and failures
Acceptance testing
Test type
•Evaluating the
structure or
architecture
•Evaluating the
effects of
changes
•Evaluating non-
functional
quality
characteristics
•Evaluating
functional
quality
characteristics
Functional
Testing
Non-
Functional
Testing
White-box
Testing
Change-
related
testing
Phương pháp kiểm thử
INPUT
OUTPU
T
INPUT
OUTPU
T
White
box
Gray
box
Blac
k
box
Test type
Tình huống kiểm thử
Positive test
Còn gọi lại clean test
hay valid test
Test những trường
hợp mà user sử dụng
hệ thống một cách
bình thường, đúng ý
đồ thiết kế
Tình huống
test
Negative test
Còn gọi là dirty test
hay invalid test.
Test những trường
hợp user làm những
hành động khác
thường hay đưa vào
những dữ liệu không
hợp lệ
Test type
Maintainace testing
When any changes are made as part of maintenance, maintenance
testing should be performed, both to evaluate the success with which
the changes were made and to check for possible side-effects (e.g.,
regressions) in parts of the system that remain unchanged (which is
usually most of the system). The scope of maintenance testing
depends on:
• The degree of risk of the change
• The size of the existing system
• The size of the change
Triggers for Maintenance
Modification Migration Retirement
Impact Analysis for Maintenance
Object:
• Identify the intended consequences as well as expected
• Identify possible side effects of a change
• Identify the areas in the system that will affected by the change
Challenge
• Specifications are out of date or missing
• Test cases are not documented or are out of date
• Bi-directional traceability between tests and the test basis has not been
maintained
• Tool support is weak or non-existent
• The people involved do not have domain and/or system knowledge
• Insufficient attention has been paid to the software's maintainability during
development
THANKS!
Any questions?
You can find me at
@HOANG HIEN/ hoanghien430103@gmail.com

ISTQB Test level, Test type

  • 1.
  • 2.
  • 3.
    Contents 1. Test level 2.Test type 3. Maintainance testing
  • 4.
    Test level Acceptane testing Systemtesting Integration testing Component testing •Focuses on the behavior and capabilities of a whole system or product •Often considering the end-to-end tasks the system can perform and the non-functional behaviors it exhibits while performing those tasks •Focuses on interactions between components or systems •Focuses on components
  • 5.
    Component testing • Reducingrisk •Verifying whether the functional and non-functional behaviors of the component are as designed and specified •Building confidence in the component’s quality •Finding defects in the component •Preventing defects from escaping to higher test levels 1. Objectives of component testing
  • 6.
    Component testing Testbasic Detailed design Code Datamodel Componet specifications Testobject Components, units or modules Code and data structures Classes Database modules
  • 7.
    Component testing Incorrect functionality(e.g., not as described in design specifications) Data flow problems Incorrect code and logic 1. Typical defects and failures
  • 8.
    Integration testing • Reducingrisk •Verifying whether the functional and non-functional behaviors of the interfaces are as designed and specified •Building confidence in the interfaces’ quality •Finding defects (which may be in the interfaces themselves or within the components or systems) •Preventing defects from escaping to higher test levels 1. Objectives of component testing
  • 9.
    Testbasic Software and systemdesign Sequence diagrams Interface and communication protocol specifications Use cases Architecture at component system level Workflows External interface definitions Testobject Subsystems Databases Infrastructure Interfaces APIs Microservices Integration testing
  • 10.
    Incorrect data, missingdata, or incorrect data encoding Incorrect sequencing or timing of interface calls Interface mismatch Failures in communication between components Unhandled or improperly handled communication failures between components Incorrect assumptions about the meaning, units, or boundaries of the data being passed between components 1. Typical defects and failures Integration testing
  • 11.
    System testing • Reducingrisk •Verifying whether the functional and non-functional behaviors of the system are as designed and specified • Validating that the system is complete and will work as expected • Building confidence in the quality of the system as a whole • Finding defects •Preventing defects from escaping to higher test levels or production 1. Objectives of component testing
  • 12.
    Testbasic System and software requirementspecifications (functional and non-functional) Risk analysis reports Use cases Epics and user stories Models of system behavior State diagrams System and user manuals Testobject Applications Hardware/software systems Operating systems System under test (SUT) System configuration and configuration data System testing
  • 13.
    Incorrect calculations Incorrect orunexpected system functional or non-functional behavior Incorrect control and/or data flows within the system Failure to properly and completely carry out end-to-end functional tasks Failure of the system to work properly in the production environment(s) Failure of the system to work as described in system and user manuals 1. Typical defects and failures System testing
  • 14.
    Acceptance esting • Establishingconfidence in the quality of the system as a whole • Validating that the system is complete and will work as expected • Verifying that functional and non-functional behaviors of the system are as specified 1. Objectives of testing (UAT, OAT)
  • 15.
    Testbasic Business processes User orbusiness requirements Regulations, legal contracts and standards Use cases System requirements System or user documentation Installation procedures Risk analysis reports Testobject System under test System configuration and configuration data Business processes for a fully integrated system Recovery systems and hot sites (for business continuity and disaster recovery testing) Operational and maintenance processes Forms Reports Existing and converted production data Acceptance esting
  • 16.
    System workflows donot meet business or user requirements Business rules are not implemented correctly System does not satisfy contractual or regulatory requirements Non-functional failures such as security vulnerabilities, inadequate performance efficiency under high loads, or improper operation on a supported platform 1. Typical defects and failures Acceptance testing
  • 17.
    Test type •Evaluating the structureor architecture •Evaluating the effects of changes •Evaluating non- functional quality characteristics •Evaluating functional quality characteristics Functional Testing Non- Functional Testing White-box Testing Change- related testing
  • 18.
    Phương pháp kiểmthử INPUT OUTPU T INPUT OUTPU T White box Gray box Blac k box Test type
  • 19.
    Tình huống kiểmthử Positive test Còn gọi lại clean test hay valid test Test những trường hợp mà user sử dụng hệ thống một cách bình thường, đúng ý đồ thiết kế Tình huống test Negative test Còn gọi là dirty test hay invalid test. Test những trường hợp user làm những hành động khác thường hay đưa vào những dữ liệu không hợp lệ Test type
  • 20.
    Maintainace testing When anychanges are made as part of maintenance, maintenance testing should be performed, both to evaluate the success with which the changes were made and to check for possible side-effects (e.g., regressions) in parts of the system that remain unchanged (which is usually most of the system). The scope of maintenance testing depends on: • The degree of risk of the change • The size of the existing system • The size of the change
  • 21.
  • 22.
    Impact Analysis forMaintenance Object: • Identify the intended consequences as well as expected • Identify possible side effects of a change • Identify the areas in the system that will affected by the change Challenge • Specifications are out of date or missing • Test cases are not documented or are out of date • Bi-directional traceability between tests and the test basis has not been maintained • Tool support is weak or non-existent • The people involved do not have domain and/or system knowledge • Insufficient attention has been paid to the software's maintainability during development
  • 23.
    THANKS! Any questions? You canfind me at @HOANG HIEN/ hoanghien430103@gmail.com