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.
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.
- Użytkownicy zgłaszają błędy, których Wasz zespół nigdy nie widział
- Każde wydanie psuje coś, co wcześniej działało
- Programiści testują własny kod i nikt inny go nie sprawdza
- Weryfikacja w App Store lub Google Play odrzuciła Wasz build
- Zbliża się start i chcecie najpierw niezależnej weryfikacji
- Produkt zwalnia lub przestaje działać, gdy rośnie ruch
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, 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.
- Wymagania sprawdzone pod kątem luk, zanim powstanie kod
- Przypadki testowe gotowe w chwili, gdy gotowa jest funkcja
- Każdy build ze sprintu sprawdzony, nie tylko kandydat do wydania
- Testy regresji przed każdym wydaniem
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ść.
- Manualne: nowe funkcje, użyteczność i produkty, które zmieniają się co tydzień
- Manualne: testy eksploracyjne niejasnych lub ryzykownych obszarów
- Automatyczne: kluczowe ścieżki, które nigdy nie mogą przestać działać, sprawdzane przy każdym buildzie
- Automatyczne: zestawy regresyjne dla produktów z częstymi wydaniami
- Oba: automatyzacja dla stabilnego rdzenia, ludzie dla wszystkiego, co nowe
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.
- Przypadki testowe i checklisty przechowywane w Waszym trackerze lub repozytorium
- Zgłoszenia błędów z krokami, środowiskiem, oczekiwanym i faktycznym wynikiem
- Raport z wydania: co zostało objęte testami i jakie ryzyka pozostają
- Zestaw testów automatycznych z instrukcją uruchomienia, jeśli uzgodniono automatyzację
Jak przebiegają testy
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.
Przypadki testowe
Piszemy przypadki testowe i checklisty dla uzgodnionego zakresu. Są przechowywane w Waszych narzędziach i zostają w projekcie.
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.
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.
Raport z wydania
Przed każdym wydaniem dostajecie podsumowanie tego, co przetestowano, co naprawiono i jakie ryzyka pozostają.
Platformy i narzędzia
Platformy
- iOS
- Android
- Przeglądarki internetowe
- REST API
Automatyzacja
- Playwright
- Selenium
- Appium
- XCUITest
- Espresso
- Postman
Wydajność i bezpieczeństwo
- Apache JMeter
- k6
- OWASP ZAP
Organizacja pracy
- Jira
- TestFlight
- Ścieżki testowe Google Play
- Firebase Crashlytics
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.
Powiązane projekty
Opinie
Zespół Revol stale usprawnia prace rozwojowe klienta dzięki wysokiej jakości pracy i niezawodnemu wsparciu. Sprawnie się komunikuje i doskonale rozumie potrzeby oraz biznes klienta.
Tomas
Praca Revol w pełni spełniła oczekiwania i zadowoliła klienta. Świeże podejście i stała gotowość do wsparcia okazały się ogromnym atutem. Kto szuka komunikatywnego, zorientowanego na klienta zespołu do realizacji swoich celów, może śmiało na nich postawić.
Andrey
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