Testowanie zawsze jest wyzwaniem – nie tylko gdy pojawia się nowe oprogramowanie do poznania, nowe kontrolki czy logika, ale także przechodzi się sprawdzian z projektowania rozwiązań pasujących do danego softu. Idealne rozwiązanie nie powinno zawierać jedynie skryptów sprawdzających podstawowe funkcjonalności, ale powinno także wspierać prezentowanie schematu danych wejściowych, uruchamianie testów, czy zawierać niezbędne wymagania i ryzyka.
Testowanie weryfikuje poprawność działania oprogramowania i dostarcza informacji na jego temat, dlatego wybrane przez nas narzędzie powinno jak najlepiej wspierać nasze działania. Powinno być nie tylko intuicyjne, ale także pomóc nam łatwo rozwijać i modyfikować utworzone przez nas testy. Jednym z takich narzędzi jest Tosca, narzędzie firmy Tricentis. Tricentis Tosca łączy wiele aspektów testowania oprogramowania (projektowanie przypadków testowych, automatyzację testów, projektowanie i generowanie danych testowych oraz analizy) w celu testowania GUI i API z perspektywy biznesowej. Dwie najczęściej używane technologie stosowane w Tosca, są związane z testowaniem opartym na modelach i testowaniem opartym na ryzyku. Tosca w porównaniu z innymi narzędziami jest dość łatwa do zrozumienia i obsłużenia. Widać to m.in. w graficznym interfejsie użytkownika, który jest przyjazny i przejrzysty, dość łatwo się po nim nawiguje.
W tym artykule zapoznamy się pokrótce z Tosca oraz z jej możliwościami.
Krótko o Tosca
Tosca jest głównym produktem firmy Tricentis założonej w 2007 roku w Wiedniu. Sama Tosca jest kompleksowym narzędziem obsługującym m.in. testy GUI, API, testowanie aplikacji mobilnych, nagrywanie i symulowanie serwisów, identyfikowanie i zarządzanie danymi testowymi, wykonywanie testów obciążających czy zapewnianie wysokiej jakości danych podczas testowania hurtowni danych.
![Ryc. 1 Model-based Test Automation Model-based Test Automation](https://sii.pl/blog/wp-content/uploads/2019/04/art-1024x576.png)
Oparta na modelach automatyzacja testów, ma na celu umożliwienie każdemu, od programistów po ekspertów biznesowych, przyczynienie się do rozwoju tychże testów, a także wyeliminowanie obciążeń konserwacyjnych. Skanowanie aplikacji pomaga tworzyć czytelne dla biznesu modele zawierające techniczne informacje, dzięki którym można szybko tworzyć przypadki testowe. Te modele przypominają klocki, z których buduje się bloki, które mogą być używane w wielu testach, a każdy test może je odpowiednio zmodyfikować tak, aby dane wprowadzane były adekwatne do testowanej funkcjonalności. Tosca rozpoznaje technologię, w jakiej stworzone jest dane rozwiązanie, a ponieważ obsługuje ich ponad 150 – automatyzacja jest możliwa dla niemalże każdego napotkanego produktu – od stron internetowych, przez smartfony, po bazy danych czy API. Niezależnie od napotkanych technologii zasada działania z Tosca jest taka sama. A ponieważ opieramy się na modelach, które są łatwe w utrzymaniu i w modyfikowaniu, to eliminacja błędów czy dostosowanie modelu do zaprojektowanego rozwiązania jest banalnie proste.
Tosca pomaga także m.in. w zarządzaniu danymi testowymi, czy w symulowaniu środowiska, kiedy nie jest ono dostępne. Analizowanie ryzyka związanego z testami, zarządzanie nimi, raportowanie czy integracja np. z JIRA czy JENKINSEM także jest dostępne w Tosca Commander. Symulowanie zachowania zależnych systemów czy środowisk, które są ciężkie do skonfigurowania czy testowania, także należy do zalet Tosca. Ten aspekt usuwa największą barierę w testach integracji, co udowadnia, że jest to pełnowartościowa platforma do tworzenia rozwiązań testowych / biznesowych.
Tosca Commander jest inspirowana Windows Explorerem, gdzie każdy obiekt jest ukazany w hierarchii drzewa. Tosca posiada przyjazny i czytelny układ obszaru roboczego. Jak pokazuje grafika poniżej, każdy element czy widok jest zaprojektowany w nowoczesny i prosty sposób, dzięki czemu praca z Tosca staje się przyjemnością.
![Ryc. 2 Okno Tosca Commander Okno Tosca Commander](https://sii.pl/blog/wp-content/uploads/2019/04/tosca2-1024x624.jpg)
Title bar wskazuje na obecnie używany obszar roboczy. Zawiera także dostęp do szybkiego paska narzędzi, gdzie znajdziemy opcje do zapisania zmian czy ich cofnięcia. Menu – zaprojektowane w formie wstążek składa się z kilku zakładek, które umożliwiają dostęp do odpowiednich funkcji. Zależnie od kontekstu z którym aktualnie pracujemy, niektóre z nich są włączone lub wyłączone.
Status bar – pokazuje aktualną akcję, którą wykonuje Tosca. Przejrzysty układ zakładek pozwala na łatwe nawigowanie po niezbędnych w czasie pracy obszarach, zaś widok detali na szybką weryfikację poprawności naszych działań.
Praca z Tosca opiera się na 6 głównych sekcjach: TestCaseDesign, Modules, TestCases, ExecutionList, Reports i Requirements. Są one ze sobą połączone, zatem dokonanie zmiany w jednym miejscu powoduje zmiany wszędzie tam, gdzie występuje dana funkcjonalność czy kontrolka. Modules zawiera moduły – a więc modele, które są techniczną reprezentacją naszej testowanej aplikacji. TestCaseDesign prezentuje macierz danych, które będą używane w testach. TestCases zawiera omawiane testy, szablony, biblioteki. ExecutionLists jest listą testów, które mają być wykonywane w odpowiednim czasie, odpowiednią liczbę razy etc. Reports prezentuje wyniki egzekucji testów. Requirements zawiera wymagania a także pokazuje ryzyko związane z odpowiednimi testami zależnie od ich wartości, ważności. Każda z sekcji zostanie omówiona szczegółowo w kolejnych wpisach.
![Ryc. 3 Główne moduły w podstawowej pracy z Tosca Główne moduły w podstawowej pracy z Tosca](https://sii.pl/blog/wp-content/uploads/2019/04/moduly-1.jpg)
Każda z sekcji zostanie omówiona szczegółowo w kolejnych wpisach.
Mam nadzieję, że tym krótkim słowem wstępu udało mi się Ciebie zachęcić do skorzystania z Tosca w swoich planach testowych. Ten krótki opis pokazuje jej potencjał oraz zapewnia o wysokojakościowych rozwiązaniach dla danych oprogramowań. Kolejne wpisy szczegółowo omówią każdą sekcję z osobna oraz pokrótce pokażą jak stworzyć i zaprojektować pełen plan działania dla przykładowego produktu, jakim będzie strona internetowa.
Chcesz lepiej zrozumieć aplikacje i systemy, które testujesz? Dołącz do ModernTester, poznaj najpotrzebniejsze narzędzia, frameworki oraz języki programowania i ćwicz na specjalnie przygotowanych środowiskach testowych: Platforma e-learningowa ModernTester
Link do Platforma e-learningowa ModernTester nie działa