Jak error tracking i monitoring aplikacji mogą oszczędzić czas przy tworzeniu oprogramowania
Jan Grela
04 cze 2020・4 min czytania
Spis treści
Czym jest testowanie aplikacji?
Dlaczego testowanie aplikacji jest potrzebne?
Jak testowanie aplikacji przyspiesza rozwój?
Przykładowy framework testowy: RSpec
Dlaczego warto używać narzędzia do monitoringu aplikacji i śledzenia błędów?
Jak działają narzędzia do śledzenia błędów?
Jak wybrać najlepsze narzędzie do śledzenia błędów dla twojego projektu?
Bliższe spojrzenie na nasze dwa ulubione narzędzia do śledzenia błędów
Rollbar
Sentry
Na koniec rada
Odkrywanie, śledzenie i raportowanie błędów w kodzie jest kluczowe na każdym etapie cyklu życia aplikacji. Szczególnie wtedy, gdy oprogramowanie rośnie, integruje się z innymi usługami i staje się bardziej złożone. Dobrym zwyczajem jest przygotowanie się do śledzenia błędów już na wczesnych etapach rozwoju aplikacji. Pozwala to wychwycić problemy, zanim zrobi to użytkownik końcowy. Nikt nie chce testować aplikacji na produkcji.
Istnieje wiele sposobów wykrywania błędów. Aplikacje można testować ręcznie na każdym etapie albo postawić na podejście zautomatyzowane. Jednym z rozwiązań są testy kodu. Innym – narzędzia do śledzenia błędów, których na rynku jest naprawdę sporo.
Czym jest testowanie aplikacji?
Dlaczego testowanie aplikacji jest potrzebne?
Z perspektywy dewelopera kluczowe jest już na wczesnym etapie określić, które części aplikacji powinny być objęte testami, aby móc porównać wyniki uzyskane na danych testowych z oczekiwanym rezultatem. Idealnie byłoby objąć testami każdą funkcję, albo przynajmniej wszystkie kluczowe obszary o dużej złożoności, w których potrzebne są testy obliczeń i integracji. Dzięki temu podejściu wykryjesz błędy, zanim w ogóle wypchniesz wszystko do repozytorium.
Dzięki testom aplikacja powstaje z dużo mniejszą liczbą błędów w kodzie. Programiści mogą uruchamiać testy automatyczne lokalnie. Ponieważ testy można zintegrować z narzędziami CI/CD, da się skonfigurować ciągłe testowanie w pipeline’ach dostarczania oprogramowania. Awarie i niepowodzenia są śledzone oraz raportowane programistom. Dostępnych jest wiele narzędzi CI/CD (jak CircleCI, Jenkins itp.), które można zintegrować z platformami hostingu kodu, takimi jak GitHub, i raportować nieudane testy do deweloperów przez kanały Slacka, e‑maile itd.).
Jak testowanie aplikacji przyspiesza rozwój?
Pisanie testów wymaga czasu i wysiłku, czasem wręcz podwaja czas potrzebny na wdrożenie funkcji. Ale wyobraź sobie aplikację, która rośnie, staje się coraz bardziej złożona, zespoły się zmieniają, pojawiają się nowe funkcje — i nie ma testów, które weryfikowałyby kod. Jeśli ktoś zmieni implementację jednej metody i spowoduje to problemy w innych częściach aplikacji, dużo trudniej zidentyfikować i naprawić błąd.
Gdy są testy, programiści od razu widzą, że coś jest nie tak — wystarczy uruchomić zestaw testów. Z testami szybciej się ulepsza, utrzymuje i dodaje funkcje do aplikacji.
Przykładowy framework testowy: RSpec
Przykładem wartego uwagi frameworka testowego dla Ruby jest RSpec, który pozwala testować każdy aspekt aplikacji. Obejmuje testy jednostkowe i integracyjne. RSpec udostępnia język specyficzny dla domeny (DSL) do opisywania zachowań obiektów.
Dlaczego warto używać narzędzia do monitoringu aplikacji i śledzenia błędów?
Nawet aplikacje pokryte testami w 99,99% kodu nie są wolne od błędów. Narzędzia do śledzenia błędów pomagają ograniczyć liczbę problemów trafiających do użytkowników końcowych. Pomyśl o aplikacjach webowych. Bez narzędzi do śledzenia to użytkownik zgłaszałby każdy napotkany błąd, np. odpowiedzi HTTP 500. Narzędzia trackingowe dają szczegółowe informacje o tym, co i kiedy się wydarzyło. Dzięki temu deweloperzy mogą szybko zareagować i naprawić zgłoszony błąd, zanim użytkownik zacznie się skarżyć.
Kluczowe jest zintegrowanie aplikacji z narzędziem do śledzenia błędów, gdy tylko pojawi się wersja nadająca się do wdrożenia (np. staging, beta czy produkcja). Takie podejście oszczędza czas. Naprawianie dobrze opisanych drobnych problemów jest lepsze niż próby ich odtworzenia poprzez przekopywanie logów i zgadywanie, co mogło się wydarzyć.
Jak działają narzędzia do śledzenia błędów?
Narzędzia te monitorują błędy wyrzucane przez działające aplikacje. Obiekty wyjątków zwykle zawierają informacje o typie wyjątku, komunikacie, stack trace i numerze linii, w której wystąpił błąd. Dostępne są też dane o liczbie wystąpień i wiele innych informacji o problemie, takich jak NullPointerException, NoMethodError czy timeouty sieciowe.
Jak wybrać najlepsze narzędzie do śledzenia błędów dla twojego projektu?
Zanim wybierzesz narzędzie, musisz zdecydować o stosie technologicznym projektu. Każde narzędzie trackingowe wspiera określone technologie, języki programowania i frameworki. Niektóre łatwiej zintegrować z twoim projektem niż inne. Jedne oferują wygodne SDK, inne nie. Omów to ze swoim zespołem deweloperskim.
Kolejna kwestia to narzędzia, z którymi warto zintegrować wybrane rozwiązanie do śledzenia błędów. Należą do nich:
Platformy hostingu kodu, takie jak GitHub, GitLab, Bitbucket — do dalszej obsługi zgłoszeń tworzonych przez narzędzie trackingowe.
Narzędzia do zarządzania projektami, takie jak Jira czy Trello.
Komunikatory, takie jak Slack, do raportowania problemów na kanałach.
Poza tym, w zależności od rozmiaru projektu, możesz wybrać plan dopasowany do potrzeb. Większość z nich oferuje wersje próbne. Warto też zwrócić uwagę na to, co oferuje interfejs oprogramowania. Przydatne są różne wykresy opisujące problemy w czasie czy według środowisk wydań.
Bliższe spojrzenie na nasze dwa ulubione narzędzia do śledzenia błędów
Rollbar
Rollbar to rozwiązanie, które świetnie pomaga w śledzeniu błędów aplikacji webowych. Jest dostępne dla wielu języków i frameworków i łatwe w konfiguracji. Oprócz śledzenia, grupowania i raportowania błędów są tu funkcje takie jak Rollbar Query Language (do zaawansowanego wyszukiwania błędów), REST API do rozbudowanych integracji oraz raportowanie własnych komunikatów. Możesz wybrać różne plany cenowe albo skorzystać z planu darmowego. Dostępna jest wersja próbna, jeśli chcesz najpierw przetestować rozwiązanie.
Na koniec rada
Aby wybrać narzędzie do śledzenia błędów i oszczędzić czas w rozwoju oprogramowania, weź pod uwagę rozmiar projektu, stack technologiczny, zespół deweloperski, liczbę użytkowników i budżet. Uruchomienie śledzenia błędów na początku prac oszczędza czas później. Nie ma jednego idealnego rozwiązania dla każdego oprogramowania. Pewne jest natomiast, że połączenie CI/CD i narzędzi do śledzenia błędów pomaga szybko rozwiązywać problemy i przekłada się na zadowolenie użytkowników.
Czy chcesz stworzyć gruntownie przetestowaną, wolną od błędów i po prostu świetną aplikację? Pomożemy! Albo napisz na hello@start-up.house
Polecane lektury:
Rola Product Designera w cyklu życia produktu
Czym jest Quality Assurance (QA) w IT?
Jak śledzenie błędów i monitoring aplikacji może zaoszczędzić czas w rozwoju oprogramowania
Security Testing: strażnik ochrony oprogramowania
Configuration Control: choreograf zmian w systemie
Test Infrastructure: fundamenty wysokiej jakości oprogramowania
Jaka jest różnica między Quality Assurance a Quality Control?
Digital Transformation Strategy for Siemens Finance
Cloud-based platform for Siemens Financial Services in Poland


Może Ci się również spodobać...

Czym jest zapewnianie jakości (QA) w IT?
Zapewnienie jakości (QA) odgrywa kluczową rolę w rozwoju oprogramowania, zapobiegając błędom i utrzymując wysoką jakość produktu. Dzięki wdrożeniu skutecznych procesów QA firmy mogą obniżać koszty, zapewniać kompatybilność produktu i chronić swoją reputację. Poznaj znaczenie i korzyści QA w rozwoju oprogramowania.
Alexander Stasiak
13 sty 2020・4 min czytania

Co to jest Ruby on Rails?
Ruby on Rails to otwartoźródłowy framework do tworzenia aplikacji internetowych napisany w języku Ruby. Tzw. RoR upraszcza budowę takich aplikacji, generując domyślne struktury dla kodu, bazy danych aplikacji oraz stron internetowych serwowanych do przeglądarki. Programiści uwielbiają go za czytelność, elastyczność i stale rosnące wsparcie społeczności.
Kasia Pryczek
27 sty 2020・5 min czytania

Jak zainstalować Ruby i Ruby on Rails oraz używać RubyGems
Poznaj przewodnik krok po kroku, który pokaże, jak zainstalować i wykorzystać Ruby on Rails do efektywnego tworzenia aplikacji internetowych. Dowiesz się, jak zainstalować i skonfigurować Ruby, zarządzać różnymi wersjami, korzystać z RubyGems i Bundlera oraz stworzyć nowy projekt w Ruby on Rails. Rozpocznij swoją przygodę z tworzeniem aplikacji w Ruby on Rails dzięki temu kompleksowemu przewodnikowi.
Jan Grela
20 mar 2020・6 min czytania
Gotowy, aby scentralizować swoje know-how z pomocą AI?
Rozpocznij nowy rozdział w zarządzaniu wiedzą — gdzie Asystent AI staje się centralnym filarem Twojego cyfrowego wsparcia.
Umów bezpłatną konsultacjęPracuj z zespołem, któremu ufają firmy z czołówki rynku.




