ZSI / Testovanie

Testovanie

Základy softvérového inžinierstva

Sergej Chodarev (sergejx.net)

Ako vieme, či program funguje?

Spustíme a testujeme

Manuálne testovanie

Test Early, Test Often, Test Automatically

Tests that run with every build are much more effective than test plans that sit on a shelf.

The Pragmatic Programmer

Automatické testy

Coding Ain’t Done ’Til All the Tests Run

The Pragmatic Programmer

Pojmy

Verifikácia a validácia

Verifikácia – overenie správnosti produktu vzhľadom k formulovaným požiadavkám (Vytvárame produkt správne?)

Validácia – overenie správnosti produktu vzhľadom k potrebám zákazníka (Vytvárame správny produkt?)

Krabičky

Testing pyramid

Jednotkové testy

Čo je jednotka?

Jednotkové testy

Čo testovať?

Testing Is Not About Finding Bugs

A test is a perspective into your code, and gives you feedback about its design, API, and coupling.

The Pragmatic Programmer

Mocking

Štýly testovania

Štruktúra testu

3A:

Integračné testy

End-to-end testy

Akceptačné testy

Pokrytie kódu testmi

Kedy písať testy?

Keď máme čo testovať

Alebo ešte skôr

Test-driven development

Test-driven development (TDD)

  1. Napísať test (alebo jeho časť) – červená
  2. Napísať kód, aby testy prešli – zelená
  3. Zlepšiť kód – refactoring

A Test Is the First User of Your Code

Use its feedback to guide what you do.

The Pragmatic Programmer

Design to Test

Start thinking about testing before you write a line of code.

The Pragmatic Programmer

Test Your Software, or Your Users Will

Test ruthlessly. Don’t make your users find bugs for you.

The Pragmatic Programmer