api testing tutorial
Bu Derinlemesine API Testi Eğitimi, API Testi, Web Hizmetleri ve Kuruluşunuzda API Testinin Nasıl Uygulanacağı Hakkında Her şeyi Açıklar:
Bu giriş eğitiminden, sola kayma testi ve web hizmetleri konseptiyle birlikte API Testi hakkında derin bir fikir edinin.
Web API, API'nin nasıl çalıştığı (gerçek dünya örneğiyle) ve Web Hizmetlerinden nasıl farklı olduğu gibi kavramlar, bu eğitimde örneklerle iyi bir şekilde açıklanmıştır.
=>AŞAĞI KAYDIRYeni Başlayanlar için 5 Derinlemesine API Testi Öğreticisinin tam listesini görmek için
Ne öğreneceksin:
- API Testi Öğreticilerinin Listesi
- Bu API Test Serisindeki Öğreticilere Genel Bakış
- API Testi Eğitimi
- Kuruluşunuzda API Testine Giriş
- Sonuç
API Testi Öğreticilerinin Listesi
Öğretici 1: API Testi Eğitimi: Yeni Başlayanlar İçin Tam Bir Kılavuz
Öğretici # 2: Web Hizmetleri Eğitimi: Bileşenler, Mimari, Türler ve Örnekler
Öğretici 3: En İyi 35 ASP.Net ve Web API Mülakat Sorusu ve Cevapları
Eğitim 4: POSTMAN Eğitimi: POSTMAN Kullanarak API Testi
Öğretici 5: Apache HTTP İstemcisi Kullanarak Web Hizmetleri Testi
Bu API Test Serisindeki Öğreticilere Genel Bakış
Eğitici # | Ne öğreneceksin | |
---|---|---|
LoadFocus | Kullanıcı sayısına ve plan türlerine göre | * API yük testi için kullanılabilir - bir API'nin destekleyebileceği kullanıcı sayısını bulmak için birkaç test yapılmasına izin verir. * Kullanımı basit - tarayıcı içinde testlerin çalıştırılmasına izin verir. |
Eğitim_ 1: | API Testi Eğitimi: Yeni Başlayanlar İçin Tam Bir Kılavuz Bu Derinlemesine API Testi eğiticisi, API Testi ve Web Hizmetleri hakkında her şeyi ayrıntılı olarak açıklayacak ve ayrıca kuruluşunuzda API Testini nasıl tanıtacağınız konusunda sizi eğitecektir. | |
Eğitim_ 2: | Web Hizmetleri Eğitimi: Bileşenler, Mimari, Türler ve Örnekler Bu Web Hizmetleri öğreticisi, Web Hizmetlerinin Mimarisini, Türlerini ve Bileşenlerini, Önemli Terminolojiler ve SOAP ile REST arasındaki Farkları açıklamaktadır. | |
Eğitim_ 3: | En İyi 35 ASP.Net ve Web API Mülakat Sorusu ve Cevapları Yeni başlayanlar ve deneyimli profesyoneller için en popüler sık sorulan ASP.Net ve Web API Mülakat Sorularının listesini bu öğreticide yeni başlayanlar ve deneyimli profesyoneller için cevaplar ve örneklerle birlikte keşfedebilirsiniz. | |
Öğretici_ # 4: | POSTMAN Eğitimi: POSTMAN Kullanarak API Testi Bu adım adım öğretici, kolay anlamanız için basit terimlerle POSTMAN Kullanarak API Testini, POSTMAN Temelleri, Bileşenleri ve Örnek İstek ve Yanıtı açıklayacaktır. | |
Eğitim_ 5: | Apache HTTP İstemcisi Kullanarak Web Hizmetleri Testi Bu API Eğitimi, Web Hizmetlerinde çeşitli CRUD İşlemleri gerçekleştirme ve Apache HTTP İstemcisi kullanarak Web Hizmetlerini Test Etme hakkındadır. |
API Testi Eğitimi
Bu bölüm, Web Hizmetleri ve Web API'si hakkında temel bir anlayış edinmenize yardımcı olacak ve bu da, bu API Testi serisindeki gelecek öğreticilerdeki ana kavramları anlamanıza yardımcı olacaktır.
API (Uygulama Programlama Arayüzü), işletim sisteminin veya platformların verilerine veya özelliklerine erişerek bir uygulama oluşturmamıza izin veren tüm prosedürler ve işlevler kümesidir. Bu tür prosedürlerin test edilmesi API Testi olarak bilinir.
Sola Kaydırma Testi
Günümüzde API Test Görüşmelerinde sorulan önemli test türlerinden biri Sol Kaydırma Testi'dir. Bu tür testler, Agile Metodolojisini izleyen hemen hemen tüm projelerde uygulanır.
Shift Left Testi tanıtılmadan önce, yazılım testi ancak kodlama tamamlandıktan ve kod test uzmanlarına teslim edildikten sonra ortaya çıktı. Bu uygulama, son dakika telaşının son teslim tarihini karşılamasına yol açmış ve ürün kalitesini de büyük ölçüde engellemiştir.
Bunun dışında, geliştiricilerin hem tasarım hem de kodlama aşamasından baştan tekrar geçmek zorunda kalması nedeniyle (üretimden önceki son aşamada hatalar bildirildiğinde) gösterilen çabalar çok büyüktü.
Sol Vites Değiştirme Testinden Önce Yazılım Geliştirme Yaşam Döngüsü (SDLC)
Geleneksel SDLC akışı şöyleydi: Gereksinim -> Tasarım -> Kodlama -> Test.
Geleneksel Testin Dezavantajları
- Test son derece sağdadır. Son dakikada bir hata tespit edildiğinde çok fazla maliyet oluşur.
- Hatayı çözmek ve onu üretime yükseltmeden önce yeniden test etmek için harcanan zaman çok büyük.
Bu nedenle, test aşamasını sola kaydırmak için yeni bir fikir ortaya çıktı ve bu da Sola Kaydırma Testi'ne yol açtı.
Önerilen Okuma => Sola Kaydırma Testi: Yazılım Başarısı İçin Gizli Bir Mantra
Sol Vites Değiştirme Testinin Aşamaları
Sol Kaydırma Testi, Kusur Algılamadan Kusur Önlemeye başarılı bir geçiş sağlamıştır. Ayrıca, yazılımın hızlı bir şekilde arızalanmasına ve tüm arızaları en erken zamanda gidermesine yardımcı oldu.
Web API
Genel anlamda, bir Web API, isteği bir istemci sistemden bir web sunucusuna götüren ve yanıtı bir web sunucusundan bir istemci makineye geri gönderen bir şey olarak tanımlanabilir.
API Nasıl Çalışır?
Birden çok havayolundan gelen bilgileri toplayan çevrimiçi bir seyahat hizmeti olan www.makemytrip.com'da çok yaygın bir uçuş rezervasyonu senaryosunu ele alalım. Bir uçuş rezervasyonu için gittiğinizde, yolculuk tarihi / dönüş tarihi, sınıf vb. Bilgileri girip aramayı tıklarsınız.
Bu size birden fazla havayolunun fiyatını ve uygunluk durumunu gösterecektir. Bu durumda, uygulama birden çok havayolunun API'leri ile etkileşime girer ve böylece havayolunun verilerine erişim sağlar.
Başka bir örnek, belirli bir şehirdeki farklı otellerin fiyatını, kullanılabilirliğini vb. Karşılaştıran ve listeleyen www.trivago.com'dur. Bu web sitesi, veritabanına erişmek için birden fazla otelin API'leri ile iletişim kurar ve web sitelerinden fiyatları ve müsaitlik durumunu listeler.
Bu nedenle, bir Web API, 'bir istemci makine ile web sunucusu arasındaki iletişimi kolaylaştıran bir arayüz' olarak tanımlanabilir.
Ağ hizmetleri
Web Servisleri (Web API gibi) bir makineden diğerine hizmet veren servislerdir. Ancak API ve Web Hizmetleri arasında ortaya çıkan en büyük fark, Web Hizmetlerinin bir ağ kullanmasıdır.
Tüm Web Hizmetlerinin Web API'leri olduğunu ancak tüm Web API'lerin Web Hizmetleri olmadığını söylemek güvenlidir (makalenin sonraki bölümünde açıklanmıştır). Dolayısıyla, Web Hizmetleri, Web API'nin bir alt kümesidir. Web API ve Web Hizmetleri hakkında daha fazla bilgi edinmek için aşağıdaki şemaya bakın.
Web API ve Web Hizmetleri
Web Hizmetleri ve Web API'si
İstemci ile sunucu arasındaki iletişimi kolaylaştırmak için hem Web API hem de Web Hizmetleri kullanılır. En büyük fark yalnızca iletişim biçimlerinde ortaya çıkıyor.
Her biri, belirli bir dilde kabul edilebilir bir istek gövdesi, güvenli bir bağlantı sağlama konusundaki farklılıkları, sunucuyla iletişim hızları ve istemciye yanıt verme, vb. Gerektirir.
Web Hizmetleri ve Web API Arasındaki Farklar referansınız için aşağıda listelenmiştir.
İnternet servisi
- Web Hizmetleri genellikle XML (Extensible Markup Language) kullanır, bu da daha güvenli oldukları anlamına gelir.
- Veri aktarımı sırasında hem Web Hizmetleri hem de API'ler SSL (Güvenli Yuva Katmanı) sağladığından Web Hizmetleri daha güvenlidir, ancak WSS (Web Hizmetleri Güvenliği) de sağlar.
- Web Hizmeti, Web API'nin bir alt kümesidir. Örneğin, Web Hizmetleri yalnızca üç kullanım tarzına dayanmaktadır, yani SABUN, DİNLENME ve XML-RPC.
- Web Servislerinin çalışması için her zaman bir ağa ihtiyacı vardır.
- Web Hizmetleri, 'Tek Kod farklı uygulamaları' destekler. Bu, farklı uygulamalara daha genel bir kodun yazıldığı anlamına gelir.
Web API
- Bir Web API'si genellikle JSON (JavaScript Object Notation) kullanır, bu da Web API'nin daha hızlı olduğu anlamına gelir.
- JSON, XML'den farklı olarak hafif ağırlıklı olduğundan Web API daha hızlıdır.
- Web API'leri, Web Hizmetlerinin üst kümesidir. Örneğin, Web Hizmetlerinin her üç stili de Web API'de mevcuttur, ancak bunun dışında JSON - RPC gibi diğer stilleri kullanır.
- Web API, çalışmak için mutlaka bir ağ gerektirmez.
- Web API, sistemin veya uygulamanın yapısına bağlı olarak birlikte çalışabilirliği destekleyebilir veya desteklemeyebilir.
Kuruluşunuzda API Testine Giriş
Günlük yaşamımızda, hepimiz Uygulamalar ile API'larla etkileşim kurmaya çok alışkınız ve yine de temeldeki işlevselliği yönlendiren arka uç süreçlerini düşünmüyoruz bile.
Örneğin, Amazon.com'daki ürünlere göz attığınızı ve gerçekten beğendiğiniz ve Facebook ağınızla paylaşmak istediğiniz bir ürün / fırsat gördüğünüzü düşünelim.
Sayfanın paylaşım bölümündeki Facebook simgesine tıkladığınız ve paylaşmak için Facebook hesabı kimlik bilgilerinizi girdiğiniz an, Amazon web sitesini Facebook'a sorunsuz bir şekilde bağlayan bir API ile etkileşime giriyorsunuz.
API Testine Odaklanma
API testi hakkında daha fazla tartışmadan önce, API tabanlı uygulamaların son zamanlarda popülerlik kazanmasının nedenlerini tartışalım.
Kuruluşların API tabanlı ürünlere ve uygulamalara geçiş yapmasının birkaç nedeni vardır. Ve bunlardan birkaçı referansınız için aşağıda listelenmiştir.
# 1) API tabanlı uygulamalar, geleneksel uygulamalara / yazılıma kıyasla daha ölçeklenebilir. Kod geliştirme hızı daha hızlıdır ve aynı API, herhangi bir büyük kod veya altyapı değişikliği olmaksızın daha fazla isteğe hizmet verebilir.
#iki) Geliştirme ekiplerinin, bir özellik veya uygulama geliştirmek için her çalışmaya başladıklarında sıfırdan kodlamaya başlamaları gerekmez. API'ler genellikle mevcut, tekrarlanabilir işlevleri, kitaplıkları, depolanan prosedürleri vb. Yeniden kullanır ve bu nedenle bu süreç onları genel olarak daha üretken hale getirebilir.
Örneğin, Bir e-ticaret web sitesinde çalışan bir geliştiriciyseniz ve Amazon'u bir ödeme işlemcisi olarak eklemek istiyorsanız, kodu sıfırdan yazmanız gerekmez.
Tek yapmanız gereken, Entegrasyon anahtarlarını kullanarak web siteniz ile Amazon API arasında entegrasyonu kurmak ve ödeme sırasında ödemeleri işlemek için Amazon API'yi aramaktır.
# 3) API'ler, hem desteklenen bağımsız uygulamalar hem de API tabanlı yazılım ürünleri için diğer sistemlerle kolay entegrasyon sağlar.
Örneğin , Toronto'dan New York'a bir gönderi göndermek istediğinizi düşünelim. Çevrimiçi olun, iyi bilinen bir Nakliye veya Lojistik web sitesine gidin ve gerekli bilgileri girin.
Zorunlu bilgileri verdikten sonra, Ücretleri Al düğmesine tıkladığınızda - arka uçta, bu lojistik web sitesi, başlangıçtan varış noktasına kadar dinamik oranları almak için çeşitli taşıyıcı ve hizmet sağlayıcı API'leri ve uygulamaları ile bağlantı kuruyor olabilir.
çift bağlantılı liste sınıfı c ++
API Testinin Tam Spektrumu
API'lerin test edilmesi, API'ye bir istek göndermek ve yanıtı yalnızca doğruluk açısından analiz etmekle sınırlı değildir. API'lerin, güvenlik açıkları için farklı yükler altında performansları için test edilmesi gerekir.
Bunu ayrıntılı olarak tartışalım.
(i) İşlevsel Test
Bir GUI arayüzünün olmaması nedeniyle fonksiyonel testler zor bir görev olabilir.
Bakalım nasıl fonksiyonel test yaklaşımı API'ler için GUI tabanlı uygulamadan farklıdır ve bunun etrafında bazı örnekleri de tartışacağız.
için) En belirgin fark, etkileşime girecek GUI olmamasıdır. Genellikle GUI tabanlı işlevsel test yapan testçiler, GUI dışı uygulama testine geçmeyi, zaten aşina olan birine kıyasla biraz daha zor buluyor.
Başlangıçta, API'yi test etmeye başlamadan önce bile Kimlik Doğrulama işleminin kendisini test etmeniz ve doğrulamanız gerekir. Kimlik doğrulama yöntemi, bir API'den diğerine değişiklik gösterir ve kimlik doğrulama için bir tür anahtar veya belirteç içerir.
API'ye başarılı bir şekilde bağlanamazsanız, daha fazla test devam edemez. Bu işlem, oturum açmak ve uygulamayı kullanmak için geçerli kimlik bilgilerine ihtiyaç duyduğunuz standart uygulamalardaki kullanıcı kimlik doğrulaması ile karşılaştırılabilir olarak kabul edilebilir.
b) API'lerin test edilmesi sırasında alan doğrulamalarının veya giriş verilerinin doğrulanmasının test edilmesi çok önemlidir. Gerçek bir forma dayalı (GUI) arayüz mevcutsa, alan doğrulamaları ön uçta veya arka uçta uygulanabilir ve böylece bir kullanıcının geçersiz alan değerleri girmesine izin verilmemesi sağlanır.
Örneğin, Bir başvuru tarih formatının GG / AA / YYYY olmasını gerektiriyorsa, bu doğrulamayı, başvurunun geçerli bir tarih aldığından ve işlediğinden emin olmak için bilgi toplayan forma uygulayabiliriz.
Ancak bu, API uygulamaları için aynı değildir. API'nin iyi yazıldığından ve tüm bu doğrulamaları uygulayabildiğinden, geçerli ve geçersiz veriler arasında ayrım yapabildiğinden ve bir yanıt yoluyla durum kodunu ve doğrulama hata mesajını son kullanıcıya döndürdüğünden emin olmamız gerekir.
c) API'den gelen yanıtların doğruluğunu geçerli ve geçersiz yanıt için test etmek gerçekten çok önemlidir. Test API'sinden bir yanıt olarak 200 durum kodu (tümü Tamam anlamına gelir) alınırsa, ancak yanıt metni bir hatayla karşılaşıldığını söylüyorsa, bu bir kusurdur.
Ek olarak, hata mesajının kendisi yanlışsa, bu API ile entegre olmaya çalışan son müşteri için bu çok yanıltıcı olabilir.
Aşağıdaki ekran görüntüsünde kullanıcı, kabul edilebilir 2267 Kg'dan daha fazla olan geçersiz ağırlık girdi. API, hata durum kodu ve hata mesajı ile yanıt verir. Bununla birlikte, hata mesajı ağırlık birimlerini KG yerine lbs olarak yanlış belirtir. Bu, son müşterinin kafasını karıştırabilecek bir kusurdur.
(ii) Yük ve Performans Testi
API'lerin tasarım gereği ölçeklenebilir olması amaçlanmıştır.
Bu da Load yapar ve Performans testi Özellikle tasarlanmakta olan sistemin ihtiyaca bağlı olarak dakikada veya saatte binlerce isteğe hizmet vermesi bekleniyorsa önemlidir. API üzerinde rutin olarak Yük ve Performans Testleri gerçekleştirmek, performansın, en yüksek yüklerin ve kırılma noktasının karşılaştırılmasına yardımcı olabilir.
Bu veriler, bir uygulamayı büyütmeyi planlarken kullanışlıdır. Bu bilgilerin mevcut olması, özellikle kuruluş daha fazla müşteri eklemeyi planlıyorsa, bu da daha fazla gelen talep anlamına gelirse, kararları ve planlamayı desteklemeye yardımcı olacaktır.
json dosyasını açan program
Örneğin Diyelim ki, sağlanan gereksinimlere göre, tasarlanan API'nin saatte en az 500 isteğe hizmet vermesi ve ortalama yanıt süresini 0,01 saniyenin altında tutması gerektiğini biliyoruz.
Yük ve performans testlerimize dayanarak, API'nin saatte 500'den az istek aldığı sürece, ortalama yanıt süresi için SLA'yı koruyabildiğini gördük. Ancak 200 istek daha alırsa ortalama yanıt süresi artar ve gelen istek saatte 1200'ü aştığında kırılma noktasına ulaşılır.
Genellikle, ilk tasarım aşamalarında, vurgunun genellikle API'nin işlevsel yönleri üzerinde olduğu görülür. Zaman geçtikçe, bir ürün birden çok canlı istemciyi desteklemeye başlar, yani API performansı ve Yük testi daha rutin bir şekilde devreye girdiğinde.
(iii) Güvenlik Testi
Uygulama Programlama Arayüzleri veya API'ler savunmasızdır ve verilere erişmek veya bir uygulamanın kontrolünü ele geçirmek isteyen kötü niyetli bilgisayar korsanları için en kolay erişim noktasıdır.
Bu, herhangi bir şirketin, bir güvenlik ihlali nedeniyle istenmeyen kişiler ve / veya kuruluşların müşterinin verilerine saygıdeğer bir API aracılığıyla erişebildiği yasal sorunlara yol açabilir.
Güvenlik testi özel bir test dalıdır ve uzmanlar tarafından ele alınmalıdır. Güvenlik testi kaynakları organizasyon içinden veya bağımsız danışmanlardan olabilir.
Ayrıca okuyun = >> Anlaşma Sözleşmesi Testi nedir
Kuruluşunuzda API Testi Nasıl Uygulanır?
Herhangi bir kuruluşta API testini sunma süreci, diğer herhangi bir test aracı ve çerçevesini uygulamak veya kullanıma sunmak için kullanılan sürece benzer.
Aşağıdaki tablo, her adımın beklenen sonucuyla birlikte ana adımları özetlemektedir.
Evre | Adım | Beklenen sonuç |
---|---|---|
Araç Seçimi | Gereksinimleri toplayın ve kısıtlamaları belirleyin | Uygun API test aracı için pazar araştırması gereksinimlerini anlayın. Örneğin. Ne tür bir API test ediliyor - SOAP veya REST? Bu rol için test uzmanı tutmamız veya mevcut test uzmanını eğitmemiz gerekiyor mu? Ne tür testler yapılacak - işlevsel, performans testleri vb. Uygulama bütçesi nedir? |
Mevcut araçları değerlendirin | Mevcut araçları karşılaştırın ve gereksinimleri en iyi karşılayan 1 veya 2 aracı kısa listeye alın. | |
Kavramın ispatı | Kısa listeye alınmış araçla bir test alt kümesi uygulayın. Bulguları paydaşlara sunun. Uygulanacak aracı tamamlayın. | |
Uygulama | Başlarken | Seçiminize bağlı olarak, gerekli aracı bir PC'ye, Sanal makineye veya sunucuya yüklemeniz gerekmeyecektir. Seçtiğiniz araç abonelik tabanlıysa, gerekli ekip hesaplarını oluşturun. Gerekirse ekibi eğitin. |
Devam et | Testler oluşturun Testleri yürütün Kusurları bildirin |
Yaygın Zorluklar ve Bunları Hafifletmenin Yolları
QA ekiplerinin bir kuruluşta bir API testi çerçevesi uygulamaya çalışırken karşılaştıkları yaygın zorluklardan bazılarını tartışalım.
# 1) Doğru Aracı Seçme
İş için doğru aracı seçmek en yaygın zorluktur. Piyasada bulunan birkaç API test aracı vardır.
Piyasada bulunan en yeni ve en pahalı aracı uygulamak çok çekici görünebilir - ancak istenen sonuçları vermezse, o zaman bu aracın hiçbir faydası olmaz.
Bu nedenle, her zaman kurumsal ihtiyaçlarınıza göre 'sahip olunması gereken' gereksinimleri karşılayan aracı seçin.
İşte mevcut API Araçları için örnek bir araç değerlendirme matrisi
Araç | Fiyatlandırma | Notlar |
---|---|---|
Soap UI | SoapUI Açık Kaynak için mevcut Ücretsiz Sürüm (Fonksiyonel test) | * REST, SOAP ve diğer popüler API ve IoT protokolleri. * Ücretsiz sürüme dahildir SABUN ve REST geçici testi Mesaj Onaylama Sürükle ve Bırak Testi Oluşturma Test Günlükleri Test Yapılandırması Kayıtlardan Test Edin Birim Raporlama. * Özelliklerin tam listesi web sitelerinde bulunabilir. |
Postacı | Ücretsiz Postacı Uygulaması mevcut | * En çok REST için kullanılır. * Özellikler web sitelerinde bulunabilir. |
Parasoft | Ücretli bir araçtır, bir lisans satın almayı gerektirir ve ardından aracın kullanılabilmesi için kurulum gerektirir. | * Kapsamlı API testi: işlevsel, yük, güvenlik testi, test verileri yönetimi |
vREST | Kullanıcı sayısına göre | * Otomatik REST API Testi. * Kaydedin ve tekrar oynatın. * Sahte API'leri kullanarak ön uç ve arka uçtan bağımlılığı kaldırır. * Güçlü Yanıt Doğrulaması. * Localhost / intranet / internet üzerinde dağıtılan test uygulamaları için çalışır. * JIRA Entegrasyonu, Swagger'dan Jenkins Entegrasyon İthalatı, Postacı. |
HttpMaster | Express Edition: İndirmesi ücretsiz Profesyonel sürüm: Kullanıcı sayısına göre | * Web sitesi testinde ve API testinde yardımcı olur. * Diğer özellikler, genel parametreleri tanımlama becerisini içerir ve kullanıcıya, desteklediği geniş doğrulama türleri kümesini kullanarak veri yanıtı doğrulaması için kontroller oluşturma yeteneği sağlar. |
Runscope | Kullanıcı sayısına ve plan türlerine göre | * API'leri izlemek ve test etmek için. * Doğru verilerin döndürüldüğünden emin olmak için veri doğrulama için kullanılabilir. * Herhangi bir API işlemi hatası durumunda izleme ve bildirim özelliği içerir (uygulamanız ödeme doğrulaması gerektiriyorsa, bu araç iyi bir seçim olabilir). |
PingAPI | 1 proje için ücretsiz (1.000 istek) | * Otomatik API Testi ve İzleme için Faydalıdır. |
# 2) Eksik Test Özellikleri
Test uzmanları olarak, bir uygulamayı etkili bir şekilde test etmek için beklenen sonuçları bilmemiz gerekir. Beklenen sonuçları bilmek için net ve kesin gereksinimlere sahip olmamız gerektiğinden bu genellikle bir zorluktur - ki durum böyle değil.
Örneğin , aşağıda verilen gereksinimleri göz önünde bulundurun:
'Başvuru yalnızca geçerli bir gönderim tarihini kabul etmeli ve tüm geçersiz gereksinimler reddedilmelidir'
Bu gereksinimlerde önemli ayrıntılar eksik ve çok belirsiz - geçerli bir tarihi nasıl tanımlıyoruz? Format ne olacak? Son kullanıcıya vb. Herhangi bir ret mesajını iade ediyor muyuz?
Açık Gereksinimlere Örnek:
1) Başvuru yalnızca geçerli bir gönderim tarihini kabul etmelidir.
Gönderim tarihi, eğer öyleyse geçerli kabul edilir
- Geçmişte değil
- Bugünün tarihine eşit veya daha büyük
- Kabul edilebilir formatta: GG / AA / YYYY
2)
Yanıt Durum kodu = 200
Mesaj: Tamam
3) Yukarıdaki kriterleri karşılamayan nakliye tarihi geçersiz kabul edilmelidir. Bir müşteri geçersiz bir gönderim tarihi gönderirse, aşağıdaki hata mesajlarıyla yanıt vermelidir:
3.1
Yanıt Durum kodu NOT 200
Hata: Sağlanan gönderim tarihi geçersiz; lütfen tarihin GG / AA / YYYY biçiminde olduğundan emin olun
3.2
Yanıt Durum kodu NOT 200
Hata: Sağlanan gönderim tarihi geçmişte
# 3) Öğrenme Eğrisi
Daha önce de belirtildiği gibi, API testi yaklaşımı, GUI tabanlı uygulamaları test ederken izlenen yaklaşıma kıyasla farklıdır.
API testi için şirket içinde uzmanlar veya danışmanlar işe alıyorsanız, API testi yaklaşımının veya API test aracının öğrenme eğrisi minimum olabilir. Bu durumda herhangi bir öğrenme eğrisi, ürün veya uygulama bilgisinin edinilmesiyle ilişkilendirilecektir.
Mevcut bir ekip üyesi API testini öğrenmek için atanmışsa, o zaman tercih edilen araca bağlı olarak, test yaklaşımını değiştirmenin yanı sıra öğrenme eğrisi orta ila yüksek olabilir. Ürün veya uygulamanın öğrenme eğrisi, bu test uzmanının o uygulamayı daha önce test edip etmediğine bağlı olarak düşük-orta olabilir.
# 4) Mevcut Beceri Seti
Bu, öğrenme eğrisiyle ilgili önceki noktayla doğrudan bağlantılıdır.
Bir test uzmanı GUI tabanlı testten geçiyorsa, test uzmanının test yaklaşımını değiştirmesi ve yeni aracı veya çerçeveyi gerektiği gibi öğrenmesi gerekir. Örneğin. API, istekleri JSON biçiminde kabul ederse, test yapanın testleri oluşturmaya başlamak için JSON'un ne olduğunu öğrenmesi gerekir.
Vaka Analizi
Görev
Mevcut bir uygulamayı ölçeklendirmek için, bir şirket API'de bir ürün ve standart bir GUI uygulaması sunmak istedi. QA Ekibinden, normal GUI tabanlı testlerin ötesinde API testlerine uyum sağlamaya hazır olduklarından emin olmak için bir Test Kapsama Planı sağlaması istendi.
Zorluklar
- Diğer yazılım ürünlerinin hiçbiri API tabanlı mimariye sahip değildi, bu nedenle bu görev etrafında test yapmak için ekibin API test sürecini sıfırdan kurması gerekiyor. Bu, araçların değerlendirilmesi, kısa listeye alınması, sonuçlandırılması ve ekibin testler için eğitilmesi gerektiği anlamına gelir.
- Aracın edinilmesi ve uygulanması için ayrılan ek bütçe yoktu. Bu, ekibin ücretsiz veya açık kaynaklı bir API test aracı seçmesi gerektiği ve mevcut ekipten birinin bu görevi üstlenmek için eğitilmesi gerektiği anlamına geliyor.
- API alanları ve veri doğrulaması için herhangi bir gereksinim yoktu. Gereksinimler, 'karşılık gelen GUI uygulamasıyla aynı şekilde çalışmalıdır' idi.
Ekibin riskleri azaltmak ve zorlukların etrafında çalışmak için izlediği yaklaşım
- QA ekibi, aşağıdaki gereksinimleri belirlemek için proje ekibiyle birlikte çalıştı:
- API türü (REST / SABUN): DİNLENME
- Gerekli testler (İşlevsel, Yük, Güvenlik): Yalnızca işlevsel test
- Otomatik Testler gerekli (Evet / Hayır): Şimdilik isteğe bağlı
- Test raporları (Evet / Hayır): gereklidir
- QA ekibi, mevcut API test araçları sahip olunması gereken gereksinimlere göre. Postman API Aracı, ücretsiz ve kullanımı kolay olduğu için seçtikleri bir araç olarak son haline getirildi, böylece öğrenme eğrisini en aza indirdi ve testleri otomatikleştirme potansiyeline sahipti ve iyi dahili raporlarla geldi.
- Uygulamayı test eden aynı test uzmanı, Postman'ı kullanarak ilk testleri oluşturmak ve böylece herhangi bir ürün bilgisi eksikliğini ortadan kaldırmak için eğitildi.
- Eksik gereksinimlerle başa çıkmak için proje ekibi Swagger'ı kullanarak üst düzey saha düzeyinde dokümantasyonu oluşturdu. Ancak bu, kabul edilebilir veri formatları açısından bazı boşluklar bıraktı ve bu proje ekibiyle birlikte ele alındı ve beklenen formatlar üzerinde anlaşmaya varıldı ve belgelendi.
Sonuç
API tabanlı uygulamalar son zamanlarda popülerlik kazanmıştır. Bu uygulamalar, geleneksel uygulamalara / yazılıma kıyasla daha ölçeklenebilirdir ve diğer API'ler veya uygulamalarla daha kolay entegrasyon sağlar.
Bu API Testi eğiticisi, API Testi, Sola Kaydırma Testi, Web Hizmetleri ve Web API'si hakkında her şeyi ayrıntılı olarak açıkladı. Ayrıca örneklerle Web Hizmetleri ile Web API arasındaki farkları da inceledik.
Eğiticinin ikinci bölümünde, API Testinin tam spektrumunu, kuruluşunuzda API Testini nasıl başlatacağınızı ve bu süreçteki bazı genel zorlukları ve bunlara yönelik çözümleri tartıştık.
Örneklerle birlikte Web Hizmetleri hakkında daha fazla bilgi edinmek için gelecek öğreticimize göz atın !!
Önerilen Kaynaklar
- Alfa Testi ve Beta Testi (Tam Kılavuz)
- Fonksiyonel Test ve Fonksiyonel Olmayan Test
- Kullanılabilirlik Testi Eğitimi: Tam Bir Başlangıç Kılavuzu
- Derleme Doğrulama Testi (BVT Testi) Tam Kılavuzu
- DevOps Test Eğitimi: DevOps, KG Testini Nasıl Etkileyecek?
- Erişilebilirlik Testi Eğitimi (Adım Adım Eksiksiz Kılavuz)
- En İyi Yazılım Test Araçları 2021 (QA Test Otomasyon Araçları)
- Yazılım Testi Nedir? 100+ Ücretsiz Manuel Test Öğreticisi