Sens i cel automatyzacji testów
SENS I CEL AUTOMATYZACJA TESTÓW
JAN SABAK
JAN.SABAK@AMBERTEAM.PL
2
AGENDA
• PO CO AUTOMATYZOWAĆ
• CO AUTOMATYZOWAĆ
• PROBLEMY AUTOMATYZACJI
• TECHNIKI AUTOMATYZACJI
• AUTOMATYZACJA W PROCESIE TESTOWANIA
• UTRZYMANIE TESTÓW AUTOMATYCZNYCH
3
4
AUTOMATYZACJA
AUTOMATYZACJA, TO ZASTĘPOWANIE TEGO
CO DZIAŁA, CZYMŚ CO PRAWIE DZIAŁA, ALE
JEST SZYBSZE I TAŃSZE.
ROGER NEEDHAM (1935 – 2003), PROFESSOR OF COMPUTER SYSTEMS, UNIV. OF CAMBRIDGE
5
ŹRÓDŁA BŁĘDÓW W OPROGRAMOWANIU
Źródło Odsetek błędów
Wymagania 9,58%
Architektura 2,08%
Projekt 12,50%
Kod programu 16,67%
Plan testów i przypadki testowe 15,52%
Dokumentacja użytkownika 6,25%
Baza danych 22,92%
Website 14,58%
6
WYKRYWANIE I USUWANIE BŁĘDÓW
FP Def./FP Suma Def. Wykrywani
e
Usuwanie Pozostało
1 3.50 4 99% 98% 0
10 4.00 40 97% 95% 1
100 4.50 450 94% 90% 27
1000 5.00 5000 90% 85% 500
10000 5.50 55 tys. 88% 82% 6600
100000 6.50 650 tys. 85% 78% 97500
7
PO CO AUTOMATYZOWAĆ
• AUTOMATYZUJE SIĘ POWTARZAJĄCE SIĘ ZADANIA
• TESTY REGRESYJNE
• SMOKE TESTY
• TESTY WYDAJNOŚCIOWE
• PROCESY KONFIGURACYJNE
• TWORZENIE DANYCH TESTOWYCH
8
CELE AUTOMATYZACJI
• POWTARZALNOŚĆ I SPÓJNOŚĆ TESTÓW
• WYKONYWANIE TESTÓW BEZ NADZORU
• ZNAJDOWANIE BŁĘDÓW REGRESJI
• WYŻSZA JAKOŚĆ OPROGRAMOWANIA
• WIĘKSZE POKRYCIE TESTAMI
• ZWIĘKSZENIE ZAUFANIA DO OPROGRAMOWANIA
• WIĘCEJ OPROGRAMOWANIA PRZETESTOWANE
• ZWIĘKSZENIE ZAUFANIA UŻYTKOWNIKÓW
• POMIAR WYDAJNOŚCI
• ZMNIEJSZENIE KOSZTÓW TESTOWANIA
• ZNALEZIENIE WIĘKSZEJ LICZBY BŁĘDÓW
• TESTY NA WIELU SYSTEMACH
OPERACYJNYCH
• SZYBSZE DOSTAWY
• ZWIĘKSZENIE MORALE TESTERÓW
• TESTY NA WIELU BAZACH DANYCH
9
OBIETNICE AUTOMATYZACJI
• WYKONYWANIE TESTÓW (REGRESJA)
• WYKONYWANIE WIĘKSZEJ ILOŚCI TESTÓW, CZĘŚCIEJ
• WYKONYWANIE TESTÓW TRUDNYCH DO WYKONANIA RĘCZNIE
• LEPSZE WYKORZYSTANIE ZASOBÓW
• POWTARZALNOŚĆ TESTÓW
• REUŻYWANIE TESTÓW
• WCZEŚNIEJSZE DOSTAWY
• ZWIĘKSZONE ZAUFANIE
10
CO AUTOMATYZOWAĆ?
11
WYBÓR TESTÓW DO AUTOMATYZACJI
• NAJWAŻNIEJSZE TESTY
• ZESTAW TESTÓW „PO SZEROKOŚCI”
• TESTY NAJWAŻNIEJSZYCH FUNKCJI
• TESTY, KTÓRE NAJŁATWIEJ ZAUTOMATYZOWAĆ
• TESTY, KTÓRE SIĘ NAJSZYBCIEJ ZWRÓCĄ
• TESTY WYKONYWANE NAJCZĘŚCIEJ
12
OPŁACALNOŚĆ AUTOMATYZACJI
• DOROTHY GRAHAM: EKWIWALENT ILOŚCI TESTÓW RĘCZNYCH
• PLANOWANIE
• PROJEKTOWANIE
• IMPLEMENTACJA
• WYKONANIE
• UTRZYMANIE
13
OGRANICZENIA AUTOMATYZACJI
• NIE ZASTĘPUJE TESTÓW MANUALNYCH
• TESTY EKSPLORACYJNE
• ZGADYWANIE BŁĘDÓW
• AUTOMATYZACJA NIE JEST OD ZNAJDOWANIA BŁĘDÓW
• WIĘKSZA ZALEŻNOŚĆ OD JAKOŚCI TESTÓW
• MOŻE OGRANICZYĆ ROZWÓJ OPROGRAMOWANIA
• NARZĘDZIA NIE MAJĄ WYOBRAŹNI
• AUTOMATYZACJA TO TYLKO MECHANIZM WYKONYWANIA TESTÓW
14
PROBLEMY AUTOMATYZACJI
• NIEREALISTYCZNE OCZEKIWANIA
• SŁABE PRAKTYKI TESTOWANIA
• FAŁSZYWE POCZUCIE BEZPIECZEŃSTWA
• UTRZYMANIE TESTÓW
• PROBLEMY TECHNICZNE
• PROBLEMY ORGANIZACYJNE
15
TECHNIKI AUTOMATYZACJI
• BEHAVIOUR DRIVEN TESTING
• KEYWORD DRIVEN TESTING
• PAGE OBJECT PATTERN
16
ZASADY BDD
• NAJPIERW NAPISZ ZESTAW TESTÓW DLA MODUŁU/FUNKCJI
• NIECH TESTY NIE PRZECHODZĄ
• ZAIMPLEMENTUJ MODUŁ/FUNKCJĘ
• SPRAWDŹ, CZY TESTY PRZECHODZĄ NA ZAIMPLEMENTOWANYM MODULE/FUNKCJI
17
PAGE OBJECT PATTERN
PAGE OBJECT:
KLASA, KTÓRA STANOWI INTERFEJS DO TESTOWANEJ FORMATKI
ZALETY
• UŁATWIA UTRZYMANIE TESTÓW
• ZMNIEJSZA REDUNDANCJĘ KODU TESTÓW
• JASNE ODDZIELENIE KODU TESTU (KROKÓW) OD KODU OBSŁUGI GUI (LOKATORÓW)
• JEDNO REPOZYTORIUM SERWISÓW GUI TESTOWANEJ APLIKACJI
18
PAGE OBJECT PATTERN
REGUŁY
• PAGE OBJECTY NIE POWINNY ZAWIERAĆ ASERCJI, ANI WERYFIKACJI
• JEDYNA DOPUSZCZALNA WERYFIKACJA, TO SPRAWDZENIE, CZY STRONA SIĘ
ZAŁADOWAŁA POPRAWNIE
• PAGE OBJECT NIE MUSI REPREZENTOWAĆ CAŁEJ STRONY
• MOŻNA UŻYWAĆ WZORCA FACTORY DO INICJALIZACJI PAGE OBJECTÓW
19
KEYWORD DRIVEN TESTING
20
AUTOMATYZACJA A PROCES TESTOWANIA
• PROJEKTY KLASYCZNE
• PROJEKTY ZWINNE
21
PROJEKTY KLASYCZNE
• PLANOWANIE
• PROJEKTOWANIE
• IMPLEMENTACJA
• WYKONANIE
• UTRZYMANIE
22
PROJEKTY ZWINNE
• W SPRINTACH TYLKO AUTOMATYZACJA UNIT TESTÓW
• REGRESJA POZA SPRINTAMI
• AUTOMATYZACJA POZA SPRINTAMI
23
PRZYKŁADOWY UKŁAD SPRINTÓW
24
UTRZYMANIE TESTÓW AUTOMATYCZNYCH
KEYWORD DRIVEN TESTING ALBO ŚMIERĆ
• NOWE TESTY DLA NOWEJ FUNKCJONALNOŚCI
• ZMIANY ZE WZGLĘDU NA ZMIENIAJĄCE SIĘ UI
• ZMIANY ZE WZGLĘDU NA ZMIANY FUNKCJONALNOŚCI
25
DZIĘKUJĘ

More Related Content

PPS
Espiritismo e aborto-1,5h
PPTX
A dor na nossa evolução
PPTX
Estudo do livro Roteiro liçao 18
PDF
FELIZ ANO NOVO!
PDF
Cartilha Dia dos pais -Aula especial
PPTX
O QUE É A PORTA ESTREIRA EM NOSSA VIDA
PPTX
Aula 20 superioridade da natureza de jesus - revisão
PPTX
Līnijas
Espiritismo e aborto-1,5h
A dor na nossa evolução
Estudo do livro Roteiro liçao 18
FELIZ ANO NOVO!
Cartilha Dia dos pais -Aula especial
O QUE É A PORTA ESTREIRA EM NOSSA VIDA
Aula 20 superioridade da natureza de jesus - revisão
Līnijas
Ad

Sens i cel automatyzacji testów

  • 2. SENS I CEL AUTOMATYZACJA TESTÓW JAN SABAK JAN.SABAK@AMBERTEAM.PL 2
  • 3. AGENDA • PO CO AUTOMATYZOWAĆ • CO AUTOMATYZOWAĆ • PROBLEMY AUTOMATYZACJI • TECHNIKI AUTOMATYZACJI • AUTOMATYZACJA W PROCESIE TESTOWANIA • UTRZYMANIE TESTÓW AUTOMATYCZNYCH 3
  • 4. 4
  • 5. AUTOMATYZACJA AUTOMATYZACJA, TO ZASTĘPOWANIE TEGO CO DZIAŁA, CZYMŚ CO PRAWIE DZIAŁA, ALE JEST SZYBSZE I TAŃSZE. ROGER NEEDHAM (1935 – 2003), PROFESSOR OF COMPUTER SYSTEMS, UNIV. OF CAMBRIDGE 5
  • 6. ŹRÓDŁA BŁĘDÓW W OPROGRAMOWANIU Źródło Odsetek błędów Wymagania 9,58% Architektura 2,08% Projekt 12,50% Kod programu 16,67% Plan testów i przypadki testowe 15,52% Dokumentacja użytkownika 6,25% Baza danych 22,92% Website 14,58% 6
  • 7. WYKRYWANIE I USUWANIE BŁĘDÓW FP Def./FP Suma Def. Wykrywani e Usuwanie Pozostało 1 3.50 4 99% 98% 0 10 4.00 40 97% 95% 1 100 4.50 450 94% 90% 27 1000 5.00 5000 90% 85% 500 10000 5.50 55 tys. 88% 82% 6600 100000 6.50 650 tys. 85% 78% 97500 7
  • 8. PO CO AUTOMATYZOWAĆ • AUTOMATYZUJE SIĘ POWTARZAJĄCE SIĘ ZADANIA • TESTY REGRESYJNE • SMOKE TESTY • TESTY WYDAJNOŚCIOWE • PROCESY KONFIGURACYJNE • TWORZENIE DANYCH TESTOWYCH 8
  • 9. CELE AUTOMATYZACJI • POWTARZALNOŚĆ I SPÓJNOŚĆ TESTÓW • WYKONYWANIE TESTÓW BEZ NADZORU • ZNAJDOWANIE BŁĘDÓW REGRESJI • WYŻSZA JAKOŚĆ OPROGRAMOWANIA • WIĘKSZE POKRYCIE TESTAMI • ZWIĘKSZENIE ZAUFANIA DO OPROGRAMOWANIA • WIĘCEJ OPROGRAMOWANIA PRZETESTOWANE • ZWIĘKSZENIE ZAUFANIA UŻYTKOWNIKÓW • POMIAR WYDAJNOŚCI • ZMNIEJSZENIE KOSZTÓW TESTOWANIA • ZNALEZIENIE WIĘKSZEJ LICZBY BŁĘDÓW • TESTY NA WIELU SYSTEMACH OPERACYJNYCH • SZYBSZE DOSTAWY • ZWIĘKSZENIE MORALE TESTERÓW • TESTY NA WIELU BAZACH DANYCH 9
  • 10. OBIETNICE AUTOMATYZACJI • WYKONYWANIE TESTÓW (REGRESJA) • WYKONYWANIE WIĘKSZEJ ILOŚCI TESTÓW, CZĘŚCIEJ • WYKONYWANIE TESTÓW TRUDNYCH DO WYKONANIA RĘCZNIE • LEPSZE WYKORZYSTANIE ZASOBÓW • POWTARZALNOŚĆ TESTÓW • REUŻYWANIE TESTÓW • WCZEŚNIEJSZE DOSTAWY • ZWIĘKSZONE ZAUFANIE 10
  • 12. WYBÓR TESTÓW DO AUTOMATYZACJI • NAJWAŻNIEJSZE TESTY • ZESTAW TESTÓW „PO SZEROKOŚCI” • TESTY NAJWAŻNIEJSZYCH FUNKCJI • TESTY, KTÓRE NAJŁATWIEJ ZAUTOMATYZOWAĆ • TESTY, KTÓRE SIĘ NAJSZYBCIEJ ZWRÓCĄ • TESTY WYKONYWANE NAJCZĘŚCIEJ 12
  • 13. OPŁACALNOŚĆ AUTOMATYZACJI • DOROTHY GRAHAM: EKWIWALENT ILOŚCI TESTÓW RĘCZNYCH • PLANOWANIE • PROJEKTOWANIE • IMPLEMENTACJA • WYKONANIE • UTRZYMANIE 13
  • 14. OGRANICZENIA AUTOMATYZACJI • NIE ZASTĘPUJE TESTÓW MANUALNYCH • TESTY EKSPLORACYJNE • ZGADYWANIE BŁĘDÓW • AUTOMATYZACJA NIE JEST OD ZNAJDOWANIA BŁĘDÓW • WIĘKSZA ZALEŻNOŚĆ OD JAKOŚCI TESTÓW • MOŻE OGRANICZYĆ ROZWÓJ OPROGRAMOWANIA • NARZĘDZIA NIE MAJĄ WYOBRAŹNI • AUTOMATYZACJA TO TYLKO MECHANIZM WYKONYWANIA TESTÓW 14
  • 15. PROBLEMY AUTOMATYZACJI • NIEREALISTYCZNE OCZEKIWANIA • SŁABE PRAKTYKI TESTOWANIA • FAŁSZYWE POCZUCIE BEZPIECZEŃSTWA • UTRZYMANIE TESTÓW • PROBLEMY TECHNICZNE • PROBLEMY ORGANIZACYJNE 15
  • 16. TECHNIKI AUTOMATYZACJI • BEHAVIOUR DRIVEN TESTING • KEYWORD DRIVEN TESTING • PAGE OBJECT PATTERN 16
  • 17. ZASADY BDD • NAJPIERW NAPISZ ZESTAW TESTÓW DLA MODUŁU/FUNKCJI • NIECH TESTY NIE PRZECHODZĄ • ZAIMPLEMENTUJ MODUŁ/FUNKCJĘ • SPRAWDŹ, CZY TESTY PRZECHODZĄ NA ZAIMPLEMENTOWANYM MODULE/FUNKCJI 17
  • 18. PAGE OBJECT PATTERN PAGE OBJECT: KLASA, KTÓRA STANOWI INTERFEJS DO TESTOWANEJ FORMATKI ZALETY • UŁATWIA UTRZYMANIE TESTÓW • ZMNIEJSZA REDUNDANCJĘ KODU TESTÓW • JASNE ODDZIELENIE KODU TESTU (KROKÓW) OD KODU OBSŁUGI GUI (LOKATORÓW) • JEDNO REPOZYTORIUM SERWISÓW GUI TESTOWANEJ APLIKACJI 18
  • 19. PAGE OBJECT PATTERN REGUŁY • PAGE OBJECTY NIE POWINNY ZAWIERAĆ ASERCJI, ANI WERYFIKACJI • JEDYNA DOPUSZCZALNA WERYFIKACJA, TO SPRAWDZENIE, CZY STRONA SIĘ ZAŁADOWAŁA POPRAWNIE • PAGE OBJECT NIE MUSI REPREZENTOWAĆ CAŁEJ STRONY • MOŻNA UŻYWAĆ WZORCA FACTORY DO INICJALIZACJI PAGE OBJECTÓW 19
  • 21. AUTOMATYZACJA A PROCES TESTOWANIA • PROJEKTY KLASYCZNE • PROJEKTY ZWINNE 21
  • 22. PROJEKTY KLASYCZNE • PLANOWANIE • PROJEKTOWANIE • IMPLEMENTACJA • WYKONANIE • UTRZYMANIE 22
  • 23. PROJEKTY ZWINNE • W SPRINTACH TYLKO AUTOMATYZACJA UNIT TESTÓW • REGRESJA POZA SPRINTAMI • AUTOMATYZACJA POZA SPRINTAMI 23
  • 25. UTRZYMANIE TESTÓW AUTOMATYCZNYCH KEYWORD DRIVEN TESTING ALBO ŚMIERĆ • NOWE TESTY DLA NOWEJ FUNKCJONALNOŚCI • ZMIANY ZE WZGLĘDU NA ZMIENIAJĄCE SIĘ UI • ZMIANY ZE WZGLĘDU NA ZMIANY FUNKCJONALNOŚCI 25