...
ISTQB CTFL(v4) Chapter2

(1) Software Development Lifecycle

Models

  • Sequential
  • waterfall model
  • V-model
  • Iterative
  • spiral
  • prototyping
  • Kanban
  • Scrum
  • Incremental
  • Unified Process

Impact on Testing

  • Scope and timing
  • test documentation
  • test techniques and approach
  • test automation
  • Role and responsibilities
  • Testing practices
  • Every SD activity has a corresponding test activity
  • Test levels have specific and different test objectives
  • Initiate test analysis and design during the corresponding development phase
  • Involve testers in reviewing workproducts

Testing as a Driver for SD

  • Test-Driven Development (TDD)
  • Directs the coding through test cases
  • Acceptance Test-Driven Development (ATDD)
  • Derives tests from acceptance criteria
  • Behavior-Driven Development (BDD)
  • Using the (Given/When/Then) format

DevOps

  • Development (including testing) and operations work together
  • Fast feedback
  • shift-left approach
  • Continuous integration (CI) continuous delivery (CD)
  • Build, test and release high-quality code faster
  • focus on non-functional quality
  • regression risk is minimized

Shift-Left Approach

  • Reviewing the specification
  • Writing test cases before the code
  • Using CI and CD --> fast feedback
  • static code analysis
  • non-functional testing at the component test level

Retrospectives

  • Discuss:
  • What was successful, and should be retained?
  • What was not successful and could be improved?
  • How to incorporate the improvements?
  • Benefits:
  • Increased test effectiveness/efficiency
  • Increased quality of testware and test basis
  • Team bonding and learning
  • cooperation between development and testing

(2) Test Levels and Test Types

Test Levels

  • Component
  • Testing components in isolation (by dev)
  • Component integration
  • Testing the interfaces and interactions between components (by dev)
  • bottom-up
  • top-down
  • big-bang
  • System
  • overall behavior of the entire system
  • functional testing
  • non-functional testing
  • System integration
  • Testing the interfaces of the system with other systems
  • test environments should be similar to the operational environment
  • Acceptance
  • focuses on validation
  • User acceptance testing (UAT)
  • operational acceptance testing
  • contractual and regulatory acceptance testing
  • alpha and beta testing

Test Types

  • Functional
  • "what" the test object should do
  • Non-functional
  • testing of "how well the system behaves"
  • Performance
  • Compatibility
  • Usability
  • Reliability
  • Security
  • Maintainability
  • Portability
  • Black-box
  • Checking the system's behavior against its specifications (specification-based)
  • White-box
  • cover the underlying structure by the tests (structure-based)

Confirmation Testing

  • confirms that an original defect has been successfully fixed
  • Can be done by:
  • Executing all the failed test cases
  • Adding new tests to cover any change
  • Reproducing the failure and ensuring it no longer occurs

Regression Testing

  • confirms that a change or the confirmed fix has not resulted in adverse consequences
  • Perform an impact analysis to know which parts of the software could be affected

(3) Maintenance Testing

  • Scope depends on:
  • The degree of risk of the change
  • The size of the existing system
  • The size of the change
  • Classified as:
  • Modifications
  • Planned releases
  • Unplanned releases (hot fix)
  • Upgrades or migrations of the operational environment
  • Retirement
    • Testing of data archiving and restore procedures


Likes ( 0 ) comments ( 0 )
2025-07-30 12:54:53
Add comment