Skip to content
← All CTFL learning objectives

CTFL 2.1.1: Explain the impact of the chosen software development lifecycle on testing

K2

Syllabus section 2.1.1

3 original PrepBench practice questions for learning objective 2.1.1 of the CTFL 4.0 syllabus. Try the examples below and check each answer against its syllabus reference.

Practice questions

Question 1

In some iterative and incremental development models, each iteration delivers a working prototype or product increment. What does this imply for testing?

  1. In each iteration, both static testing and dynamic testing may be performed at all test levels
  2. Dynamic testing waits for the final increment, when the complete system first becomes executable
  3. Test levels are defined so that the exit criteria of one are part of the entry criteria of the next
  4. Test analysis and design can be omitted, because experience-based techniques need no preparation
Show answer
  • Correct answer: In each iteration, both static testing and dynamic testing may be performed at all test levelsA working increment each iteration allows static and dynamic testing at all levels.
  • Dynamic testing waits for the final increment, when the complete system first becomes executableWaiting for executable code describes sequential models, where code comes in the later phases.
  • Test levels are defined so that the exit criteria of one are part of the entry criteria of the nextExit criteria feeding the next level's entry criteria is how sequential models define test levels.
  • Test analysis and design can be omitted, because experience-based techniques need no preparationExperience-based techniques need no extensive prior analysis, but analysis is not thereby dropped.

Where each iteration delivers a working prototype or product increment, both static testing and dynamic testing may be performed at all test levels within each iteration. Frequent delivery of increments then requires fast feedback and extensive regression testing.

Syllabus section 2.1.1

Question 2

Team A follows a sequential development model. Team B works iteratively and delivers a working increment each iteration. Both test comparable products. Which difference in their testing follows from the lifecycle choice?

  1. Team B can test statically and dynamically at all test levels each iteration; Team A cannot test dynamically until late
  2. Team B needs no regression testing, because every increment is tested at the point it is delivered
  3. Team A has to automate more of its testing, because its test levels run strictly one after another
  4. Team A and Team B need the same level of detail in their test documentation
Show answer
  • Correct answer: Team B can test statically and dynamically at all test levels each iteration; Team A cannot test dynamically until lateAn increment each iteration allows testing at all levels; sequential code arrives late.
  • Team B needs no regression testing, because every increment is tested at the point it is deliveredFrequent delivery of increments requires extensive regression testing, not none.
  • Team A has to automate more of its testing, because its test levels run strictly one after anotherThe extent of test automation is affected by the SDLC, but automation is favoured in Agile projects.
  • Team A and Team B need the same level of detail in their test documentationThe level of detail of test documentation is one of the things the SDLC choice impacts.

In sequential models the executable code is usually created in the later phases, so dynamic testing typically cannot be performed early. Where each iteration delivers a working prototype or increment, both static and dynamic testing may be performed at all test levels within every iteration. Frequent delivery then requires fast feedback and extensive regression testing, so Team B needs more regression testing rather than none, and the level of detail of test documentation is itself one of the things the SDLC choice affects.

Syllabus section 2.1.1

Question 3

In a sequential development model, why can dynamic testing typically not be performed in the early phases?

  1. Because testers only join the project once the code has been written
  2. Because test analysis and design must wait for a completed system specification
  3. Because static testing has to be completed before any dynamic testing may begin
  4. Because the executable code is usually created only in the later phases
Show answer
  • Because testers only join the project once the code has been writtenTesters participate in requirement reviews, test analysis and test design in the initial phases.
  • Because test analysis and design must wait for a completed system specificationTest analysis and design for a level begin during the corresponding development phase.
  • Because static testing has to be completed before any dynamic testing may beginStatic and dynamic testing complement each other; no such ordering rule is imposed.
  • Correct answer: Because the executable code is usually created only in the later phasesWithout executable code in the early phases, dynamic testing cannot be performed.

In sequential development models, testers typically participate in requirement reviews, test analysis and test design in the initial phases. The executable code is usually created in the later phases, so dynamic testing — which requires something executable — typically cannot be performed early in the SDLC.

Syllabus section 2.1.1

Original PrepBench practice material, not official exam questions or exam dumps. PrepBench is independent and is not affiliated with or endorsed by ISTQB®.

Glossary terms in this chapter