Zajištění kvality software - B4M36ZKS

Kredity 6
Semestry zimní
Zakončení Zápočet a zkouška
Jazyk výuky čeština
Rozsah výuky 2P+2C
Anotace
Cílem předmětu je seznámit studenty s technikami testování a zajištění kvality software. Po úvodu do metodiky testování si studenti osvojí techniky pro vytváření testů z modelu aplikace, které jsou základem návrhu jak manuálních, tak automatických testů. Poté se naučí vytvářet efektivní jednotkové testy kódu a seznámí se s technikami automatického testování na různých úrovních.
Osnovy přednášek
1. Úvod, metodologie testování, automatizace testů, formální metody a vzájemné souvislosti
2. Charakteristiky kvality software
3. Zajištění kvality standardního vývojového cyklu softwaru (SDLC)
4. Třídy ekvivalence a kombinatorické testování (Combinatorial a Constrained Interaction Testing)
5. Testování procesů (Path-based Testing)
6. Testy konzistence dat, MC/DC, Elementary Comparison Test
7. Pokročilé techniky testování založeného na modelech
8. Statické testování kódu
9. Automatizace testů a Continuous Integration / Continuous Delivery (CI/CD)
10. Symbolic/concolic evaluation
11. Využití LLM pro generování testů, kontrola kvality výstupů LLM
12. Procesy zajištění kvality v softwarovém průmyslu (host z praxe)
13. Rezeva
14. Zkouškový předtermín
Literatura
1. Rex Back, Jamie L. Mitchel: Advanced Software Testing Vol.3, Rocky Nook, 2011
2. Unmesh Gundecha: Selenium Testing Tools Cookbook, Packt Publishing 2012
3. Lasse Koskela: Effective Unit Testing: A guide for Java developers, Manning, 2013