Typowe błędy API i sposoby ich naprawy

Typowe błędy API i sposoby ich naprawy

Typowe błędy API i sposoby ich naprawy

Tworząc dowolne oprogramowanie, czy to witrynę internetową, czy aplikację, należy uwzględnić zapewnienie jakości w cyklu tworzenia oprogramowania. Jeśli zostanie pominięty, istnieje duże prawdopodobieństwo, że wypuszczą instancje z błędami, które z pewnością zepsują wrażenia użytkownika końcowego.

Żaden interesariusz nigdy nie chciałby, aby tak się stało. Dlatego testowanie pozostaje na straży udanych wydań i zapewnia pozytywną reakcję na dodawane funkcje. Wiąże się to z najczęstszymi scenariuszami przypadków użycia, aby sprawdzić, czy przepływy działają zgodnie z oczekiwaniami, zanim jakikolwiek z Twoich prawdziwych klientów będzie miał okazję to sprawdzić.

Rozważając, jakie testy należy uwzględnić w zestawie pokrycia, zwróć uwagę na testowanie interfejsu API, ponieważ jest to jeden z najważniejszych i najczęściej używanych typów. API (interfejsy programowania aplikacji) są obecne w każdej aplikacji i odpowiadają za prawidłową komunikację między kilkoma systemami oprogramowania. Główne funkcje interfejsów API obejmują określanie żądań danych, które mogą być przesyłane, oraz warunków przetwarzania tych żądań. 

Na przykład użytkownik chce dodać jakiś przedmiot do koszyka, naciska odpowiedni przycisk, który uruchamia żądanie API, otrzymuje odpowiedź, a koszyk jest aktualizowany. Jeśli to żądanie się nie powiedzie, funkcja „dodaj do koszyka” zostanie przerwana.

W ten sposób problemy z API mogą wpłynąć na biznes, dodając jeszcze jeden ważny czynnik, dla którego każdy powinien je odpowiednio przetestować. Aby włączyć te testy, należy zacząć od odpowiednich narzędzi do testowania API automatyzacji, aby upewnić się, że nie przemknie przez nie żaden błąd.

Błędy API mogą być różne, a tutaj powiemy więcej o 5 najpopularniejszych: 

Nieprawidłowa metoda HTTP

Najprostszym, ale szeroko rozpowszechnionym błędem API jest nieprawidłowa metoda HTTP. Często przyczyną problemu są luki w dokumentacji. Jednym z przykładów może być wysłanie żądania GET określającego opcję danych, ale pomiń wzmiankę o parametrze -X GET. W rezultacie zostaje automatycznie przekonwertowany na żądanie POST. Również problemy z metodami HTTP mogą wystąpić podczas przełączania narzędzi API, ponieważ niektóre z nich mogą wykorzystywać jedną metodę tworzenia środowisk testowych i ich modyfikowania, podczas gdy inne używają oddzielnych sposobów dla tych działań. Dlatego ważne jest, aby dokładnie sprawdzić te niuanse, a także konsekwentnie podchodzić do pisania własnej dokumentacji. 

Używanie niewłaściwego protokołu

Innym częstym błędem są rozbieżności między protokołami https:// i http://. Niektóre interfejsy API mogą obsługiwać tylko jeden z protokołów, powiedzmy http, więc podanie https:// w takim przypadku doprowadzi do nieprawidłowego przetwarzania żądań. Nawet jeśli oba są obsługiwane, mogą wystąpić problemy z przekierowaniem na https:// po określeniu http://. Taka sytuacja może mieć również miejsce, gdy dostawcy zewnętrznych interfejsów API, z których zamierzasz korzystać, dokonają pewnych zmian i nie wyślą o tym powiadomienia. Dlatego lepiej od czasu do czasu sprawdzać te aspekty. Do tworzenia własnego API lepiej użyć protokołu https://. Aby było to możliwe, wymagane jest zainstalowanie certyfikatu SSLdo gospodarza. Jakiś czas temu certyfikaty SSL były trochę drogie, więc można było mieć co do tego wątpliwości, ale z darmowymi dostawcami, takimi jak Letsencrypt czy Cloudflare, staje się to łatwiejsze niż kiedykolwiek.

Brak znaczących komunikatów o błędach

Jeśli kiedykolwiek napotkałeś „ nieoczekiwany błąd API ””, wiesz, jak to może być denerwujące. Zwykle komunikaty o błędach mają ułatwić programistom rozwiązywanie problemów, wskazując dokładną przyczynę błędu lub przynajmniej gdzie go szukać. Niestety, takie nieinformacyjne błędy mogą skutkować godzinami straconego czasu, wydłużyć czas potrzebny na rozwiązanie błędu, a w konsekwencji spowodować większy skok w otrzymywanych negatywnych opiniach, dlatego lepiej poświęcić trochę więcej czasu na opisanie potencjału błędy i dostarczanie wiadomości informacyjnych dla tych, którzy będą musieli je rozwiązać. Chociaż istnieje kilkadziesiąt kodów błędów HTTP, nie jest wymagane używanie ich wszystkich, ale zachowaj standardowe kody błędów (200,400 i 500) i rozważ włączenie podpowiedzi do wiadomości, aby nawet w przypadku, gdy coś nie działa,

Problem z autoryzacją

Mogłoby się wydawać, że tutaj wszystko jest jasne, ponieważ błędna autoryzacja zwykle zakłada, że ​​nazwa użytkownika lub hasło są nieprawidłowe, ale w rzeczywistości nawet pomylenie „autoryzacji” z „uwierzytelnianiem” w nagłówkach powoduje błąd. Jest to szczególnie ważne w przypadku korzystania z protokołu OAuth 2. Również składnia ma znaczenie, ponieważ niektóre proste, ale mniej oczywiste rzeczy mogą powodować zamieszanie. W większości przypadków są to token okaziciela, spacja w prefiksie „Basic ”, brakująca, aby dodać ten prefiks w całości i tracąc dwukropek w parze „nazwa użytkownika: hasło”. Nawet jeśli nazwa użytkownika jest używana sama w niektórych interfejsach API, które nie wymagają hasła, nadal będziesz musiał użyć tego dwukropka.

Nie można określić nagłówków Content-Type i Accept

Niektóre interfejsy API są odporne na żądania, w których nagłówki nie zawierają nagłówka Content-Type ani Accept, ale odpowiadają dozwolonemu formatowi danych. Inni są bardziej skrupulatni i nie przepuszczą prośby przez podanie kodu błędu 403 Odmowa uprawnień. Na tym etapie nawiązywana jest interakcja między klientem a serwerem dotycząca oczekiwanego typu danych w żądaniu i odpowiedzi. To sprawdzanie nagłówków jest zaimplementowane w celu zmniejszenia ryzyka naruszeń bezpieczeństwa i ogólnych prób włamań, dlatego lepiej określić te nagłówki, aby uniknąć problemów podczas użytkowania.

Zakończyć

Wykonywanie testów API wraz z innymi typami testów, w tym regresją, testem dymu i oczywiście testami jednostkowymi podczas sprintów programistycznych, pomoże szybciej wydać oprogramowanie. Logika stojąca za tym jest prosta: im szybciej zauważysz błąd, usterkę lub niezgodność z wymaganiami biznesowymi, tym łatwiej jest to naprawić. W rezultacie zapewnij najwyższej jakości wrażenia użytkownikom końcowym, którzy będą mogli cieszyć się interakcją z Twoim oprogramowaniem bez nieoczekiwanych błędów w procesie, przynosząc w ten sposób większe zyski Twojej firmie. 


Imbir 2.7.53.0

Imbir 2.7.53.0

Ginger to darmowy moduł do sprawdzania pisowni i gramatyki.

Bloki

Bloki

Blocks to intelektualna gra przeznaczona dla uczniów klas trzecich szkół podstawowych, służąca ćwiczeniu umiejętności wykrywania i wzroku. Nauczyciele objęli ją programem wspierania nauczania informatyki.

Prezi 6.26

Prezi 6.26

Prezi to darmowa aplikacja, która umożliwia tworzenie cyfrowych prezentacji, zarówno online, jak i offline.

Mathway

Mathway

Mathway to bardzo przydatna aplikacja, która pomoże Ci rozwiązać wszystkie problemy matematyczne, które wymagają bardziej złożonego narzędzia niż kalkulator wbudowany w Twoje urządzenie.

Prezenter Adobe

Prezenter Adobe

Adobe Presenter to oprogramowanie do e-learningu wydane przez firmę Adobe Systems, dostępne na platformie Microsoft Windows jako wtyczka Microsoft PowerPoint.

Tukan 2.3.0

Tukan 2.3.0

Toucan to edukacyjna platforma technologiczna. Pozwala nauczyć się nowego języka podczas przeglądania popularnych, codziennych stron internetowych.

ENetViet 24.2

ENetViet 24.2

eNetViet to aplikacja, która pomaga rodzicom połączyć się ze szkołą, w której uczą się ich dzieci, aby mogli lepiej zrozumieć aktualną sytuację edukacyjną swojego dziecka.

Duolingo

Duolingo

Duolingo - Ucz się języków za darmo, czyli po prostu Duolingo, to program edukacyjny, który pozwala uczyć się i ćwiczyć wiele różnych języków.

Szybkie pisanie

Szybkie pisanie

RapidTyping to wygodne i łatwe w użyciu narzędzie do nauki obsługi klawiatury, które pomoże Ci poprawić szybkość pisania i zmniejszyć liczbę błędów ortograficznych. Dzięki lekcjom zorganizowanym na wielu różnych poziomach RapidTyping nauczy Cię, jak pisać na klawiaturze lub doskonalić istniejące umiejętności.

Typ matematyczny 7.4.10.53

Typ matematyczny 7.4.10.53

MathType to interaktywne oprogramowanie do równań opracowane przez projektanta Design Science (Dessci), które umożliwia tworzenie i dodawanie adnotacji do notacji matematycznej na potrzeby przetwarzania tekstu, prezentacji, e-learningu itp. Ten edytor jest również używany do tworzenia dokumentów TeX, LaTeX i MathML.