Testiranje API-ja putem QTP/UFT: Potpuni vodič

⚡ Pametni sažetak

Testiranje API-ja u QTP/UFT Usluga se validira izravno, bez uključivanja korisničkog sučelja. API test se gradi kao tok aktivnosti na platnu, a kontrolne točke odlučuju hoće li svaki odgovor proći.

  • 🔘 Nije uključen GUI: Ulazni podaci se šalju izravno usluzi, a zabilježeni odgovor se uspoređuje s očekivanjima.
  • ☑️ Pet podržanih tipova: Web servis, REST, objektno orijentirani jezik, baza podataka i vlasnički API-ji.
  • Tok aktivnosti, a ne objekti: Povucite HTTP zahtjev iz Toolboxa na tijek testiranja i postavite njegova svojstva.
  • 🧪 Kontrolne točke odlučuju o presudi: Kontrolna točka statusnog koda 200 označava da je poziv uspješan bez ručne provjere.
  • 🛠️ Rezultati na jednom mjestu: Preglednik rezultata izvođenja izvještava o svakoj aktivnosti, njezinom odgovoru i ishodu svake kontrolne točke.
  • 📌 Trenutno imenovanje: QTP plus HP servisni test postao je UFT, sada se prodaje kao OpenText Funkcionalno testiranje (UFT Jedan).

Izrada i pokretanje API testa u QTP i UFT jedan

Prije testiranja API-ja, moramo znati što je API. API (Application Programming Interface - sučelje za programiranje aplikacija) je skup softverskih funkcija i postupaka koje mogu izvršavati druge softverske aplikacije.

Što je API testiranje?

API testiranje je testiranje softvera metoda za validaciju programskih sučelja aplikacija (API-ja). Cilj API testiranja je testirati API u smislu funkcionalnosti, pouzdanosti, sigurnosti i performansi. U API testiranju, softver se koristi za slanje ulaza API-ju, a izlaz se bilježi kako bi se testirao API.

Dakle, testiranje API-ja je:

  • Testiranje bez GUI-ja
  • Programsko simuliranje scenarija podataka ili toka upravljanja.
  • Usredotočite se na funkcionalnost, a ne na ponašanju ili iskustvu kupaca.

Donji dijagram postavlja API testiranje između klijenta koji poziva uslugu i podataka koje dohvati.

Opseg testiranja API-ja između klijentskog sloja i sloja baze podataka

Zašto je API testiranje važno?

API testiranje ima četiri značajne prednosti

1. API testiranje je trend

Kao što sljedeća slika pokazuje, API testiranje je vrlo brzo raslo u posljednjih deset godina. Postalo je daleko popularnije od drugih vrsta testiranja.

Grafikon koji prikazuje rast primjene API testiranja tijekom deset godina

2. Vremenski učinkovit

S API testiranjem možemo koristiti paralelno izvršavanje kako bismo smanjili vrijeme izvršavanja testova. Možete uštedjeti do 5 puta u usporedbi s drugim vrstama testiranja.

3. Jezik neovisno

U API testiranju podaci se razmjenjuju putem XML or JSON, tako da se bilo koji jezik može koristiti za testiranje odgovora. Na primjer, ako imate uslugu čiji je odgovor u JSON formatu, podatke možete jednostavno analizirati pomoću Java, C# ili bilo koji drugi jezik.

4. Jednostavna GUI integracija

Jer UFT GUI testovi i API testovi se drže u istom rješenju, API poziv može postaviti podatke za test korisničkog sučelja i obje vrste testnog izvješća u iste rezultate pokretanja. To drži provjeru usluge i zaslon koji je koristi u jednom projektu umjesto u dva niza alata.

Testiranje API-ja s UFT (Ujedinjeno funkcionalno testiranje)

Dostupni su mnogi alati, i oni otvorenog koda i komercijalni. UFT je snažan izbor za izvršavanje API testova, jer se tijek gradi vizualno, a konfiguracija se čuva u jednom oknu svojstava.

Posljednja verzija od QTP, nazvan HP Unified Funkcionalno ispitivanje (UFT), je kombinacija HP-a QTP (alat za testiranje GUI-ja) i HP Service Test (alat za testiranje API-ja). UFT podržava web, Java, .NET, Oracle, Siebel, web servisi i mnogi drugi glavni jezici i platforme koje starije verzije nisu podržavale.

⚠️ Naziv proizvoda: alat opisan ovdje kao HP UFT sada se prodaje kao OpenText Funkcionalno testiranje (UFT Jedan), nakon što je prešao iz HP-a u Micro Focus, a zatim u OpenTextDonji zasloni potječu iz HP-ove ere, pa se tekst izbornika razlikuje od trenutnih verzija, ali tijek testiranja API-ja, aktivnosti i kontrolne točke funkcioniraju na isti način.

Vrsta podrške za testiranje API-ja od strane HP UFT

  1. Web usluga
  2. OSTALO
  3. Objektno orijentirani jezik
  4. Baza podataka
  5. Vlasnički API

Započnite svoje prvo API testiranje s QTP

U ovom API testiranju u UFT tutorijal, obradit ćemo UFT Primjeri testiranja API-ja. Testirat ćemo Graph API Facebooka. Testirat ćemo API kao Testni slučaj ispod

  1. Dobiti profil navedenog korisnika na Facebooku.
  2. Provjerite je li profil u skladu s očekivanjima

Ovdje je korak za izradu testnog tijeka za ovaj API.

Planski UFT tijek testiranja za testni slučaj Facebook Graph API-ja

⚠️ O ovom primjeru: Facebook je prije nekoliko godina umirovio Graph API v2.3, a token za pristup prikazan u nastavku je odavno istekao, tako da taj poziv više ne vraća podatke. Izvorni zahtjev ostaje nepromijenjen kao i u obradenom primjeru; slijedite iste korake na bilo kojoj trenutnoj REST krajnjoj točki.

Korak 1) Otvorite HP UFT i stvorite novo testiranje API-ja projekta

  1. Odaberite Start > (Svi) programi > HP softver > HP Unified Functional Testing > Unified Functional Testing. U trenutnim izdanjima ovo je jednostavno UFT jedan prečac.

    Windows Putanja izbornika Start do prečaca HP Unified Functional Testing

  2. Kliknite Datoteka > Novo > Test, Odaberite API test vrsta

    UFT Dijalog Dodaj novi test s odabranom vrstom API testa

  3. Kada se otvori dijaloški okvir, unesite naziv API testa: API_Facebooki odaberite lokaciju za spremanje ovog projekta. Kliknite stvoriti za izradu API testnog projekta.

    Imenovanje novog API testa API_Facebook i odabir lokacije za spremanje

Korak 2) Dodavanje HTTP zahtjeva u tijek testiranja

Koristit ćemo HTTP zahtjev za slanje zahtjeva Facebook API-ju.

  1. odabrati Kutija za alat > mreža

    Mrežna grupa proširena u UFT Okno alatne kutije

  2. Povucite element HTTP zahtjev za testiranje protoka.

    Aktivnost HTTP zahtjeva pala je na UFT Platno tijeka testiranja API-ja

Korak 3) Konfigurirajte i proslijedite parametre u HTTP zahtjev

  1. Desnom tipkom miša kliknite HTTP zahtjev objekt za njegovo uređivanje.

    Desni klik izbornika na objektu HTTP zahtjeva u tijeku testiranja

  2. U dijelu Svojstva unesite URL

    Okno Svojstva aktivnosti HTTP Zahtjev s URL polje

    https://graph.facebook.com/v2.3/me?access_token=CAACEdEose0cBANJsDnbZC92mNAghaM6xxZCZBZAvKlMXS98VYvKy%20OlrfAdsUWR8x5aw9Kqc0grscs9zb9IYED4VC3FwapIZBj%20dsuxy%20HdLcff38gYUBFNeRQlH%20fN7eXKoVZBNl0bR233ZAZCw8fLF1QLh98ry2ZBeYBhXLabtTDkFPZA1IqhaMG0mQp30zO1%20QxQ19nVCxZArJA6XRoB1o5FMepII5cn3DgbBmTgZD
  3. Također možete proslijediti parametar u API postavljanjem vrijednosti u Zaglavlje zahtjeva rešetke.

    Mreža zaglavlja zahtjeva koja se koristi za prosljeđivanje dodatnih parametara u API poziv

    Koristite Graph API Explorer Facebooka kako bi se dobila vrijednost access_token.

  4. Postavi HTTP metoda do GET.

    Popis HTTP metoda aktivnosti HTTP zahtjeva postavljen je na GET

    GET odabran kao HTTP metoda za zahtjev

  5. konfigurirati kontrolne točke od HTTP zahtjevPostavite statusni kod na 200 u dijelu Kontrolne točke. Kontrolne točke vam omogućuju da vidite je li radnja bila uspješna bez potrebe za ručnom provjerom rezultata, a na temelju njih se određuje je li test prošao ili ne. Statusni kod 200 znači da je testni slučaj prošao.

    Okno kontrolnih točaka s očekivanim statusnim kodom postavljenim na 200

Korak 4) Pokrenite test

kliknite trčanje gumb ili pritisnite F5, da biste otvorili dijaloški okvir Pokreni test. Kliknite trčanje za kompajliranje i pokretanje testa.

UFT Dijalog Pokreni Test otvoren s gumba Pokreni

Korak 5) Pogledajte rezultat

Otvara se preglednik rezultata izvođenja. U ovom testiranju API-ja pomoću UFT Na primjer, neuspjeli testni slučaj prikazan je kao na sljedećoj slici.

Preglednik rezultata pokretanja prikazuje neuspjeli testni slučaj API-ja

Kada testni slučaj prođe, rezultat se prikazuje kao što je prikazano u nastavku.

Preglednik rezultata pokretanja prikazuje prolaz API testnog slučaja

Vaš prvi API test u UFT je sada dovršeno.

Gdje ići odavde

Sada kada ste naučili kako stvoriti test s API testom u UFT, možete stvoriti vlastiti test za svoju aplikaciju bez grafičkog korisničkog sučelja. Dodavanjem kontrolna točka po odgovoru i grupiping poziva u transakcije su uobičajeni sljedeći koraci.

Pitanja i odgovori

Test GUI-ja pokreće kontrole na zaslonu i pohranjuje ih kao testne objekte. API test je tok aktivnosti na platnu koji šalje zahtjeve izravno usluzi, tako da se ništa ne bilježi iz sučelja.

Ne. API test ima aktivnosti, ulazna i izlazna svojstva i izvore podataka umjesto testnih objekata, tako da ne spremište objekata je uključen. Samo GUI testovi uče objekte i pohranjuju njihove opise.

Uvezite WSDL servisa u test. UFT čita dokument, stvara aktivnost za svaku operaciju koju usluga izlaže i dodaje ih u okno Toolbox kako bi se mogli povući u tijek testiranja kao i bilo koju drugu aktivnost.

Povežite svojstva unosa aktivnosti s izvorom podataka kao što je Excel tablica ili XML datoteka umjesto typing doslovne vrijednosti. Svaki redak zatim proizvodi jednu iteraciju, a preglednik rezultata izvođenja izvještava o ishodu po iteraciji.

Alati potpomognuti umjetnom inteligencijom uspoređuju odgovore u različitim izvedbama kako bi označili pomicanje sheme i nova neuspješna polja te mogu grupirati ponovljene neuspjehe prema vjerojatnom uzroku. To skraćuje trijažu, ali očekivane vrijednosti u svakoj kontrolnoj točki i dalje zahtijevaju ljudsku odluku.

Copilot je koristan za kod oko testa: prilagođenu logiku aktivnosti, parsiranje odgovora i pomoćne funkcije. Ne može izgraditi vizualni tijek testa ili čitati vaše servisne podatke.tract, pa svaki zahtjev i kontrolna točka koje predlaže zahtijevaju provjeru.

SoapUI i Postman lakši su i besplatni za početak. UFT zaslužuje svoje mjesto tamo gdje isti projekt mora pokrivati ​​i korisničko sučelje, budući da jedna licenca i jedan skup rezultata obuhvaćaju oba sloja.

Osim HTTP statusnog koda, API test može provjeriti sadržaj tijela odgovora, pojedinačne vrijednosti zaglavlja i vraćene podatke u usporedbi s očekivanim izvorom. Svaki rezultat kontrolne točke prikazuje se uz zahtjev u pregledniku rezultata izvođenja.

Sažmite ovu objavu uz: