Continuous testing
Automatyzacja testów
Wieloletnie doświadczenie w opracowywaniu strategii testowych dla dużych organizacji pozwoliło nam na wypracowanie autorskiego podejścia do realizacji procesu testowego. Zdając sobie sprawę ze zmieniających się dynamicznie technologii i dostępności coraz to nowszych narzędzi, rozwiązań i metod postawiliśmy na zwinność.
Dlatego też nie oferujemy własnych narzędzi czy platform, lecz budujemy je dla każdej organizacji indywidualnie, bazując na dostępnych narzędziach open source.
Takie podejście pozwala na dostarczenie rozwiązania spełniającego indywidualne, specyficzne potrzeby organizacji, przy jednoczesnym zaimplementowaniu już posiadanych rozwiązań. Dodatkowo pozwala również na systematyczną rozbudowę posiadanej platformy wraz ze zmieniającymi się realiami.
Głównym założeniem przyświecającym nam przy budowie framework’ów, czy platform testowych jest podejście continuous testing.
Ciągłe testowanie zapewnia:
- testy end-to-end dla wszystkich wykorzystanych w procesie technologii (back-end i front-end) oraz obejmuje wszystko: od testów jednostkowych, komponentów, pokrycia, aż po monitoring i testy na produkcji,
- stałą ocenę pokrycia ryzyka biznesowego poprzez dostarczanie informacji zwrotnej odpowiedniej dla danego etapu procesu wytwarzania,
- natychmiastowy wgląd w to, w jakim stopniu przejście z wersją do etapu wdrożenia produkcyjnego jest możliwe,
- swego rodzaju zawór bezpieczeństwa, który pozwala uniknąć awarii,
- wykonywanie testów na każdym etapie projektu,
- pełną integrację z CI/CD,
- nowoczesność i łatwość w utrzymaniu.
Proponowane przez nas podejście oparte jest na zwinnym podejściu do budowy dedykowanej platformy przy jednoczesnej minimalizacji kosztów w najszerszym możliwym zakresie.
Wykorzystujemy narzędzia open source!
Pracownicy Testcase z prawdziwą pasją realizują projekty dotyczące Automatyzacji Testów. Wieloletnie doświadczenie w branży oraz wyczucie w zakresie doboru narzędzi i zakresu przypadków gwarantują pomyślną realizację automatyzacji testów.
Podczas realizacji procesów automatycznych, już na etapie tworzenia architektury, kładziemy nacisk na:
- wygodę obsługi i uruchamiania,
- szybkość działania,
- bezobsługowość w czasie wykonania (brak konieczności dozoru),
- mechanizm obsługi błędów pozwalający na łatwą konfigurację obsługi błędu,
- samokonfigurowalność z zachowaną możliwością wprowadzenia konfiguracji użytkownika.
Metoda tworzenia testów zależy od oczekiwanego efektu, czasu oraz kompleksowości automatyzacji, w tym ilości scenariuszy dotykających wspólnych elementów.
Dopasowując sposób tworzenia automatów do potrzeb Klienta, zawsze zwracamy uwagę na:
- ilość czasu przewidzianego na wytworzenie skryptu,
- przewidywaną długość życia skryptu,
- analizę przyszłych potrzeb serwisowych,
- ilość elementów, których użycie powtarza się.
Rozwiązanie automatyzacyjne jest zawsze zbilansowanym i świadomym kompromisem pomiędzy kosztem wytworzenia a jakością i cechami rozwiązania. Obszary, dla których zastosowanie testów automatycznych daje najbardziej wymierne efekty w procesie dostarczania, wdrażania i utrzymania aplikacji to:
- automatyzacja testów funkcjonalnych i regresji
- sprawdzenie dostępności środowisk (healt check)
- przygotowanie danych testowych
- napełnianie odpowiednimi danymi środowisk
Wdrażane przez pracowników Testcase jednolite podejście umożliwia łatwe przekształcenie pojedynczego testu liniowego, czy testu jednostkowego, w test end-to-end operujący na wielu systemach. Oznacza to możliwość rozwoju istniejących rozwiązań w miarę rosnącej potrzeby.
Automatyzacja jest nieodłącznym elementem testów. Skrypty automatyczne doskonale nadają się do często powtarzanych operacji, w tym generowania danych testowych – dzięki czemu są one coraz rzadziej zlecane do wykonania manualnego.