SlideShare a Scribd company logo
1 of 41
Download to read offline
Testy regresji z perspektywy
piramidy testów
Przemysław Podsiadlik
Rafał Peroń
Agenda
1. Testy regresji
2. Problemy, z jakimi się zetknęliśmy
3. Piramida testów
4. Przykładowe user story i propozycja pokrycia testami
5. Propozycja procesu testowego
Testy regresji
Testy regresji
• Przeprowadzane po zmodyfikowaniu aplikacji
Testy regresji
• Przeprowadzane po zmodyfikowaniu aplikacji
• Ujawniają błedy powstałe w wyniku zmian kodu lub środowiska
Testy regresji
• Przeprowadzane po zmodyfikowaniu aplikacji
• Ujawniają błedy powstałe w wyniku zmian kodu lub środowiska
• Nieefektywne przy przeprowadzeniu w pełni ręcznie
Testy regresji
• Przeprowadzane po zmodyfikowaniu aplikacji
• Ujawniają błedy powstałe w wyniku zmian kodu lub środowiska
• Nieefektywne przy przeprowadzeniu w pełni ręcznie
• Dobry kandydat do automatyzacji ze względu na powtarzalność
Testy regresji
• Przeprowadzane po zmodyfikowaniu aplikacji
• Ujawniają błedy powstałe w wyniku zmian kodu lub środowiska
• Nieefektywne przy przeprowadzeniu w pełni ręcznie
• Dobry kandydat do automatyzacji ze względu na powtarzalność
• Możliwe do zautomatyzowania na różnych poziomach testów
Taka sytuacja
Taka sytuacja
• Projekt trwa
• Dodawane są kolejne funkcjonalności
• Developerzy piszą „swoje” testy
• QA testują manualnie i również automatyzują na poziomie GUI
Taka sytuacja
• Projekt trwa
• Dodawane są kolejne funkcjonalności
• Developerzy piszą „swoje” testy
• QA testują manualnie i również automatyzują na poziomie GUI
... a bugi wracają... Dlaczego?
Problemy z jakimi się zetknęliśmy
Problemy z jakimi się zetknęliśmy
• Za mało unit testów, DEVowie niechętni do ich pisania
Problemy z jakimi się zetknęliśmy
• Za mało unit testów, DEVowie niechętni do ich pisania
• Zbyt dużo testów na poziomie integracyjnym (API)
Problemy z jakimi się zetknęliśmy
• Za mało unit testów, DEVowie niechętni do ich pisania
• Zbyt dużo testów na poziomie integracyjnym (API)
• Zbyt dużo testów na poziomie UI (i zbyt atomowe)
Problemy z jakimi się zetknęliśmy
• Za mało unit testów, DEVowie niechętni do ich pisania
• Zbyt dużo testów na poziomie integracyjnym (API)
• Zbyt dużo testów na poziomie UI (i zbyt atomowe)
• Duplikacja testów pomiędzy poziomami (głównie UI i API)
Problemy z jakimi się zetknęliśmy
• Za mało unit testów, DEVowie niechętni do ich pisania
• Zbyt dużo testów na poziomie integracyjnym (API)
• Zbyt dużo testów na poziomie UI (i zbyt atomowe)
• Duplikacja testów pomiędzy poziomami (głównie UI i API)
• Brak wysokopoziomowych przekrojowych testów e2e sprawdzających
procesy biznesowe
Jak to się kończyło
Jak to się kończyło
Piramida testów
Piramida testów
• Najistotniejsze unit testy (najwięcej)
Piramida testów
• Najistotniejsze unit testy (najwięcej)
• Funkcjonalne testy API
Piramida testów
• Najistotniejsze unit testy (najwięcej)
• Funkcjonalne testy API
• Przekrojowe testy e2e na poziomie UI
Przykładowe user story
User story:Wykonanie przelewu
Jako klient banku
Chcę przekazać określoną ilość pieniędzy na inne konto
Aby w sposób bezgotówkowy zapłacić posiadaczowi docelowego konta
Kryteria akceptacji
1. gdy numery kont są prawidłowe oraz saldo rachunku źródłowego jest większe niż
kwota przelewu, bilans konta źródłowego zostanie pomniejszony o wartość
transferu, a saldo konta docelowego powiększone o tą samą wartość
2. gdy numery konta są nieprawidłowe, nie ma możliwości wykonania przelewu
3. gdy saldo konta źródłowego jest mniejsze niż wartość transferu, nie ma
możliwości wykonania przelewu, a użytkownik zostanie powiadomiony, iż saldo
jest niewystarczające
4. gdy wartość transferu jest mniejsza lub równa zero, nie ma możliwości wykonania
przelewu
Poglądowa architektura
Web
App HttpResponceMsg SendTransfer() {
ValidateAccounts();
ValidateCredit();
CalculateBalance();
UpdateBalance();
}
DB
API
Co proponujemy?
Co proponujemy?
Logika domenowa
Co proponujemy?
Logika domenowa
Biznesowe kryteria akceptacji
Komunikacja pomiędzy modułami
Co proponujemy?
Logika domenowa
Biznesowe kryteria akceptacji
Komunikacja pomiędzy modułami
Proces biznesowy
Poglądowa architektura
Web
App HttpResponceMsg SendTransfer() {
ValidateAccounts();
ValidateCredit();
CalculateBalance();
UpdateBalance();
}
DB
API
Kryteria akceptacji
1. gdy numery kont są prawidłowe oraz saldo rachunku źródłowego jest większe niż
kwota przelewu, balans konta źródłowego zostanie pomniejszony o wartość
transferu, a saldo konta docelowego powiększone o tą samą wartość
2. gdy numery konta są nieprawidłowe, nie ma możliwości wykonania przelewu
3. gdy saldo konta źródłowego jest mniejsze niż wartość transferu, nie ma
możliwości wykonania przelewu, a użytkownik zostanie powiadomiony, iż saldo
jest niewystarczające
4. gdy wartość transferu jest mniejsza lub równa zero, nie ma możliwości wykonania
przelewu
W jaki sposób dążyć do ideału?
W jaki sposób dążyć do ideału?
• QA oraz DEV ustalają na wczesnym etapie developmentu funkcjonalności
co, jak i na jakim poziomie należy przetestować
W jaki sposób dążyć do ideału?
• QA oraz DEV ustalają na wczesnym etapie developmentu funkcjonalności
co, jak i na jakim poziomie należy przetestować
• DEV w trakcie developmentu pisze testy UT (najlepiejTDD)
W jaki sposób dążyć do ideału?
• QA oraz DEV ustalają na wczesnym etapie developmentu funkcjonalności
co, jak i na jakim poziomie należy przetestować
• DEV w trakcie developmentu pisze testy UT (najlepiejTDD)
• DEV w początkowej fazie developmentu wystawia nagłówki API, a tester
pisze testy funkcjonalneAPI
W jaki sposób dążyć do ideału?
• QA oraz DEV ustalają na wczesnym etapie developmentu funkcjonalności
co, jak i na jakim poziomie należy przetestować
• DEV w trakcie developmentu pisze testy UT (najlepiejTDD)
• DEV w początkowej fazie developmentu wystawia nagłówki API, a tester
pisze testy funkcjonalneAPI
• Code review (QA zaangażowany)
W jaki sposób dążyć do ideału?
• QA oraz DEV ustalają na wczesnym etapie developmentu funkcjonalności
co, jak i na jakim poziomie należy przetestować
• DEV w trakcie developmentu pisze testy UT (najlepiejTDD)
• DEV w początkowej fazie developmentu wystawia nagłówki API, a tester
pisze testy funkcjonalneAPI
• Code review (QA zaangażowany)
• Testy e2e
W jaki sposób dążyć do ideału?
• QA oraz DEV ustalają na wczesnym etapie developmentu funkcjonalności
co, jak i na jakim poziomie należy przetestować
• DEV w trakcie developmentu pisze testy UT (najlepiejTDD)
• DEV w początkowej fazie developmentu wystawia nagłówki API, a tester
pisze testy funkcjonalneAPI
• Code review (QA zaangażowany)
• Testy e2e
• Continuous Integration i Continuous Deployment
To było tylko 1 user story.
Zadbaj o wszystkie!

More Related Content

What's hot

Laravel Poznań Meetup #12 - "Laravel 6.0 - co nowego?"
Laravel Poznań Meetup #12 - "Laravel 6.0 - co nowego?"Laravel Poznań Meetup #12 - "Laravel 6.0 - co nowego?"
Laravel Poznań Meetup #12 - "Laravel 6.0 - co nowego?"HighSolutions Sp. z o.o.
 
Laravel Dusk - prosty przepis na testy E2E
Laravel Dusk - prosty przepis na testy E2ELaravel Dusk - prosty przepis na testy E2E
Laravel Dusk - prosty przepis na testy E2ELaravel Poland MeetUp
 
Frameworki agilowe w obszarze testow - Monika Braun
Frameworki agilowe w obszarze testow - Monika BraunFrameworki agilowe w obszarze testow - Monika Braun
Frameworki agilowe w obszarze testow - Monika BraunWomen in Technology Poland
 
[4developers] Utrzymanie bezpieczeństwa aplikacji produkcyjnych na przykładac...
[4developers] Utrzymanie bezpieczeństwa aplikacji produkcyjnych na przykładac...[4developers] Utrzymanie bezpieczeństwa aplikacji produkcyjnych na przykładac...
[4developers] Utrzymanie bezpieczeństwa aplikacji produkcyjnych na przykładac...PROIDEA
 
Przegląd najciekawszych wtyczek do Laravela
Przegląd najciekawszych wtyczek do LaravelaPrzegląd najciekawszych wtyczek do Laravela
Przegląd najciekawszych wtyczek do LaravelaLaravel Poland MeetUp
 
Strategie automatyzacji testow
Strategie automatyzacji testowStrategie automatyzacji testow
Strategie automatyzacji testowWiktor Żołnowski
 

What's hot (7)

Laravel Poznań Meetup #12 - "Laravel 6.0 - co nowego?"
Laravel Poznań Meetup #12 - "Laravel 6.0 - co nowego?"Laravel Poznań Meetup #12 - "Laravel 6.0 - co nowego?"
Laravel Poznań Meetup #12 - "Laravel 6.0 - co nowego?"
 
Laravel Dusk - prosty przepis na testy E2E
Laravel Dusk - prosty przepis na testy E2ELaravel Dusk - prosty przepis na testy E2E
Laravel Dusk - prosty przepis na testy E2E
 
Frameworki agilowe w obszarze testow - Monika Braun
Frameworki agilowe w obszarze testow - Monika BraunFrameworki agilowe w obszarze testow - Monika Braun
Frameworki agilowe w obszarze testow - Monika Braun
 
[4developers] Utrzymanie bezpieczeństwa aplikacji produkcyjnych na przykładac...
[4developers] Utrzymanie bezpieczeństwa aplikacji produkcyjnych na przykładac...[4developers] Utrzymanie bezpieczeństwa aplikacji produkcyjnych na przykładac...
[4developers] Utrzymanie bezpieczeństwa aplikacji produkcyjnych na przykładac...
 
Przegląd najciekawszych wtyczek do Laravela
Przegląd najciekawszych wtyczek do LaravelaPrzegląd najciekawszych wtyczek do Laravela
Przegląd najciekawszych wtyczek do Laravela
 
Laravel czy Lumen, oto jest pytanie
Laravel czy Lumen, oto jest pytanieLaravel czy Lumen, oto jest pytanie
Laravel czy Lumen, oto jest pytanie
 
Strategie automatyzacji testow
Strategie automatyzacji testowStrategie automatyzacji testow
Strategie automatyzacji testow
 

Viewers also liked

[QE 2017] Daniel Pokusa - Architektura, która ewoluuje
[QE 2017] Daniel Pokusa - Architektura, która ewoluuje[QE 2017] Daniel Pokusa - Architektura, która ewoluuje
[QE 2017] Daniel Pokusa - Architektura, która ewoluujeFuture Processing
 
[Quality Meetup#12] W. Gawroński - Dlaczego docker@localhost to nie DevOps?
[Quality Meetup#12] W. Gawroński - Dlaczego docker@localhost to nie DevOps?[Quality Meetup#12] W. Gawroński - Dlaczego docker@localhost to nie DevOps?
[Quality Meetup#12] W. Gawroński - Dlaczego docker@localhost to nie DevOps?Future Processing
 
[QE 2017] Piotr Marczydło - Wdrażanie na wulkanie, czyli CI w świecie, który ...
[QE 2017] Piotr Marczydło - Wdrażanie na wulkanie, czyli CI w świecie, który ...[QE 2017] Piotr Marczydło - Wdrażanie na wulkanie, czyli CI w świecie, który ...
[QE 2017] Piotr Marczydło - Wdrażanie na wulkanie, czyli CI w świecie, który ...Future Processing
 
[QE 2017] Monika Januszek, Michał Drzewiecki, Tomasz Lepiorz - Agile'owi pogr...
[QE 2017] Monika Januszek, Michał Drzewiecki, Tomasz Lepiorz - Agile'owi pogr...[QE 2017] Monika Januszek, Michał Drzewiecki, Tomasz Lepiorz - Agile'owi pogr...
[QE 2017] Monika Januszek, Michał Drzewiecki, Tomasz Lepiorz - Agile'owi pogr...Future Processing
 
[QE 2017] Arnika Hryszko - Błędy znalezione przypadkiem - o znaczeniu testów ...
[QE 2017] Arnika Hryszko - Błędy znalezione przypadkiem - o znaczeniu testów ...[QE 2017] Arnika Hryszko - Błędy znalezione przypadkiem - o znaczeniu testów ...
[QE 2017] Arnika Hryszko - Błędy znalezione przypadkiem - o znaczeniu testów ...Future Processing
 
[QE 2017] Adrian Gonciarz - Tester w Kontenerze, czyli jak Docker może pomóc ...
[QE 2017] Adrian Gonciarz - Tester w Kontenerze, czyli jak Docker może pomóc ...[QE 2017] Adrian Gonciarz - Tester w Kontenerze, czyli jak Docker może pomóc ...
[QE 2017] Adrian Gonciarz - Tester w Kontenerze, czyli jak Docker może pomóc ...Future Processing
 
[QE 2017] Grzegorz Galezowski - Prostota nie jest łatwa
[QE 2017] Grzegorz Galezowski - Prostota nie jest łatwa[QE 2017] Grzegorz Galezowski - Prostota nie jest łatwa
[QE 2017] Grzegorz Galezowski - Prostota nie jest łatwaFuture Processing
 
[QE 2017] Joanna Jeziorska - Szybki i wściekły czy skrupulatny i opanowany — ...
[QE 2017] Joanna Jeziorska - Szybki i wściekły czy skrupulatny i opanowany — ...[QE 2017] Joanna Jeziorska - Szybki i wściekły czy skrupulatny i opanowany — ...
[QE 2017] Joanna Jeziorska - Szybki i wściekły czy skrupulatny i opanowany — ...Future Processing
 
[Quality Meetup #13] Piotr Marczydło - Gdy testy to za mało – Continuous Moni...
[Quality Meetup #13] Piotr Marczydło - Gdy testy to za mało – Continuous Moni...[Quality Meetup #13] Piotr Marczydło - Gdy testy to za mało – Continuous Moni...
[Quality Meetup #13] Piotr Marczydło - Gdy testy to za mało – Continuous Moni...Future Processing
 
[QE 2017] Michał Buczko - DevTest Pairing w DevOps
[QE 2017] Michał Buczko - DevTest Pairing w DevOps[QE 2017] Michał Buczko - DevTest Pairing w DevOps
[QE 2017] Michał Buczko - DevTest Pairing w DevOpsFuture Processing
 
[QE 2017] Tomasz Kras - SOLIDne Page Objecty — Screenplay Pattern w akcji
[QE 2017] Tomasz Kras - SOLIDne Page Objecty — Screenplay Pattern w akcji[QE 2017] Tomasz Kras - SOLIDne Page Objecty — Screenplay Pattern w akcji
[QE 2017] Tomasz Kras - SOLIDne Page Objecty — Screenplay Pattern w akcjiFuture Processing
 
[QE 2017] Zbigniew Moćkun - Metryki i raporty jakościowe, czyli tam i z powrotem
[QE 2017] Zbigniew Moćkun - Metryki i raporty jakościowe, czyli tam i z powrotem[QE 2017] Zbigniew Moćkun - Metryki i raporty jakościowe, czyli tam i z powrotem
[QE 2017] Zbigniew Moćkun - Metryki i raporty jakościowe, czyli tam i z powrotemFuture Processing
 
[QE 2017] Michał Stryjak - Startupowy chleb powszedni
[QE 2017] Michał Stryjak - Startupowy chleb powszedni[QE 2017] Michał Stryjak - Startupowy chleb powszedni
[QE 2017] Michał Stryjak - Startupowy chleb powszedniFuture Processing
 
[QE 2017] Dawid Pacia, Tomasz Janiszewski - SQA w erze TestOps
[QE 2017] Dawid Pacia, Tomasz Janiszewski - SQA w erze TestOps[QE 2017] Dawid Pacia, Tomasz Janiszewski - SQA w erze TestOps
[QE 2017] Dawid Pacia, Tomasz Janiszewski - SQA w erze TestOpsFuture Processing
 
Identifying and Managing Technical Debt
Identifying and Managing Technical DebtIdentifying and Managing Technical Debt
Identifying and Managing Technical Debtzazworka
 

Viewers also liked (15)

[QE 2017] Daniel Pokusa - Architektura, która ewoluuje
[QE 2017] Daniel Pokusa - Architektura, która ewoluuje[QE 2017] Daniel Pokusa - Architektura, która ewoluuje
[QE 2017] Daniel Pokusa - Architektura, która ewoluuje
 
[Quality Meetup#12] W. Gawroński - Dlaczego docker@localhost to nie DevOps?
[Quality Meetup#12] W. Gawroński - Dlaczego docker@localhost to nie DevOps?[Quality Meetup#12] W. Gawroński - Dlaczego docker@localhost to nie DevOps?
[Quality Meetup#12] W. Gawroński - Dlaczego docker@localhost to nie DevOps?
 
[QE 2017] Piotr Marczydło - Wdrażanie na wulkanie, czyli CI w świecie, który ...
[QE 2017] Piotr Marczydło - Wdrażanie na wulkanie, czyli CI w świecie, który ...[QE 2017] Piotr Marczydło - Wdrażanie na wulkanie, czyli CI w świecie, który ...
[QE 2017] Piotr Marczydło - Wdrażanie na wulkanie, czyli CI w świecie, który ...
 
[QE 2017] Monika Januszek, Michał Drzewiecki, Tomasz Lepiorz - Agile'owi pogr...
[QE 2017] Monika Januszek, Michał Drzewiecki, Tomasz Lepiorz - Agile'owi pogr...[QE 2017] Monika Januszek, Michał Drzewiecki, Tomasz Lepiorz - Agile'owi pogr...
[QE 2017] Monika Januszek, Michał Drzewiecki, Tomasz Lepiorz - Agile'owi pogr...
 
[QE 2017] Arnika Hryszko - Błędy znalezione przypadkiem - o znaczeniu testów ...
[QE 2017] Arnika Hryszko - Błędy znalezione przypadkiem - o znaczeniu testów ...[QE 2017] Arnika Hryszko - Błędy znalezione przypadkiem - o znaczeniu testów ...
[QE 2017] Arnika Hryszko - Błędy znalezione przypadkiem - o znaczeniu testów ...
 
[QE 2017] Adrian Gonciarz - Tester w Kontenerze, czyli jak Docker może pomóc ...
[QE 2017] Adrian Gonciarz - Tester w Kontenerze, czyli jak Docker może pomóc ...[QE 2017] Adrian Gonciarz - Tester w Kontenerze, czyli jak Docker może pomóc ...
[QE 2017] Adrian Gonciarz - Tester w Kontenerze, czyli jak Docker może pomóc ...
 
[QE 2017] Grzegorz Galezowski - Prostota nie jest łatwa
[QE 2017] Grzegorz Galezowski - Prostota nie jest łatwa[QE 2017] Grzegorz Galezowski - Prostota nie jest łatwa
[QE 2017] Grzegorz Galezowski - Prostota nie jest łatwa
 
[QE 2017] Joanna Jeziorska - Szybki i wściekły czy skrupulatny i opanowany — ...
[QE 2017] Joanna Jeziorska - Szybki i wściekły czy skrupulatny i opanowany — ...[QE 2017] Joanna Jeziorska - Szybki i wściekły czy skrupulatny i opanowany — ...
[QE 2017] Joanna Jeziorska - Szybki i wściekły czy skrupulatny i opanowany — ...
 
[Quality Meetup #13] Piotr Marczydło - Gdy testy to za mało – Continuous Moni...
[Quality Meetup #13] Piotr Marczydło - Gdy testy to za mało – Continuous Moni...[Quality Meetup #13] Piotr Marczydło - Gdy testy to za mało – Continuous Moni...
[Quality Meetup #13] Piotr Marczydło - Gdy testy to za mało – Continuous Moni...
 
[QE 2017] Michał Buczko - DevTest Pairing w DevOps
[QE 2017] Michał Buczko - DevTest Pairing w DevOps[QE 2017] Michał Buczko - DevTest Pairing w DevOps
[QE 2017] Michał Buczko - DevTest Pairing w DevOps
 
[QE 2017] Tomasz Kras - SOLIDne Page Objecty — Screenplay Pattern w akcji
[QE 2017] Tomasz Kras - SOLIDne Page Objecty — Screenplay Pattern w akcji[QE 2017] Tomasz Kras - SOLIDne Page Objecty — Screenplay Pattern w akcji
[QE 2017] Tomasz Kras - SOLIDne Page Objecty — Screenplay Pattern w akcji
 
[QE 2017] Zbigniew Moćkun - Metryki i raporty jakościowe, czyli tam i z powrotem
[QE 2017] Zbigniew Moćkun - Metryki i raporty jakościowe, czyli tam i z powrotem[QE 2017] Zbigniew Moćkun - Metryki i raporty jakościowe, czyli tam i z powrotem
[QE 2017] Zbigniew Moćkun - Metryki i raporty jakościowe, czyli tam i z powrotem
 
[QE 2017] Michał Stryjak - Startupowy chleb powszedni
[QE 2017] Michał Stryjak - Startupowy chleb powszedni[QE 2017] Michał Stryjak - Startupowy chleb powszedni
[QE 2017] Michał Stryjak - Startupowy chleb powszedni
 
[QE 2017] Dawid Pacia, Tomasz Janiszewski - SQA w erze TestOps
[QE 2017] Dawid Pacia, Tomasz Janiszewski - SQA w erze TestOps[QE 2017] Dawid Pacia, Tomasz Janiszewski - SQA w erze TestOps
[QE 2017] Dawid Pacia, Tomasz Janiszewski - SQA w erze TestOps
 
Identifying and Managing Technical Debt
Identifying and Managing Technical DebtIdentifying and Managing Technical Debt
Identifying and Managing Technical Debt
 

Similar to [Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy piramidy testów

Testy wydajnościowe - najlepsze praktyki - Kuba Gajda
Testy wydajnościowe - najlepsze praktyki - Kuba GajdaTesty wydajnościowe - najlepsze praktyki - Kuba Gajda
Testy wydajnościowe - najlepsze praktyki - Kuba GajdaBartłomiej Cymanowski
 
Confitura 2015 - Code Quality Keepers @ Allegro
Confitura 2015 - Code Quality Keepers @ AllegroConfitura 2015 - Code Quality Keepers @ Allegro
Confitura 2015 - Code Quality Keepers @ Allegroallegro.tech
 
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31kraqa
 
Jak zapewnić jakość aplikacjom na sfragmentowanego Androida?
Jak zapewnić jakość aplikacjom na sfragmentowanego Androida?Jak zapewnić jakość aplikacjom na sfragmentowanego Androida?
Jak zapewnić jakość aplikacjom na sfragmentowanego Androida?Damian Szczurek
 
Podstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxPodstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxKatarzyna Javaheri-Szpak
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)Dariusz Kacban
 
Kult Cargo - czyli błędy przy wprowadzaniu Agile
Kult Cargo - czyli błędy przy wprowadzaniu AgileKult Cargo - czyli błędy przy wprowadzaniu Agile
Kult Cargo - czyli błędy przy wprowadzaniu AgileJakub Drzazga
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyqbeuek
 
MS - Wprowadzenie do testów jednostkowych
MS - Wprowadzenie do testów jednostkowychMS - Wprowadzenie do testów jednostkowych
MS - Wprowadzenie do testów jednostkowychMarcin Samsonowski
 
Kariera it Sopot
Kariera it SopotKariera it Sopot
Kariera it Sopotneoteric-eu
 
Techniczna organizacja zespołu
Techniczna organizacja zespołuTechniczna organizacja zespołu
Techniczna organizacja zespołuintive
 
Certyfikacja ISTQB - fakty i mity
Certyfikacja ISTQB - fakty i mityCertyfikacja ISTQB - fakty i mity
Certyfikacja ISTQB - fakty i mityRadoslaw Smilgin
 
Automatyzacja w praktyce. Praktyka automatyzacji
Automatyzacja w praktyce. Praktyka automatyzacjiAutomatyzacja w praktyce. Praktyka automatyzacji
Automatyzacja w praktyce. Praktyka automatyzacjiRadoslaw Smilgin
 
SkładQA 2018 - Daniel Dec
SkładQA 2018 - Daniel DecSkładQA 2018 - Daniel Dec
SkładQA 2018 - Daniel Deckraqa
 

Similar to [Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy piramidy testów (20)

Testy wydajnościowe - najlepsze praktyki - Kuba Gajda
Testy wydajnościowe - najlepsze praktyki - Kuba GajdaTesty wydajnościowe - najlepsze praktyki - Kuba Gajda
Testy wydajnościowe - najlepsze praktyki - Kuba Gajda
 
Testowanie na 101 sposobów
Testowanie na 101 sposobówTestowanie na 101 sposobów
Testowanie na 101 sposobów
 
university day 1
university day 1university day 1
university day 1
 
Confitura 2015 - Code Quality Keepers @ Allegro
Confitura 2015 - Code Quality Keepers @ AllegroConfitura 2015 - Code Quality Keepers @ Allegro
Confitura 2015 - Code Quality Keepers @ Allegro
 
Testowanie automatyczne 2024 INCO Academy
Testowanie automatyczne 2024 INCO AcademyTestowanie automatyczne 2024 INCO Academy
Testowanie automatyczne 2024 INCO Academy
 
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
 
Jak zapewnić jakość aplikacjom na sfragmentowanego Androida?
Jak zapewnić jakość aplikacjom na sfragmentowanego Androida?Jak zapewnić jakość aplikacjom na sfragmentowanego Androida?
Jak zapewnić jakość aplikacjom na sfragmentowanego Androida?
 
Podstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxPodstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptx
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
 
Kult Cargo - czyli błędy przy wprowadzaniu Agile
Kult Cargo - czyli błędy przy wprowadzaniu AgileKult Cargo - czyli błędy przy wprowadzaniu Agile
Kult Cargo - czyli błędy przy wprowadzaniu Agile
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatyczny
 
MS - Wprowadzenie do testów jednostkowych
MS - Wprowadzenie do testów jednostkowychMS - Wprowadzenie do testów jednostkowych
MS - Wprowadzenie do testów jednostkowych
 
Kariera it Sopot
Kariera it SopotKariera it Sopot
Kariera it Sopot
 
Techniczna organizacja zespołu
Techniczna organizacja zespołuTechniczna organizacja zespołu
Techniczna organizacja zespołu
 
Certyfikacja ISTQB - fakty i mity
Certyfikacja ISTQB - fakty i mityCertyfikacja ISTQB - fakty i mity
Certyfikacja ISTQB - fakty i mity
 
Automatyzacja w praktyce. Praktyka automatyzacji
Automatyzacja w praktyce. Praktyka automatyzacjiAutomatyzacja w praktyce. Praktyka automatyzacji
Automatyzacja w praktyce. Praktyka automatyzacji
 
SkładQA 2018 - Daniel Dec
SkładQA 2018 - Daniel DecSkładQA 2018 - Daniel Dec
SkładQA 2018 - Daniel Dec
 
Jaki framework wybrać
Jaki framework wybraćJaki framework wybrać
Jaki framework wybrać
 
Olga Żądło - Robot Framework
Olga Żądło - Robot FrameworkOlga Żądło - Robot Framework
Olga Żądło - Robot Framework
 

More from Future Processing

DPTO_Inżynieria oprogramowania to proces uczenia się.pdf
DPTO_Inżynieria oprogramowania to proces uczenia się.pdfDPTO_Inżynieria oprogramowania to proces uczenia się.pdf
DPTO_Inżynieria oprogramowania to proces uczenia się.pdfFuture Processing
 
DPTO_QA w świecie wartości biznesowych.pdf
DPTO_QA w świecie wartości biznesowych.pdfDPTO_QA w świecie wartości biznesowych.pdf
DPTO_QA w świecie wartości biznesowych.pdfFuture Processing
 
DPTO_Hello_Clean_Architekture.pdf
DPTO_Hello_Clean_Architekture.pdfDPTO_Hello_Clean_Architekture.pdf
DPTO_Hello_Clean_Architekture.pdfFuture Processing
 
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurzeFuture Processing
 
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shakeFuture Processing
 
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myśleniaFuture Processing
 
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletkaFuture Processing
 
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...Future Processing
 
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...Future Processing
 
[FDD 2018] Lech Kalinowski - Prywatny Blockchain
[FDD 2018] Lech Kalinowski - Prywatny Blockchain[FDD 2018] Lech Kalinowski - Prywatny Blockchain
[FDD 2018] Lech Kalinowski - Prywatny BlockchainFuture Processing
 
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈XFuture Processing
 
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...Future Processing
 
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...Future Processing
 
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NETFuture Processing
 
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...Future Processing
 
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...Future Processing
 
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark ApplicationsFuture Processing
 
[QE 2018] Marek Puchalski – Web Application Security Test Automation
[QE 2018] Marek Puchalski – Web Application Security Test Automation[QE 2018] Marek Puchalski – Web Application Security Test Automation
[QE 2018] Marek Puchalski – Web Application Security Test AutomationFuture Processing
 
[QE 2018] Rob Lambert – How to Thrive as a Software Tester
[QE 2018] Rob Lambert – How to Thrive as a Software Tester[QE 2018] Rob Lambert – How to Thrive as a Software Tester
[QE 2018] Rob Lambert – How to Thrive as a Software TesterFuture Processing
 
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOpsFuture Processing
 

More from Future Processing (20)

DPTO_Inżynieria oprogramowania to proces uczenia się.pdf
DPTO_Inżynieria oprogramowania to proces uczenia się.pdfDPTO_Inżynieria oprogramowania to proces uczenia się.pdf
DPTO_Inżynieria oprogramowania to proces uczenia się.pdf
 
DPTO_QA w świecie wartości biznesowych.pdf
DPTO_QA w świecie wartości biznesowych.pdfDPTO_QA w świecie wartości biznesowych.pdf
DPTO_QA w świecie wartości biznesowych.pdf
 
DPTO_Hello_Clean_Architekture.pdf
DPTO_Hello_Clean_Architekture.pdfDPTO_Hello_Clean_Architekture.pdf
DPTO_Hello_Clean_Architekture.pdf
 
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
 
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
 
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
 
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
 
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
 
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
 
[FDD 2018] Lech Kalinowski - Prywatny Blockchain
[FDD 2018] Lech Kalinowski - Prywatny Blockchain[FDD 2018] Lech Kalinowski - Prywatny Blockchain
[FDD 2018] Lech Kalinowski - Prywatny Blockchain
 
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
 
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
 
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
 
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
 
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
 
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
 
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
 
[QE 2018] Marek Puchalski – Web Application Security Test Automation
[QE 2018] Marek Puchalski – Web Application Security Test Automation[QE 2018] Marek Puchalski – Web Application Security Test Automation
[QE 2018] Marek Puchalski – Web Application Security Test Automation
 
[QE 2018] Rob Lambert – How to Thrive as a Software Tester
[QE 2018] Rob Lambert – How to Thrive as a Software Tester[QE 2018] Rob Lambert – How to Thrive as a Software Tester
[QE 2018] Rob Lambert – How to Thrive as a Software Tester
 
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
 

[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy piramidy testów

  • 1.
  • 2. Testy regresji z perspektywy piramidy testów Przemysław Podsiadlik Rafał Peroń
  • 3. Agenda 1. Testy regresji 2. Problemy, z jakimi się zetknęliśmy 3. Piramida testów 4. Przykładowe user story i propozycja pokrycia testami 5. Propozycja procesu testowego
  • 5. Testy regresji • Przeprowadzane po zmodyfikowaniu aplikacji
  • 6. Testy regresji • Przeprowadzane po zmodyfikowaniu aplikacji • Ujawniają błedy powstałe w wyniku zmian kodu lub środowiska
  • 7. Testy regresji • Przeprowadzane po zmodyfikowaniu aplikacji • Ujawniają błedy powstałe w wyniku zmian kodu lub środowiska • Nieefektywne przy przeprowadzeniu w pełni ręcznie
  • 8. Testy regresji • Przeprowadzane po zmodyfikowaniu aplikacji • Ujawniają błedy powstałe w wyniku zmian kodu lub środowiska • Nieefektywne przy przeprowadzeniu w pełni ręcznie • Dobry kandydat do automatyzacji ze względu na powtarzalność
  • 9. Testy regresji • Przeprowadzane po zmodyfikowaniu aplikacji • Ujawniają błedy powstałe w wyniku zmian kodu lub środowiska • Nieefektywne przy przeprowadzeniu w pełni ręcznie • Dobry kandydat do automatyzacji ze względu na powtarzalność • Możliwe do zautomatyzowania na różnych poziomach testów
  • 11. Taka sytuacja • Projekt trwa • Dodawane są kolejne funkcjonalności • Developerzy piszą „swoje” testy • QA testują manualnie i również automatyzują na poziomie GUI
  • 12. Taka sytuacja • Projekt trwa • Dodawane są kolejne funkcjonalności • Developerzy piszą „swoje” testy • QA testują manualnie i również automatyzują na poziomie GUI ... a bugi wracają... Dlaczego?
  • 13. Problemy z jakimi się zetknęliśmy
  • 14. Problemy z jakimi się zetknęliśmy • Za mało unit testów, DEVowie niechętni do ich pisania
  • 15. Problemy z jakimi się zetknęliśmy • Za mało unit testów, DEVowie niechętni do ich pisania • Zbyt dużo testów na poziomie integracyjnym (API)
  • 16. Problemy z jakimi się zetknęliśmy • Za mało unit testów, DEVowie niechętni do ich pisania • Zbyt dużo testów na poziomie integracyjnym (API) • Zbyt dużo testów na poziomie UI (i zbyt atomowe)
  • 17. Problemy z jakimi się zetknęliśmy • Za mało unit testów, DEVowie niechętni do ich pisania • Zbyt dużo testów na poziomie integracyjnym (API) • Zbyt dużo testów na poziomie UI (i zbyt atomowe) • Duplikacja testów pomiędzy poziomami (głównie UI i API)
  • 18. Problemy z jakimi się zetknęliśmy • Za mało unit testów, DEVowie niechętni do ich pisania • Zbyt dużo testów na poziomie integracyjnym (API) • Zbyt dużo testów na poziomie UI (i zbyt atomowe) • Duplikacja testów pomiędzy poziomami (głównie UI i API) • Brak wysokopoziomowych przekrojowych testów e2e sprawdzających procesy biznesowe
  • 19. Jak to się kończyło
  • 20. Jak to się kończyło
  • 22. Piramida testów • Najistotniejsze unit testy (najwięcej)
  • 23. Piramida testów • Najistotniejsze unit testy (najwięcej) • Funkcjonalne testy API
  • 24. Piramida testów • Najistotniejsze unit testy (najwięcej) • Funkcjonalne testy API • Przekrojowe testy e2e na poziomie UI
  • 25. Przykładowe user story User story:Wykonanie przelewu Jako klient banku Chcę przekazać określoną ilość pieniędzy na inne konto Aby w sposób bezgotówkowy zapłacić posiadaczowi docelowego konta
  • 26. Kryteria akceptacji 1. gdy numery kont są prawidłowe oraz saldo rachunku źródłowego jest większe niż kwota przelewu, bilans konta źródłowego zostanie pomniejszony o wartość transferu, a saldo konta docelowego powiększone o tą samą wartość 2. gdy numery konta są nieprawidłowe, nie ma możliwości wykonania przelewu 3. gdy saldo konta źródłowego jest mniejsze niż wartość transferu, nie ma możliwości wykonania przelewu, a użytkownik zostanie powiadomiony, iż saldo jest niewystarczające 4. gdy wartość transferu jest mniejsza lub równa zero, nie ma możliwości wykonania przelewu
  • 27. Poglądowa architektura Web App HttpResponceMsg SendTransfer() { ValidateAccounts(); ValidateCredit(); CalculateBalance(); UpdateBalance(); } DB API
  • 30. Co proponujemy? Logika domenowa Biznesowe kryteria akceptacji Komunikacja pomiędzy modułami
  • 31. Co proponujemy? Logika domenowa Biznesowe kryteria akceptacji Komunikacja pomiędzy modułami Proces biznesowy
  • 32. Poglądowa architektura Web App HttpResponceMsg SendTransfer() { ValidateAccounts(); ValidateCredit(); CalculateBalance(); UpdateBalance(); } DB API
  • 33. Kryteria akceptacji 1. gdy numery kont są prawidłowe oraz saldo rachunku źródłowego jest większe niż kwota przelewu, balans konta źródłowego zostanie pomniejszony o wartość transferu, a saldo konta docelowego powiększone o tą samą wartość 2. gdy numery konta są nieprawidłowe, nie ma możliwości wykonania przelewu 3. gdy saldo konta źródłowego jest mniejsze niż wartość transferu, nie ma możliwości wykonania przelewu, a użytkownik zostanie powiadomiony, iż saldo jest niewystarczające 4. gdy wartość transferu jest mniejsza lub równa zero, nie ma możliwości wykonania przelewu
  • 34. W jaki sposób dążyć do ideału?
  • 35. W jaki sposób dążyć do ideału? • QA oraz DEV ustalają na wczesnym etapie developmentu funkcjonalności co, jak i na jakim poziomie należy przetestować
  • 36. W jaki sposób dążyć do ideału? • QA oraz DEV ustalają na wczesnym etapie developmentu funkcjonalności co, jak i na jakim poziomie należy przetestować • DEV w trakcie developmentu pisze testy UT (najlepiejTDD)
  • 37. W jaki sposób dążyć do ideału? • QA oraz DEV ustalają na wczesnym etapie developmentu funkcjonalności co, jak i na jakim poziomie należy przetestować • DEV w trakcie developmentu pisze testy UT (najlepiejTDD) • DEV w początkowej fazie developmentu wystawia nagłówki API, a tester pisze testy funkcjonalneAPI
  • 38. W jaki sposób dążyć do ideału? • QA oraz DEV ustalają na wczesnym etapie developmentu funkcjonalności co, jak i na jakim poziomie należy przetestować • DEV w trakcie developmentu pisze testy UT (najlepiejTDD) • DEV w początkowej fazie developmentu wystawia nagłówki API, a tester pisze testy funkcjonalneAPI • Code review (QA zaangażowany)
  • 39. W jaki sposób dążyć do ideału? • QA oraz DEV ustalają na wczesnym etapie developmentu funkcjonalności co, jak i na jakim poziomie należy przetestować • DEV w trakcie developmentu pisze testy UT (najlepiejTDD) • DEV w początkowej fazie developmentu wystawia nagłówki API, a tester pisze testy funkcjonalneAPI • Code review (QA zaangażowany) • Testy e2e
  • 40. W jaki sposób dążyć do ideału? • QA oraz DEV ustalają na wczesnym etapie developmentu funkcjonalności co, jak i na jakim poziomie należy przetestować • DEV w trakcie developmentu pisze testy UT (najlepiejTDD) • DEV w początkowej fazie developmentu wystawia nagłówki API, a tester pisze testy funkcjonalneAPI • Code review (QA zaangażowany) • Testy e2e • Continuous Integration i Continuous Deployment
  • 41. To było tylko 1 user story. Zadbaj o wszystkie!