2.1 Testing in the SDLC Flashcards

1
Q

How does the choice of SDLC model impact testing?

A
  • scope and timing of test activities
  • level of detail in test docs
  • choice of test techniques and approach
  • Extent of test automation
  • role and responsibilities of a tester
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How do sequential development models (Waterfall) affect testing?

A

In early phases, testers participate in requirement reviews, test analysis, and test design.

Dynamic testing cannot be performed until later in the SDLC when executable code has been created.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How do iterative development models (Agile) affect testing?

A

When each iteration delivers a working prototype or product increment, both static and dynamic testing may be performed at all test levels for each iteration.

Frequent delivery requires fast feedback and extensive regression testing.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How does an Agile SDLC affect testing?

A

We assume change may occur throughout the project. Therefore we favor:
- lightweight documentation
- extensive automation of regression testing
- manual testing based on experience-based test techniques

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are good testing practices regardless of SDLC?

A
  • For every development activity, there is a corresponding test activity
  • Different test levels have specific and different test objectives, to be comprehensive but not redundant
  • Test analysis and design for a given test level begins during the corresponding development phase
  • Testers are involved in reviewing work products as soon as drafts of the docs are available (shift-left)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Describe Test-Driven Development

A
  • directs coding through test cases (instead of extensive software design)
  • tests are written first, then code is written to satisfy tests, then both are refactored
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Describe Acceptance-Test Driven Development

A
  • derives tests from acceptance criteria as part of system design process
  • otherwise, the same as TDD
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Describe Behavior-Driven Development

A
  • expresses the desired behavior of an application with test cases written in a simple form of natural language, easy to understand by stakeholders
  • usually using the Given / When / Then format
  • test cases are then (automatically) translated into executable tests
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is DevOps?

A

An organizational approach that creates synergy by getting development and operations teams to work together to achieve a set of common goals. Testing is included on the dev side.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

From the perspective of testing, what are some benefits of DevOps?

A
  • fast feedback on code quality
  • encourages developers to submit high quality code accompanied by component (unit) tests and static analysis
  • promotes automated processes like CI/CD
  • Increased view on non-functional quality like performance and reliability
  • Automation through delivery pipeline reduces need for repetitive manual testing
  • Risk in regression is minimized due to scale and range of automated regression tests
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are three risks or challenges of DevOps?

A
  • the DevOps delivery pipeline must be defined and established
  • CI / CD tools must be introduced and maintained
  • Test automation requires additional resources and may be difficult to establish and maintain
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is meant by a shift-left approach?

A

Testing should be started earlier in the SDLC, not waiting for code to be fully implemented or components to be integrated.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Describe good practices to “shift-left”.

A
  • Review specifications from a test perspective.
  • Write test cases before code is written and test as it is implemented.
  • Use continuous integration and continuous delivery to get fast feedback.
  • Complete static code analysis before dynamic testing, or via automation.
  • Start non-functional tests at the component level instead of waiting to do it later.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How does a shift-left approach affect efforts and costs?

A

It requires additional upfront effort and cost, but saves you time and money down the road.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is discussed in a Retrospective?

A

What was successful and should be retained?

What was not successful and could be improved?

How can we do these things in future projects?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What report are Retrospective results recorded in?

A

The Test Completion report

17
Q

What are the benefits of Retrospectives?

A
  • increased test effectiveness and efficiency
  • increased quality of testware
  • team bonding and learning
  • improved quality of test basis
  • cooperation between dev and test