2013-02-19 15 views
5

Po utworzeniu przez programistę nowego interfejsu API i wysłaniu go do testera w celu przetestowania, jak powinien rozpocząć się nowy tester API od testowania tego interfejsu API?Co oznacza testowanie API?

To proste pytanie, ale po przeczytaniu wielu artykułów na temat API, jestem całkowicie zdezorientowany.

Czy ktoś może podać prawidłowy sposób zrozumienia, czym jest API, dlaczego jest wymagany, co należy przetestować i jak można je przetestować?

Uwaga: Jestem całkowicie nowy w API i różnią się źle muszą nauczyć API i jego koncepcje w szczegółach

góry dziękuję

Odpowiedz

5

API (Application Programming Interface) to zbiór funkcji oprogramowania i procedury, zwane API, które mogą być wykonywane przez inne aplikacje.

Twórcy aplikacji korzystają z tych łączy do istniejących interfejsów API, aby móc korzystać z ich funkcji.

Podczas testowania interfejsu API przeprowadzany jest test w celu sprawdzenia jego funkcjonalności pod kątem symulacji korzystania z interfejsu API przez aplikacje użytkownika końcowego.

Problemy dla których testerzy spojrzeć na to:

aby sprawdzić wartości brzegowe zmiennych

wartości parametrów dla API powinna być włączona w taki sposób, że mogą zadzwonić z 2 lub więcej parametrów

najważniejszy aby sprawdzić zawartość substancji czynnych i ich ustawienia

mam nadzieję, że przyda ci się to.

8

Istnieje wiele podejść do testowania oprogramowania, a zależność pomiędzy testowaniem a pracą programisty może się bardzo różnić w zależności od zespołu. Podobnie, ile testów na dany API lub komponent zasługuje, to ostatecznie decyzja o czasie/budżecie. W sposób abstrakcyjny, choć niezależnie od procesu SDLC, powiedziałbym, że naprawdę gruntowne testowanie API powinien obejmować co najmniej następujące elementy:

Dokumentacja

dokumentacja API powinna być częścią ostatniej partii, a prawdopodobnie powinien być początkowo napisane przez zespół deweloperski, a nie testowy. Zespół testujący musi upewnić się, że dokumentacja jest odpowiednia (jakie "odpowiednie" środki będą się różnić w zależności od docelowej grupy odbiorców) i zapewnia wystarczające informacje do interakcji z interfejsem API.

testowanie Discovery

Grupa test powinien ręcznie wykonywać zestaw połączeń udokumentowanych w API (np sprawdzeniu, że dany zasób wystawiony przez API mogą być tworzone, liście, zaktualizowane i usunięte odpowiednio). Może się to zdarzyć za pośrednictwem klienta wiersza poleceń (np. cURL dla interfejsu API HTTP), za pośrednictwem biblioteki opakowującej API lub za pomocą lekkiego klienta skryptowego.

Testy użyteczności

Testy użyteczności ocenia, czy API jest funkcjonalny i przyjazny z punktu widzenia klienta (zazwyczaj programista), który będzie go używał, aby zbudować coś. Czy API integruje się dobrze z platformami, do których jest przeznaczony? Czy jest spójny i na rozsądnym poziomie abstrakcji? Zasadniczo, czy to ma sens?

testowania zabezpieczeń

wymogów bezpieczeństwa określonych dla API? Jaki rodzaj uwierzytelnienia jest wymagany i jakie struktury uprawnień mogą mieć zastosowanie? Czy wrażliwe dane są zawsze szyfrowane, przesyłane przez HTTPS lub oba? Czy są sposoby, w jakie ludzie mogą uzyskać dostęp do rzeczy, których nie powinni?

Automatyczne testowanie

Na ogół testowanie API powinny zakończyć się do stworzenia zestawu skryptów lub narzędzia, które można wykorzystać, by ćwiczyć regularnie API i zgłaszania błędów przy minimalnej interwencji człowieka.

+0

Sądzę, że CRUDing, o którym wspomniałeś w testach wykrywania, dotyczy tylko interfejsów API REST. – Renaud