Przejdź do treści
BigTree108

Usługi testowania API

Usługi testowania API dla REST, GraphQL, gRPC i systemów sterowanych zdarzeniami: testy funkcjonalne i regresji w Postman, REST Assured oraz w kodzie, testy kontraktowe z Pact, walidacja schematu OpenAPI, testy integracyjne z zamockowanymi usługami zewnętrznymi oraz kontrole bezpieczeństwa i obciążenia API, z dedykowanymi inżynierami testów API w Państwa zespole lub projektami testowania API realizowanymi od początku do końca.

Testy API, które wykonujemy

  • Testy funkcjonalne API

    Każdy endpoint sprawdzany pod kątem kodów statusu, treści odpowiedzi, nagłówków, błędów walidacji, paginacji i uprawnień każdej roli, badany w Postman, Bruno lub Insomnia, gdy API jest nowe.

  • Kolekcje Postman w pipeline

    Kolekcje uporządkowane według funkcji, ze środowiskami, skryptami pre-request i asercjami, uruchamiane przy każdym buildzie przez Postman CLI, a wyniki publikowane obok buildu.

  • Zestawy testów API w kodzie

    REST Assured lub Karate dla zespołów Java, pytest z HTTPX dla Pythona, xUnit z HttpClient dla .NET oraz API żądań Playwright lub SuperTest dla TypeScript, przechowywane obok kodu usługi i recenzowane razem z nim.

  • Testy kontraktowe z Pact

    Kontrakty sterowane przez konsumenta w Pact między frontendami webowymi, aplikacjami mobilnymi i usługami, weryfikowane w buildzie dostawcy i udostępniane przez Pact Broker lub PactFlow, tak aby zmiana łamiąca zgodność powodowała błąd buildu zespołu, który ją wprowadził.

  • OpenAPI i walidacja schematu

    Odpowiedzi walidowane względem definicji OpenAPI lub JSON Schema, specyfikacje sprawdzane lintem Spectral, a Schemathesis generuje żądania ze specyfikacji, aby znaleźć dane wejściowe wywołujące błąd serwera.

  • Testy integracyjne z prawdziwymi zależnościami

    Usługi uruchamiane razem z bazą danych, cache'em i brokerem komunikatów w Testcontainers, dane zasilane dla każdego testu, a cały przepływ sprawdzany przez API zamiast na zamockowanej bazie danych.

  • Mocki i wirtualizacja usług

    Usługi zewnętrzne i niedokończone zastępowane przez WireMock, Mock Service Worker lub Microcks, dzięki czemu testy działają bez sandboxa partnera i obejmują przekroczenia czasu, limity zapytań i odpowiedzi błędów, które trudno wywołać naprawdę.

  • Testy GraphQL, gRPC i komunikatów

    Zapytania i mutacje GraphQL oraz autoryzacja na poziomie pól, usługi gRPC wywoływane przez grpcurl i wygenerowane klienty oraz komunikaty Kafka, RabbitMQ lub Azure Service Bus sprawdzane pod kątem schematu, kolejności i duplikatów.

  • Kontrole bezpieczeństwa i obciążenia API

    Uwierzytelnianie, autoryzacja na poziomie obiektów, walidacja danych wejściowych i limity zapytań sprawdzane względem OWASP API Security Top 10 w każdym przebiegu regresji, a czasy odpowiedzi pod obciążeniem mierzone w k6 przed wydaniem.

Zatrudnienie: inżynierowie testów API

  • Dedykowani inżynierowie testów API

    Inżynierowie testów API dołączają do Państwa zespołu na pełny etat, pracują w Państwa narzędziach i procesie oraz podlegają Państwa liderowi. Państwo przeprowadzają rozmowy kwalifikacyjne, a my bierzemy na siebie ukraińską umowę, wynagrodzenia, fakturowanie i urlopy.

  • Projekty: Testowanie API

    Wydzielona część prac w obszarze „Testowanie API”, z określonym zakresem, stałym planem i wskazanym liderem po naszej stronie, który odpowiada za wynik i raportuje postępy w Państwa kanałach.

  • Stała współpraca: Testowanie API

    Usługa ciągła w obszarze „Testowanie API”: ci sami ludzie co miesiąc, backlog, któremu Państwo ustalają priorytety, oraz godziny widoczne w naszym portalu i na fakturze.

Strona o dedykowanym zespole wyjaśnia, jak specjaliści dołączają do Państwa zespołu, a strona o outsourcingu opisuje realizację projektów, przejęcia i sposób rozliczania.

Kto realizuje Państwa prace w obszarze „Testowanie API”

  • inżynierowie testów API

    Kolekcje, zestawy w kodzie i testy kontraktowe

  • Programiści backend

    Testowalne API, weryfikacja po stronie dostawcy i poprawki

  • Inżynierowie automatyzacji testów

    Frameworki i integracja z CI

  • Inżynierowie wydajności

    Testy obciążeniowe najbardziej obciążonych endpointów

Jak testujemy API

Testy API przejmują większość regresji, bo są szybkie i stabilne: setki kontroli kończą się w kilka minut przy każdym pull requeście, a zestawowi przeglądarkowemu zostają ścieżki wymagające ekranu. Testy są pisane na podstawie specyfikacji i reguł biznesowych, więc wychwytują zarówno pole, które zmieniło znaczenie, jak i takie, które zniknęło.

Każdy test tworzy własne dane przez API i usuwa je po zakończeniu, więc uruchomienia nigdy nie zależą od siebie ani od wspólnej bazy danych, którą ktoś ręcznie zmienił. Dane uwierzytelniające środowisk testowych pochodzą z magazynu sekretów pipeline'u, a nigdy z pliku kolekcji zapisanego w repozytorium.

Pozostałe usługi testowania oprogramowania

Testowanie oprogramowania i QA: przegląd

Pytania o testowanie API

W jakich branżach pracują Państwa inżynierowie testów API?

Głównie fintech i bankowość, gdzie API płatności, księgi i open banking wymagają dowodów dla każdego wydania; e-commerce i marketplace'y, z integracjami katalogu, zamówień i partnerów; produkty SaaS i ERP dla przedsiębiorstw z publicznymi API i wieloma integracjami; ochrona zdrowia, z interfejsami HL7 FHIR między systemami klinicznymi; oraz platformy telekomunikacyjne, chmurowe i logistyczne zbudowane z wielu usług.

Postman czy testy w kodzie?

Jedno i drugie ma swoje miejsce. Postman jest szybki do poznawania nowego API i dzielenia się z zespołem działającymi żądaniami. Gdy API się ustabilizuje, kontrole przechodzą do kodu w języku samej usługi, gdzie są recenzowane w pull requestach, wykorzystują modele usługi i działają razem z testami jednostkowymi.

Co dodają testy kontraktowe?

Testy API sprawdzają, czy usługa zachowuje się tak, jak oczekuje jej własny zespół. Testy kontraktowe sprawdzają, czy nadal daje każdemu konsumentowi to, z czego ten faktycznie korzysta, więc zmieniona nazwa pola lub zmieniony typ powodują błąd buildu dostawcy, zanim zepsują aplikację mobilną lub usługę innego zespołu na produkcji.

Jak szybko mogą zacząć inżynierowie testów API?

Gdy odpowiedni inżynier testów API jest dostępny, o terminie startu decydują wyłącznie Państwa rozmowa oraz NDA i przeniesienie praw własności intelektualnej. W przeciwnym razie prowadzimy poszukiwania, które zwykle dają profile kandydatów w ciągu dwóch do trzech tygodni, a nikt nie zaczyna pracy, dopóki Państwo nie powiedzą „tak”.

Jak wygląda zatrudnienie przez BigTree108: inżynierowie testów API?

Prosimy o informację o zakresie pracy, poziomie doświadczenia i potrzebnych godzinach. Proponujemy jedną lub dwie osoby wraz z ich profilami, Państwo przeprowadzają z nimi rozmowy tak, jak z własnym kandydatem, podpisują jedną umowę z BIG TREE 108 LLC i otrzymują jedną fakturę miesięcznie.

Do kogo należy praca, którą wykonują?

Do Państwa. Każdy specjalista ma podpisaną z BigTree108 umowę, która przenosi wszystkie rezultaty pracy na spółkę, a nasza umowa z Państwem przenosi je dalej. Kod, projekty i dokumenty są przekazywane do Państwa własnych repozytoriów i narzędzi, a nie przechowywane tam, gdzie zmieniać je możemy tylko my.

Potrzebują Państwo przetestować swoje API?

Prosimy o informację o liczbie utrzymywanych usług, o dokumentacji ich API i o tym, kto je wywołuje. Odpowiedź otrzymają Państwo w ciągu jednego dnia roboczego: plan testów, profile kandydatów lub zakres przeglądu Państwa testów API.