Week 3

Chapter 1

Chapter 2

Chapter 3

Practice

Assignment

Back to Track

Development Methodologies

A development methodology is the way a team organizes the software development process.

It affects: •⁠ ⁠when testing starts •⁠ ⁠how often software is delivered •⁠ ⁠how teams collaborate •⁠ ⁠how defects are handled •⁠ ⁠how much planning is needed

Common methodologies include: •⁠ ⁠Waterfall •⁠ ⁠V-Model •⁠ ⁠Agile


Agile Testing Concepts

What is Agile?

Agile is a way of working where teams deliver software in small increments, get feedback often, and improve continuously.

Instead of one large delivery at the end, Agile focuses on: •⁠ ⁠smaller releases •⁠ ⁠continuous collaboration •⁠ ⁠frequent feedback •⁠ ⁠ongoing testing

What does this mean for testing?

In Agile, testing is not only a final phase. Testing happens throughout the iteration.

This means: •⁠ ⁠testers work closely with developers and product people •⁠ ⁠testing starts early •⁠ ⁠feedback is fast •⁠ ⁠regression and retesting happen often

Important Agile testing ideas

1. Early testing

Testing starts as early as possible.

2. Continuous testing

Testing happens during development, not only after development.

3. Whole team approach

Quality is not only the tester’s job. Developers, testers, analysts, and product people all contribute.

4. Fast feedback

The team wants to know quickly if something is wrong.

Example

In Agile, when a new “Add to Cart” feature is planned: •⁠ ⁠QA joins requirement discussion •⁠ ⁠test ideas are created early •⁠ ⁠developers build the feature •⁠ ⁠testers check it during the sprint •⁠ ⁠bugs are fixed quickly •⁠ ⁠regression may be run before the sprint ends

This is different from waiting until the end of the project.


Waterfall Model

What is Waterfall?

Waterfall is a traditional sequential development model.

Typical flow: 1.⁠ ⁠requirements 2.⁠ ⁠design 3.⁠ ⁠development 4.⁠ ⁠testing 5.⁠ ⁠release

Each phase usually happens after the previous one.

Work moves step by step, like water flowing downward.

What does this mean for testing?

In Waterfall: •⁠ ⁠testing often starts later •⁠ ⁠testers may get involved after development is mostly finished •⁠ ⁠changes can be harder to handle late in the process

Example

A team spends months writing requirements and building the system. Only after development is completed does the QA team start full testing.

This can be risky, because late defects may be expensive to fix.


V-Model and Early Testing

What is the V-Model?

The V-Model is also a sequential development model, similar to Waterfall.

The main difference is that the V-Model gives stronger attention to test planning early in the process.

Each development phase is linked to a corresponding testing phase.

Simple idea

Waterfall says: build first, test later

V-Model says: while building each stage, already think about how it will be tested

Example structure

On the left side: •⁠ ⁠business requirements •⁠ ⁠system requirements •⁠ ⁠high-level design •⁠ ⁠detailed design

At the bottom: •⁠ ⁠coding

On the right side: •⁠ ⁠unit testing •⁠ ⁠integration testing •⁠ ⁠system testing •⁠ ⁠acceptance testing

Why it matters

This supports early testing, because testers do not wait until the end to start thinking.

Example

If the team is writing requirements for a payment system, QA already thinks: •⁠ ⁠how will acceptance testing be done? •⁠ ⁠what business flows must be validated? •⁠ ⁠what test conditions should be prepared?

This is better than waiting until all coding is finished.


The HackYourFuture curriculum is licensed under CC BY-NC-SA 4.0 *https://hackyourfuture.net/*

CC BY-NC-SA 4.0 Icons

Built with ❤️ by the HackYourFuture community · Thank you, contributors

Found a mistake or have a suggestion? Let us know in the feedback form.