1 Zaawansowane techniki obiektowe
2 Ewolucja obiektów czyli Programowanie Sterowane…Driven TDD BDD RDD ATDD DDD EVOlucja
3 TDD Testy Testy przed kodem Red-Green-Refactor Test jednostkowyCzy jednostkowy oznacza jedna klase ? Jak bardzo jednostkowy musi byc test ?
4 BDD Poprawnie robione TDD ?Piszemy testy czy może specyfikujemy zachowanie ? Wartość biznesowa - co to znaczy użyteczny test? Test powinien wyrażać zachowanie – co to znaczy zrozumiały test ? Czy wystarczy zrozumiały tytuł?
5 BDD - kierunki Zachowania na poziomie kodu - testy jednostkowe - MSPECZachowania na poziomie systemu - testy end to end / akceptacyjne - cucomber
6 ATDD Acceptance Test Driven Jak opisać i sprawdzić zachowanie systemu?Stan bazy Interakcje z GUI Jak wyrazić testy dla biznesu?
7 Baza Stan bazy sie zmienia …. Niedotykalne/odtwarzane dane testowePrzeładowanie bazy przed każdym testem Przeładowanie bazy przed testami Testy z robackowaną transakcją Testy samo kompensujące “Inteligentne” testy dostosowujące się do stanu bazy
8 GUI Wrażliwość na zminy wyglądu, rodzaj przeglądarki itdSelenium + page objects Sikuli ? A może troche pooszukiwać na poziomie API.
9 Obszar pomiędzy czyli kompromis… czyli testy integracyjne
10 Cucomber - scenariusz
11 Cucomber – podstawowe definicje
12 Cucomber – test nie przechodzi
13 Cucomber – troche wiecej kodu
14 Cucomber – i test przechodzi
15 Continuous Continuous integration Continuous deliveryNa podst. WIKIPEDIA
16 Contineous integrationBudowa – automatyzacja I powtarzalnośc budowy testów – w środowisku deweloperskim, na serwerze buildów, na UAT Depoument – uzgodnienia z infrastructure team testy – automatyzacja testów integracyjnych I akceptacyjnych konfiguracje – wersjonowanie, aplikowanie – co z pakietami instalacyjnymi? Infrastruktura - provisioning, instalacja systemów, konfiguracja I wersjownowanie
17
18 Narzędzia Mspec Spec Flow Configatron Team city