Projekt projektowi nierówny, czyli udane i nieudane przykłady automatyzacji testów. CASE STUDY

Jeden z obszarów działalności biznesowej ForProgress to kontrola jakości. Od wielu lat realizujemy dla klientów projekty związane z testowaniem oprogramowania. Mamy doświadczenia zarówno z małych projektów, dla których testowanie i automatyzacja była czymś znaczącym, jak i bardzo dużych przedsięwzięć związanych z wdrażaniem strategicznych rozwiązań IT w organizacji. W tych drugich automatyzacja testów jest tak małym zagadnieniem, że prawie nikt go nie zauważa.

Co faktycznie daje automatyzacja i dlaczego kończy się sukcesem i wszyscy są zadowoleni? Czemu czasem jest tak, że robimy skrypty, wszystko działa ale na koniec nikt nie jest z tego zadowolony? Kiedy warto włączyć automatyzację do testowania nawet nie informując o tym kierownika projektu? Gdzie automatyzacja testów wspiera biznes w różnych działaniach, a gdzie przeszkadza?

Regresja procesów biznesowych w branży telekomunikacyjnej

Cel:

Skrócenie czasu testów regresji procesów biznesowych E2E

Problemy:

  • 15 procesów biznesowych
  • ROI dla automatyzacji (12-14 miesięcy)
  • 5 różnych technologii: SAP, WEB, JAVA, Delphi, Microsoft Visual C++
  • Brak dokumentacji procesów biznesowych
  • Zakupione wcześniej narzędzia testowe

Dostarczone możliwości:

  • Opisy procesów biznesowych
  • Strategia automatyzacji
  • Architektura automatów wraz z raportowaniem
  • Automaty dla 15 procesów
  • integracja z narzędziem do zarządzania testami

Aktualne korzyści:

  • Gotowe repozytorium automatyzacji i skrypty dla 15 procesów
  • Zintegrowane narzędzia testowe
  • Wyszkolony zespół
  • Automatyczna regresja

Projekt zakończony porażką

  • Projekt realizowany przez 6 miesięcy
  • Zarzucona automatyzacja procesów po 6 miesiącach od zakończenia naszych prac
  • Zniechęcenie do automatyzacji
  • Automatyzacja nie tego, co powoduje długie testy regresji
  • Obszar do automatyzacji to procesy po stronie administratorów

Automatyzacja regresji przelewu walutowego w bankowości indywidualnej

Cel:

Zautomatyzowanie testów regresji przelewu walutowego

Problemy:

  • Wiele rodzajów przelewów walutowych (SEPA, SWIFT)
  • 3 kanały zlecania przelewów
  • 5 rodzajów kont z różnymi opłatami za przelewy
  • Zakupione wcześniej narzędzia testowe

Dostarczone możliwości:

  • Analiza zakresu testów bazująca na macierzach ortogonalnych
  • Opisy scenariuszy testowych
  • Strategia automatyzacji
  • Architektura automatów wraz z raportowaniem
  • Automaty dla 50 scenariuszy testowych

Aktualne korzyści:

  • Macierz scenariuszy testowych
  • Gotowe repozytorium automatyzacji i skrypty
  • Wyszkolony zespół
  • Automatyczna regresja

Projekt zakończony porażką

  • Projekt realizowany przez 2 miesiące
  • Rozczarowanie niepełną regresją macierzy scenariuszy testowych
  • Brak zasobów po stronie banku do dalszego rozwijania automatyzacji
  • Rozczarowanie co do współpracy z zewnętrznymi dostawcami automatyzacji
  • Zakup dniówek a nie projektu automatyzacji

Automatyzacja w dużym projekcie testowania w branży telekomunikacyjnej

Cel:

Wykonanie testów funkcjonalnych i wydajnościowych systemów współpracujących z systemem bilingowym.

Problemy:

  • Bardzo duża ilość testów do przeprowadzenia.
  • Zidentyfikowano 370 procesów biznesowych. Po etapie analizy liczba procesów wzrosła do 480.
  • 105 systemów współpracujących z systemem rozliczeniowym.
  • 22 jednostki organizacyjne realizujące procesy biznesowe.
  • Brak opisanych procesów biznesowych.
  • Bardzo mały zespół testowy liczący 4 osoby wraz z kierownikiem.
  • Wdrożone nowe narzędzie do zarządzania i automatyzacji testów.

Dostarczone możliwości:

  • Opracowanie koncepcji przygotowywania i wykonywania testów
  • Przeprowadzenie analizy procesów biznesowych i przygotowanie kompletnych scenariuszy testowych.
  • Dostosowywanie środowiska narzędziowego do potrzeb projektu.

Aktualne korzyści:

  • Wiedza o procesach biznesowych realizowanych przez organizację.
  • Dostosowanie narzędzi wspierających proces testowania do potrzeb organizacji.
  • Gotowe środowisko do wykonywania testów funkcjonalnych przez osoby z biznesu lub innych testerów.
  • Przygotowane automaty testowe dla 6 systemów.

Projekt zakończony sukcesem

  • 1 system z 65 systemów z automatycznymi testami
  • Oszczędność przynajmniej 200 godzin pracy testerów
  • Celowa automatyzacja rozwiązująca konkretny problem testerów

Automatyzacja testów a robotyzacja procesów u producenta oprogramowania wbudowanego w terminale płatnicze

Cel:

Zbudowanie robota zbierającego dane z różnych źródeł do wyliczania KPI procesu testowego i jakości oprogramowania

Problemy:

  • 8 KPI dla każdego projektu
  • 17 projektów nadzorowanych i realizowanych w Polsce
  • kilkanaście komponentów składających się na cały system działający w terminalu
  • Ręczne zbieranie danych do KPI z 3 różnych źródeł
  • Prezentacja KPI w Confluence
  • Okna serwisowe na Confluence 2 razy w roku

Dostarczone możliwości:

  • Wdrożenie ForEVO jako narzędzia robotyzacji zbierania danych
  • Zbudowanie architektury dla farmy robotów
  • Uruchomienie robotów gromadzących dane

 Aktualne korzyści:

  • Automatyczne gromadzenie danych i wyliczanie KPI
  • Odzyskanie 32 godzin pracy miesięcznie
  • Wdrożone narzędzie do RPA

 

Projekt zakończony częściową porażką

  • Część robotów wycofana z użycia po 3 miesiącach
  • Brak umiejętności utrzymywania i rozwijania robotów przez zespół klienta
  • Konieczność zmian robotów ze względu na zmiany w źródłach danych
  • Brak modułu zarządzania farmą robotów
  • Narzędzia do automatyzacji nie nadają się do robotyzacji procesów biznesowych

Podsumowując:

  • Dobra automatyzacja testów wymaga jasnego celu
  • Aby automatyzacja zadziałała, musi być wsparciem zespołu testowego, a nie jego zastąpieniem
  • Wdrożenie automatyzacji wymaga dobrej analizy problemów jakie występują w testowaniu
  • Robotyzacja procesów biznesowych i automatyzacja testów to nie to samo