Chapter 2 - Testing Throughout The SDLC

0.0(0)
studied byStudied by 0 people
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/46

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

47 Terms

1
New cards

True

Testing does not exist in isolation; test activities are related to software development activities. (T/F)

2
New cards

Software Development Lifecycle (SDLC)

is an abstract, high-level model representation of the software development process. It defined how different development phases and types of activities performed within this process relate to each other.

3
New cards

Software Development Lifecycle (SDLC)

Examples of them include: Sequential development models (e.g., waterfall model, V-model), iterative development models (e.g., spiral model, prototyping), and incremental development models (e.g., Unified Process).

4
New cards

Testing

The process consisting of all life cycle activities, both static and dynamic, concerned with planning, preparation and evaluation of software products and related work products to determine that they satisfy specified requirements, to demonstrate that they are fit for purpose and to detect defects.

5
New cards

True

Testing activities must be adapted to the SDLC to succeed. (T/F)

6
New cards

Testing

The choice of the SDLC impacts on the:

- Scope and timing of test activities (e.g., test levels and test types)

- Level of detail of test documentation

- Choice of test techniques and test approach

- Extent of test automation

- Role and responsibilities of a tester

- Skills and Resources required for Testing

7
New cards

Sequential Development Model

Describes the software development process as a linear, sequential flow of activities.

- This means that any phase in the development process should begin when the previous phase.

- In theory, there is no overlap of phases, but in practice, it is beneficial to have early feedback from the following phase.

8
New cards

Requirements gathering and Design

Sequential Development Model

In the initial phases of the sequential development models, like ___________ __________ and _________, tester's typically participate in requirement reviews, conduct test analysis and design, tests which will be executed later once testable code becomes available.

9
New cards

development phase

Sequential Development Model

Since executable code is usually created in the later phases such as the __________ __________, dynamic testing typically cannot be performed early in the SDLC before the Development stage where code is developed.

10
New cards

Waterfall Model

Shows the steps in sequence where the customer requirements are progressively refined to the point where coding can take place. This type of model is often referred to as linear or sequential model.

11
New cards

Waterfall Model

- Each work or product is completed before moving on to the next.

- Testing is carried out once the code has been fully developed.

- Once testing is complete, a decision can be made on whether the product can be released into the live environment.

Additionally, testers are involved after development is done and the testing at the end serves as a quality check. The product can be accepted or rejected at this point.

12
New cards

Requirement Gathering

In the Waterfall Model, this is where:

- Review and Analyze Requirement Documents

- Identify testable requirements

- Create a test plan

13
New cards

System Design

In the Waterfall Model, this is where:

- Analyze System Requirements

- Create test scenarios

- Identify test data and environment

14
New cards

Development

In the Waterfall Model, this is where:

- Developers code and test

15
New cards

Testing

In the Waterfall Model, this is where:

- Test Execution

- Integration Testing

- System Testing

- Acceptance Testing

16
New cards

Waterfall Model

The disadvantages of this model are:

- Finding defects at the end (during testing), could result in substantial costs associated with defect fixing.

- The commercial and financial aspects associated with cost of fixing the defects could be very high - maybe even more than the entire project budget.

- We cannot reject the parts of the system found to be defective and release the rest because the removal of software is often not a clean-cut activity as this could cause the system to become unusable.

17
New cards

Entry Criteria for Testing - Typical Examples:

SCREENSHOT NA LANG IN SLIDE 11

18
New cards

Exit Criteria for Testing - Typical Examples:

SCREENSHOT NA LANG IN SLIDE 12

19
New cards

Test Coverages in Entry/Exit Criteria

- Ensure that the planned test coverage has been achieved.

- Reduces the risk of untested areas which could harbor defects.

20
New cards

Entry/Exit Criteria for Defect Resolution

- Ensures that all critical and high-severity defects are resolved and verified.

- Allows the teams to take control actions where necessary in the event of inadequate outcomes from testing.

- Allows the team to decide if the next development/testing stage/level can begin.

- Residual risks related to unresolved defects are documented and communicated.

21
New cards

Residual Risk

Refers to the remaining risk after all planned measures to mitigate risk have been implemented, it includes any potential issues that remain in the system after testing is complete, such as: Defects that are Unresolved or Deferred, Test Conditions or Functionalities or Test Configurations that remain untested (ex: maybe due to resource unavailability or low risk impact that it "Accepted")

22
New cards

Entry Criteria

Residual Risk:

- ________ _________ help teams ensure that testing begins on a solid foundation, which helps to minimize the residual risk for example: allows teams to adequately prepare for coverage and ensure availability of test environment.

23
New cards

Exit Criteria

Residual Risk:

- Similarly, _________ __________ highlights residual risk (defects unresolved) to ensure stakeholders are informed so that they can decide whether to accept the risk as "known issues".

24
New cards

Verification

The V-Model

"Confirmation by examination and through the provision of objective evidence that specified requirements have been fulfilled."

25
New cards

Validation

The V-Model

"Confirmation by examination and through provision of objective evidence that the requirements for a specific intended use or application have been fulfilled."

26
New cards

V-Model

The essence of the ________ is:

- To graphically show the stages of the development life cycle (including the testing stages).

- To graphically show the relationship between each development stage and the related testing stage.

- To demonstrate simply that once a basis for testing has been produced (having been verified) then Planning and Preparation can commence.

- To depict the test stages for which the document is to be a source.

27
New cards

Acceptance Testing

V-Model: Sequence of V-Model

Performed by users; end to end testing.

Business Requirements <------------------> ____________________

28
New cards

System Integration Testing

V-Model: Sequence of V-Model

Performed by testers; dynamic testing; manual or automated.

Functional Specification (FRS) <------------------> ____________________

29
New cards

System Testing

V-Model: Sequence of V-Model

Performed by testers; dynamic testing; manual or automated.

Technical Specification <------------------> ____________________

30
New cards

Component Integration Testing

V-Model: Sequence of V-Model

Typically performed by developers.

Design Specification <------------------> ____________________

31
New cards

Component Testing

V-Model: Sequence of V-Model

Typically performed by developers.

Code <------------------> ____________________

32
New cards

Characteristics of Sequential Model

• They need business needs and requirements to be well defined before development can begin

• It require a development phase to be complete before the next one can begin. (Requirements to be fully defined before Design can begin, Design fully developed before Coding can begin, Tests fully developed before execution can begin)

• Level of (detail) Documentation is based on the complexity of the project, organizational standards, regulatory requirements and specific project requirements and is typically formal.

• In this, in the initial phases testers and other stakeholders can typically participate in requirement reviews, test analysis, and test design.

33
New cards

Characteristics of Sequential Models

• The executable code is usually created in the later phases, so typically dynamic testing cannot be performed early in the SDLC before development of code is complete.

• Customers/Business Representatives often experience the product only during acceptance testing (Tunnel Effect) and are rarely involved during development

• Change management is sequential models is complex and when a change is accepted, it requires changes to be implemented through layers of development documentation. Hence this development methodology may not be suitable for unpredictable or rapidly evolving business needs which require rapid changes to the solution.

34
New cards

Testing in Sequential Models

• Testers create and execute tests on the software under test (verify) and provide reports to the stakeholders.

• Applicable test techniques are used in documenting Test Cases to demonstrate test coverage criteria.

• Testing typically involves manually executing test cases so test cycles tend to be longer.

• Automated Test Scripts are developed from well defined and documented test cases and test scripts.

• Automated tests may run parallelly with manual testing

• Test Automation is often introduced late in the Testing and tend to focus on System and Acceptance tests.

• Emphasis of automation is for Regression Testing and time-consuming tests

35
New cards

Testing in Sequential Models

• Testing in sequential development models need (and assumes ) stable and well defined requirements.

Each phase of development has a corresponding test level

• Tests are divided into categories or test types according to their objectives, which are pursued with differing priorities on different test levels:

• Comprehensive test planning is an important part of the testing process.

• Testers should ideally be involved in validating requirements and design.

• Test documentation is generally detailed (based on formality - including test plans, test cases and test scripts)

36
New cards

Tunnel Effect

The _________ ________ in project management is where the customer has little or no visibility of the product during the course of the development project. Therefore, they only judge at the very end of the project if the deliverable satisfies his need or not.

37
New cards

Iterative Incremental Model

While Sequential Models need requirements to be fully developed and follow a linear progression, ________ ________ ________ are characterized by:

• Adaptability of development for evolving business needs

• Continuous refinement of development process

• Customer involvement and collaboration

• Rapid feedback mechanisms

They are particularly well-suited for projects where requirements are expected to evolve, and there is a need for regular feedback and adaptation. Modern software development practices often favor this for dynamic and evolving project requirements.

38
New cards

Incremental Development

is an approach to software development where a system is designed, implemented, and delivered in small, manageable increments or pieces.

• Each increment could represent a partial implementation of the complete system, adding new features or functionality to the existing project.

• This increment is then reviewed, and feedback from stakeholders is used to make improvements and plan the next iteration.

39
New cards

Incremental Development

• The goal of incremental development is to deliver a working and usable system/workflow gradually by removing bottlenecks, allowing for flexibility, adaptability, and continuous refinement throughout the development process.

Examples:

(Agile) KANBAN (KanBan - Visualizing progress on a whiteboard)

Rational Unified Process

40
New cards

Agile methodologies

follow specific principles and practices outlined in the Agile Manifesto. Some popular examples include: KANBAN, SCRUM, EXTREME PROGRAMMING.

They follow specific principles and practices that promote flexibility, customer collaboration, and continuous improvement and are different them other iterative incremental models like RUP (prescriptive and has definite phases Inception, Elaboration, Construction, Transition) and the Spiral Model (focuses heavily on risk assessment and requires significant documentation and management involvement.)

41
New cards

Agile methodologies

The four core values of _____ software development as stated in the ______ Manifesto are as follows:

1. Individuals and interactions over processes and tools

2. Working software over comprehensive documentation

3. Customer collaboration over contract negotiation

4. Responding to change over following a plan

42
New cards

SCRUM

is a software development approach where the development project is broken down into smaller releases and each release is further broken down into smaller sprints (iterations).

_______ specifics at a glance:

Product Backlog: A prioritized list of features, enhancements, and fixes required for the product.

Sprint Backlog: A subset of the product backlog items selected for implementation in the current sprint (Iteration) Increment: The product backlog items implemented and "Done" during a sprint, a potentially shippable product (MVP)

Sprint: A time-boxed iteration (usually 2-4 weeks) during which a potentially shippable product increment(MVP) is developed.

43
New cards

SCRUM

Each sprint undergoes the development process in multiple iterations in time boxes so that each iteration provides an increment of the product that can be deployed.

• During an iteration, a set of tasks or user stories is selected and worked on, with the goal of producing a "potentially shippable" product increment after the acceptance tests pass (Minimum Viable Product).

• Collaborative Sprint Planning involving the Developers (incl Testers) and the Product Owner allows the team to clarify, refine and plan the implementation of the user stories for the sprint with clear, defined, testable acceptance test criteria.

• The stakeholders that represent the business decide whether to deploy the MVP for use after the acceptance tests pass.

• The process is repeated in further iterations (sprints) until the software meets the desired quality and functionality.

44
New cards

Release planning

In iterative SDLCs, typically two kinds of planning occur:

_________ ________ looks ahead to the release of a product, defines and re-defines the product backlog, and may involve refining larger user stories into a set of smaller user stories. It also serves as the basis for the test approach and test plan across all iterations.

45
New cards

Iteration planning

In iterative SDLCs, typically two kinds of planning occur:

_________ ________ looks ahead to the end of a single iteration and is concerned with the iteration backlog.

46
New cards

Release planning

Testers involved in _______ _______:

• participate in writing testable user stories and acceptance criteria

• participate in project and quality risk analyses

• estimate test effort associated with user stories

• determine the test approach and plan the testing for the release.

47
New cards

Iteration planning

Testers involved in _______ _______:

• participate in the detailed risk analysis of user stories,

• determine the testability of user stories,

• break down user stories into tasks (particularly testing tasks),

• estimate test effort for all testing tasks,

• identify and refine functional and non-functional aspects of the test object.