Testowanie oprogramowania i QA

Testy manualne i automatyczne produktów na iOS, Androida i web – w ramach projektu, który rozwijamy, albo jako niezależna weryfikacja produktu zbudowanego przez inny zespół. Dostajecie powtarzalne zgłoszenia błędów i jasny obraz tego, co może pójść nie tak przy wydaniu.

Testowanie oprogramowania i QA

Kiedy potrzebujecie zespołu QA

Testy zwracają się, gdy błąd na produkcji kosztuje więcej niż jego wcześniejsze wykrycie. Oto sytuacje, o których słyszymy najczęściej.

Co testujemy

Testy manualne

Inżynierowie QA przechodzą przez produkt krok po kroku zgodnie z wymaganiami i przypadkami testowymi, na prawdziwych urządzeniach i w przeglądarkach. Badają też obszary, których nie obejmuje jeszcze żaden przypadek testowy, tak jak zrobiłby to nowy użytkownik.

Automatyzacja testów

Automatyzujemy kontrole, które muszą przechodzić przy każdym buildzie: rejestrację, płatności, inne kluczowe ścieżki i API. Zestaw testów działa w Waszym pipeline CI/CD i sygnalizuje błędy, zanim wydanie trafi do użytkowników.

Testy wydajnościowe

Mierzymy czasy odpowiedzi i przepustowość pod obciążeniem i znajdujemy punkt, w którym produkt zaczyna zawodzić. Raport wymienia wąskie gardła w kolejności, w jakiej należy je usuwać.

Testy bezpieczeństwa

Sprawdzamy, jak produkt przechowuje i przesyła dane, jak działa logowanie i uprawnienia oraz co ujawniają kod i biblioteki zewnętrzne. Każde znalezisko ma ocenę ryzyka i zalecaną poprawkę.

Kontrole mobilne i sklepowe

Testy na prawdziwych urządzeniach z iOS i Androidem, nie tylko na symulatorach, na wersjach systemów, których faktycznie używają Wasi użytkownicy. Sprawdzamy też buildy pod kątem zasad App Store i Google Play, aby weryfikacja ich nie odrzuciła.

Testy API i integracji

Wasz backend, operatorzy płatności i usługi zewnętrzne są testowane razem, łącznie z przypadkami awarii: przekroczeniami czasu, odrzuconymi płatnościami, niekompletnymi danymi. To właśnie tam zwykle zaczynają się incydenty produkcyjne.

Testy równolegle z rozwojem

Testy równolegle z rozwojem

Testy, które zaczynają się po zakończeniu programowania, wykrywają problemy wtedy, gdy ich naprawa jest najdroższa. W naszych projektach inżynier QA dołącza już na etapie wymagań, pisze przypadki testowe, gdy funkcje powstają, i sprawdza każdy build ze sprintu, a nie tylko ostatni. W dniu wydania zespół wie już, gdzie są słabe punkty. To samo podejście działa, gdy nasi testerzy dołączają do Waszego istniejącego zespołu.

Testy manualne czy automatyczne?

Testy manualne czy automatyczne?

Testy manualne dają osąd: człowiek zauważy, że ścieżka jest technicznie poprawna, ale w praktyce nieużyteczna. Automatyzacja daje powtarzalność: te same sto kontroli po każdym commicie, w nocy, bez zmęczenia. Małe projekty i krótko żyjące funkcje rzadko zwracają koszt pisania testów automatycznych i mówimy o tym wprost, zamiast je sprzedawać. Długo rozwijane produkty z częstymi wydaniami zwracają go szybko, dlatego większość dojrzałych produktów korzysta z obu podejść.

Co dostajecie

Co dostajecie

Wszystko, co przygotowujemy, zostaje w projekcie, więc kolejny tester – nasz lub Wasz – nie zaczyna od zera. Błąd, którego nie da się odtworzyć, nie jest ustaleniem i nie zgłaszamy go jako takiego. Każde wydanie kończy się krótkim raportem o tym, co przetestowano i jakie ryzyka pozostają, więc decyzja o wydaniu należy do Was i jest świadoma.

Jak przebiegają testy

01

Przegląd produktu

Analizujemy wymagania, a gdy brakuje dokumentacji – sam produkt, i uzgadniamy, które platformy, urządzenia i ścieżki są najważniejsze. Dostajecie zakres i plan testów.

02

Przypadki testowe

Piszemy przypadki testowe i checklisty dla uzgodnionego zakresu. Są przechowywane w Waszych narzędziach i zostają w projekcie.

03

Testowanie buildów

Każdy build jest testowany na prawdziwych urządzeniach i w docelowych przeglądarkach. Błędy trafiają do Waszego trackera ze wszystkim, co potrzebne do ich odtworzenia.

04

Automatyzacja tam, gdzie się opłaca

Dla ścieżek sprawdzanych przy każdym buildzie piszemy testy automatyczne i podłączamy je do Waszego pipeline CI. Wyniki widzicie przy każdym commicie.

05

Raport z wydania

Przed każdym wydaniem dostajecie podsumowanie tego, co przetestowano, co naprawiono i jakie ryzyka pozostają.

Platformy i narzędzia

Platformy

Automatyzacja

Wydajność i bezpieczeństwo

Organizacja pracy

Jak możemy współpracować

QA w projekcie, który rozwijamy

Tester jest częścią zespołu od pierwszego sprintu, a testy planujemy razem z programowaniem.

Testy produktu zbudowanego gdzie indziej

Weryfikacja istniejącego produktu lub konkretnego wydania o stałym zakresie: przypadki testowe, zgłoszenia błędów i pisemna ocena jego stanu.

Inżynierowie QA w Waszym zespole

Nasi testerzy pracują w Waszym procesie i Waszym trackerze, rozliczani godzinowo lub jako dedykowany inżynier.

Opinie

Do każdego klienta i jego projektu podchodzimy uważnie.

Najczęściej zadawane pytania

Czy możecie przetestować produkt, którego nie budowaliście?

Tak. Zaczynamy od wymagań, a gdy brakuje dokumentacji – od samego produktu, i na tej podstawie piszemy przypadki testowe. Pierwszym rezultatem jest zwykle lista najpoważniejszych problemów i plan testów dla reszty.

Czy zapewniacie testerów do naszego zespołu?

Tak. Inżynierowie QA mogą pracować w Waszym procesie, Waszym trackerze i zgodnie z Waszym harmonogramem wydań, tak samo jak nasi programiści w modelu rozszerzenia zespołu.

Czy powinniśmy automatyzować testy?

Tylko tam, gdzie testy będą uruchamiane na tyle często, by zwrócić koszt ich napisania i utrzymania. W długo rozwijanym produkcie z częstymi wydaniami oznacza to zwykle kluczowe ścieżki i API. W przypadku prototypu lub krótko żyjącej funkcji testy manualne są tańsze – i powiemy Wam o tym.

Na jakich urządzeniach testujecie?

Na prawdziwych urządzeniach z iOS i Androidem, a także na symulatorach i emulatorach dla szerszego pokrycia wersji systemów, oraz w głównych przeglądarkach desktopowych i mobilnych. Listę urządzeń uzgadniamy na początku na podstawie tego, z czego faktycznie korzystają Wasi użytkownicy.

Czy możecie pomóc po odrzuceniu w App Store lub Google Play?

Tak. Czytamy uwagi z weryfikacji, odtwarzamy problem, sprawdzamy build pod kątem aktualnych wytycznych i mówimy programistom dokładnie, co zmienić. Jeśli to my rozwijamy aplikację, sami ją poprawiamy i ponownie zgłaszamy.

Jak wyceniane są testy?

To zależy od formy współpracy. Jednorazowa weryfikacja produktu lub wydania to zwykle stały zakres; stałe testowanie rozliczamy godzinowo lub jako dedykowanego inżyniera. Po przeglądzie produktu proponujemy formę współpracy i przesyłamy wycenę.

Opowiedzcie nam o swoim projekcie

Opiszcie zadanie w kilku zdaniach. W ciągu jednego dnia roboczego odpowiemy pytaniami lub wstępną oceną zakresu i kosztów.

Wolicie e-mail lub rozmowę telefoniczną?

welcome@revolsource.com
+38 097 662 23 20

Revol Software OÜ, Tallin, Estonia. Nasz zespół jest rozproszony po całym świecie.

Dołączcie do naszego zespołu

Wyślijcie CV na adres career@revolsource.com