SOA Testi Nedir? Örnekli Öğretici

⚡ Akıllı Özet

SOA Testi, Hizmet Odaklı bir yaklaşımı doğrular. ArchiGevşek bir şekilde birbirine bağlı hizmetlerin bir ağ üzerinden mesaj alışverişinde bulunduğu, her bir hizmetin tek başına, aralarındaki entegrasyonların ve uçtan uca tüm iş akışının kontrol edildiği bir mimari.

  • 🔘 Archidoku: Hizmetler, herhangi bir uygulamanın bağımsız olarak çağırabileceği, bir araya getirebileceği veya değiştirebileceği, yeniden kullanılabilir iş fonksiyonlarıdır.
  • ☑️ Katmanlar: Testler, uygulamanın servis katmanını, işlem katmanını ve tüketici katmanını hedef alır.
  • Seviyeleri: Hizmet seviyesi, arayüz seviyesi ve uçtan uca seviye testleri birlikte ele alındığında, kapsamlı bir incelemeyi kapsar.tracVeri akışı ve iş senaryoları.
  • 🧪 Yöntem: Senaryo tabanlı veri testleri, sahte nesneler, fonksiyonel, güvenlik, performans, entegrasyon ve regresyon kontrolleri her seviyede uygulanır.
  • takım: SoapUIBroadcom Hizmet Sanallaştırması OpenText UFT One ve Parasoft SOAtest, fonksiyonel, sanal ve yük testlerini kapsar.
  • ⚠️ Zorluklar: Eksik arayüzler, çok katmanlı kusur izolasyonu, öngörülemeyen yük ve heterojen teknolojiler planlama maliyetini artırır.

SOA Testi

SOA Testi Nedir?

SOA (Hizmet Odaklı Archi(Teknoloji) Test Etme SOA mimari stilinin test edilmesidir; bu stilde uygulama bileşenleri, genellikle bir ağ üzerinden iletişim protokolleri aracılığıyla iletişim kuracak şekilde tasarlanmıştır.

SOA nedir?

SOA, iş ihtiyaçlarını karşılamak amacıyla iş uygulamalarını ve süreçlerini bir araya getirme yöntemidir.

In Yazılım MühendisliğiSOA, iş süreçlerine çeviklik ve esneklik kazandırır. Bir süreçte veya uygulamada yapılan değişiklik, tüm sistemi etkilemeden belirli bir bileşene yönlendirilebilir.

SOA'da çalışan yazılım geliştiriciler, program parçaları olarak adlandırılan yazılımları ya kendileri geliştirirler ya da satın alırlar. Hizmetler.

Hizmet Nedir?

Aşağıdaki diyagram, çeşitli e-ticaret sitelerinin çağırabileceği bir hizmet olarak yayınlanan bir ödeme ağ geçidini göstermektedir.

Ödeme ağ geçidi, bir e-ticaret uygulaması tarafından çağrılan yeniden kullanılabilir bir SOA hizmeti olarak yayınlanmıştır.

  • Bir hizmet, bir uygulamanın veya iş sürecinin işlevsel bir birimi olabilir ve başka herhangi bir uygulama veya süreç tarafından yeniden kullanılabilir veya tekrarlanabilir. (Örneğin, yukarıdaki resimde, Ödeme Geçidi, herhangi bir e-ticaret sitesi tarafından yeniden kullanılabilen bir hizmettir. Bir ödeme yapılması gerektiğinde, e-ticaret sitesi Ödeme Geçidi hizmetini çağırır veya talep eder. Ödeme geçidinde ödeme tamamlandıktan sonra, e-ticaret web sitesine bir yanıt gönderilir.)
  • Hizmetlerin montajı kolaydır ve bileşenlerin yeniden yapılandırılması kolaydır.
  • Hizmetler yapı taşlarına benzetilebilir. İhtiyaç duyulan her türlü uygulamayı oluşturabilirler ve uygulamaya veya iş sürecine eklenmeleri veya çıkarılmaları kolaydır.
  • Hizmetler, kod parçalarından ziyade gerçekleştirdikleri işlevlerle tanımlanır.

Web Hizmetleri

Çoğu SOA hizmeti web hizmeti olarak sunulur, bu nedenle test katmanlarından önce bir web hizmeti çağrısının mekaniğini ortaya koymak faydalı olacaktır.

Web üzerinden erişilebilen, bağımsız bir uygulama bileşeni olarak işlev gören web servisi.

Web hizmetleri Bunlar, internet üzerinden erişilebilen bağımsız uygulama bileşenleridir.

Bunlar web üzerinde yayınlanabilir, bulunabilir ve kullanılabilir ve internet üzerinden iletişim kurarlar. Aşağıdaki sıralama, bir sağlayıcının, bir kayıt kuruluşunun ve bir tüketicinin nasıl etkileşimde bulunduğunu göstermektedir.

Bir hizmet sağlayıcı, bir web hizmeti kayıt defteri ve bir tüketici arasında yayınlama, bulma ve bağlama dizisi.

  • Hizmet Sağlayıcı hizmeti internette yayınlar.
  • İstemci, Web Servis Kayıt Defteri'nde belirli bir web servisini arar.
  • A URL ve wsdl İstenen web servisi için yanıtlar döndürülür. WSDL ve aşağıdakiler kullanılarak: URLHizmet sağlayıcı ile talep eden arasındaki iletişim SOAP mesajları aracılığıyla gerçekleşir.
  • Bir tüketici bir web hizmetini çağırdığında, sağlayıcıya bir HTTP bağlantısı kurulur.
  • Sağlayıcıya gerekli web servis mantığını çağırması için bir SOAP mesajı oluşturulur.
  • Sağlayıcıdan alınan yanıt, HTTP yanıtına gömülü bir SOAP mesajıdır. Bu HTTP yanıtı, tüketici uygulama tarafından anlaşılabilecek veri biçimindedir.

Örnek E-posta

Aşağıdaki ekran görüntüsü, harici bir hizmet tarafından sağlanan ve bir arama motorunun ana sayfasına yerleştirilmiş bir hava durumu raporunu göstermektedir.

Bir tedarikçiden satın alınan ve web sitesinin ana sayfasına entegre edilen hava durumu raporu hizmeti.

Bir web sitesinin ana sayfası ve bir arama motoru, günlük hava durumu raporunu gösterir. Hava durumu raporu bölümünü sıfırdan kodlamak yerine, bir tedarikçiden hava durumu raporu hizmeti satın alınabilir ve sayfalara entegre edilebilir.

SOA Test Katmanları

SOA çeşitli teknolojilerden oluşur ve SOA kullanılarak oluşturulan uygulamalar, gevşek bir şekilde birbirine bağlı çeşitli hizmetlere sahiptir. Aşağıdaki diyagram, bir test planının kapsaması gereken üç katmanı göstermektedir.

SOA testinde, hizmet katmanı, süreç katmanı ve tüketici katmanı olmak üzere üç katman üst üste yerleştirilmiştir.

SOA testleri 3 sistem katmanına odaklanmalıdır.

Hizmetler Katmanı

Bu katman, bir sistemin iş fonksiyonlarından türetilen ve sunduğu hizmetlerden oluşur.

Örneğin, aşağıdaki unsurlardan oluşan bir Sağlık ve Zindelik Web Sitesini ele alalım:

  • Ağırlık Tracker
  • Kan şekeri Tracker
  • Kan basıncı Tracker

TracKers, ilgili verileri ve girildiği tarihi görüntüler. Servis katmanı, ilgili verileri veritabanından alan servislerden oluşur:

  • Ağırlık TracKer hizmeti
  • Kan şekeri TracKer hizmeti
  • Kan basıncı TracKer hizmeti
  • Giriş Hizmeti

İşlem Katmanı

Süreç katmanı, tek bir işlevselliğin parçası olan hizmetler topluluğu olan süreçlerden oluşur.

Bu süreçler, bir kullanıcı arayüzünün (örneğin, bir arama motoru) veya veritabanından veri çeken bir ETL aracının parçası olabilir.

Bu katmanda asıl odak noktası kullanıcı arayüzleri ve süreçlerdir. Ağırlık ölçümünün kullanıcı arayüzü... tracKer ve onun veritabanıyla entegrasyonu birincil odak noktasıdır.

Aşağıdaki işlevler dikkate alınmalıdır:

  • Yeni veri ekleme
  • Mevcut verileri düzenleme
  • Yeni bir tracker
  • Veri silme

Tüketici Katmanı

Aşağıdaki ekran görüntüsünde de görüldüğü gibi, bu katman esas olarak kullanıcı arayüzlerinden oluşmaktadır.

Sağlık ve zindelik web sitesinin tüketici katmanı kullanıcı arayüzü, altta yatan sistemi çağırır. tracKer hizmetleri

Bu katmanlara dayanarak, bir SOA uygulamasının test edilmesi üç seviyeye ayrılır:

  • Servis seviyesi
  • Arayüz seviyesi
  • Uçtan Uca seviye

İki yaklaşım birbirinden farklıdır: test tasarımı için yukarıdan aşağıya bir yaklaşım kullanılırken, test yürütme için aşağıdan yukarıya bir yaklaşım kullanılır.

SOA Testi Stratejisi

Test Planlama Yaklaşımı

  • SOA test uzmanları, uygulamanın tüm mimarisini anlamalıdır.
  • Uygulama, bağımsız hizmetlere (kendi istek ve yanıt yapısına sahip ve yanıt oluşturmak için başka bir hizmete bağımlı olmayan hizmetler) ayrılmalıdır.
  • Uygulama yapısının üç bileşene ayrılması gerekiyor: veri, hizmetler ve ön uç uygulamalar.
  • Tüm bileşenler dikkatlice analiz edilmeli ve iş senaryoları oluşturulmalıdır.
  • İş senaryoları, genel senaryolar ve uygulamaya özgü senaryolar olarak sınıflandırılmalıdır.
  • A TracYetenek Matrisi hazırlanmalı ve tüm test senaryoları hazırlanmalıdır. traciş senaryolarına uyarlanmıştır.

Test Yürütme Yaklaşımı

  • Her hizmet bileşeni test edilmelidir.
  • Entegrasyon Testi Hizmetler aracılığıyla veri akışını ve veri bütünlüğünü doğrulamak için hizmet bileşenlerinin kontrolleri yapılmalıdır.
  • Sistem Testi Ön uç uygulama ile veritabanı arasındaki veri akışını doğrulamak için modelin tamamının test edilmesi gerekmektedir.
  • Performans testi İnce ayar ve optimum performans için yapılmalıdır.

SOA Test Yöntemleri

1) İş senaryosuna dayalı veri tabanlı test

  • Sisteme ilişkin çeşitli iş yönleri analiz edilmelidir.
  • Senaryolar, uygulamanın çeşitli web servislerinin entegrasyonuna ve web servislerinin uygulamayla entegrasyonuna dayalı olarak geliştirilmelidir.
  • Veri kurulumu yukarıdaki senaryolara göre yapılmalıdır.
  • Veri kurulumu, uçtan uca senaryoları da kapsamalıdır.

2) Taslaklar

  • Hizmetleri test etmek için sahte arayüzler oluşturulur.
  • Bu arayüzler aracılığıyla çeşitli girişler sağlanabilmekte ve çıkışlar doğrulanabilmektedir.
  • Bir uygulama, test altında olmayan harici bir servise (üçüncü taraf servis) arayüz kullanıyorsa, entegrasyon testi sırasında bir "stub" oluşturulabilir.

3) Regresyon testi

  • Gerileme testi Uygulama üzerinde yapılacak değişiklikler, sistemlerin istikrarını ve kullanılabilirliğini sağlamak için birden fazla sürüm olduğunda yapılmalıdır.
  • Uygulamanın önemli bir kısmını oluşturan servisleri kapsayan kapsamlı bir regresyon test paketi oluşturulacaktır.
  • Bu test paketi, projenin birden fazla sürümünde yeniden kullanılabilir.

4) Hizmet Seviyesi Testi

Hizmet seviyesi testleri, bileşenin işlevselliği, güvenliği, performansı ve birlikte çalışabilirliği açısından test edilmesini içerir. Her bir hizmetin öncelikle bağımsız olarak test edilmesi gerekir.

5) Fonksiyonel Test

Fonksiyonel Testler Her bir servis için aşağıdaki işlemler yapılmalıdır:

  • Hizmetin her talebe doğru yanıtı verdiğinden emin olun.
  • Geçersiz veya hatalı veriler içeren istekler için doğru hata mesajlarının alındığından emin olun.
  • Servisin çalışma zamanında gerçekleştirmesi gereken her işlem için her isteği ve yanıtı kontrol edin.
  • Sunucu, istemci veya ağ düzeyinde bir hata oluştuğunda hata mesajlarını doğrulayın.
  • Alınan yanıtların doğru formatta olduğunu doğrulayın.
  • Alınan yanıttaki verilerin, istenen verilerle eşleştiğini doğrulayın.

6) Güvenlik Testi

Web servisinin güvenlik testi, SOA uygulamasının hizmet seviyesi testleri sırasında önemli bir husustur çünkü uygulamanın güvenliğini sağlar.

Test sırasında aşağıdaki faktörlerin göz önünde bulundurulması gerekir:

  • Web hizmeti, WS-Security tarafından tanımlanan sektör standardına uymalıdır.
  • Güvenlik önlemleri kusursuz çalışmalıdır.
  • Verilerin şifrelenmesi ve belgeler üzerinde dijital imzaların oluşturulması.
  • Kimlik doğrulama ve yetkilendirme.
  • SQL enjeksiyonu, kötü amaçlı yazılım, XSS, CSRF ve diğer güvenlik açıkları test edilecek. XML.
  • Hizmet reddi saldırıları.

7) Performans Testi

Hizmetler yeniden kullanılabilir olduğundan ve birden fazla uygulama aynı hizmeti kullanabileceğinden, hizmetin performans testinin yapılması gerekmektedir.

Test sırasında aşağıdaki faktörler dikkate alınır:

  • Hizmetin performansının ve işlevselliğinin ağır yük altında test edilmesi gerekir.
  • Hizmetin performansı, bağımsız olarak çalıştığı durum ve uygulama içinde entegre olarak çalıştığı durum arasında karşılaştırılmalıdır.
  • Yük testi Hizmetin performansını değerlendirmek için yanıt süresini doğrulamak, darboğazları kontrol etmek, CPU ve bellek kullanımını doğrulamak ve ölçeklenebilirliği tahmin etmek amacıyla testler yapılmalıdır.

8) Entegrasyon seviyesi testi

  • Hizmet seviyesi testi, hizmetlerin tek tek düzgün çalışmasını sağlar; ancak birbirine bağlı bileşenlerin çalışmasını garanti etmez.
  • Entegrasyon testleri esas olarak şu konulara odaklanılarak yapılır: arayüzler.
  • Bu aşama olası tüm iş senaryolarını kapsar.
  • Bu aşamada uygulamanın işlevsel olmayan testleri bir kez daha yapılmalıdır. Güvenlik, uyumluluk ve performans testleri, sistemin her açıdan kullanılabilirliğini ve istikrarını sağlar.
  • Hizmetler arasındaki veri iletişiminin tutarlılığını doğrulamak için iletişim ve ağ protokolleri test edilmelidir.

9) Uçtan Uca test

Bu aşama, uygulamanın hem işlevsel hem de işlevsel olmayan yönlerden işletme gereksinimlerine uygun olmasını sağlar.

Aşağıdaki maddelerin test edilmesi sağlanacaktır. uçtan uca test:

  • Entegrasyondan sonra tüm hizmetler beklendiği gibi çalışıyor
  • İstisna işleme
  • Uygulamanın kullanıcı arayüzü
  • Tüm bileşenlerden doğru veri akışı
  • İş süreci

SOA Testinde Karşılaşılan Zorluklar

Bu yöntemlerin uygulanması nadiren kolaydır ve aşağıdaki zorluklar neredeyse her SOA programında tekrarlanır.

  • Hizmetler için arayüz eksikliği.
  • Test süreci birden fazla sistemi kapsadığından karmaşık veri ihtiyaçları ortaya çıkar.
  • Uygulama, sürekli değişme eğiliminde olan çeşitli bileşenlerden oluştuğu için, regresyon testine duyulan ihtiyaç daha sık hale gelir.
  • Çok katmanlı mimari nedeniyle kusurları izole etmek zordur.
  • Bir hizmet farklı arayüzler tarafından kullanıldığı için yükü tahmin etmek zordur, bu da performans testi planlamasını zahmetli hale getirir.
  • SOA, birbirinden farklı teknolojilerin bir araya gelmesinden oluşur. Bir SOA uygulamasının test edilmesi, farklı beceri setlerine sahip kişileri gerektirir; bu da planlama ve uygulama maliyetlerini artırır.
  • Uygulama birden fazla hizmeti entegre ettiğinden, güvenlik testleri de kendine özgü zorluklar içeriyor. Kimlik doğrulama ve yetkilendirmenin doğrulanması zor.

SOA Test Araçları

Piyasada SOA uygulamalarını test etmede test uzmanlarına yardımcı olacak birçok SOA test aracı bulunmaktadır. İşte popüler SOA test araçlarından bazıları.

1) SoapUI

SoapUI Hizmetler için açık kaynaklı bir fonksiyonel test aracıdır ve API testi.

  • Masaüstü uygulaması
  • SOAP, REST, HTTP, JMS, AMF, JDBC gibi birden fazla protokolü destekler.
  • Web servisleri geliştirilebilir, incelenebilir ve çağrılabilir.
  • Yük testi için de kullanılabilir. Otomasyon Testive güvenlik testleri
  • Taslaklar MockServices tarafından oluşturulabilir
  • Web servis istemcisi aracılığıyla web servis istekleri ve testleri otomatik olarak oluşturulabilir.
  • Dahili raporlama araçlarına sahiptir.
  • SmartBear tarafından geliştirilen ve her ikisini de gönderen bir firma. açık kaynak SoapUI dağıtım ve ticari ReadyAPI baskı

2) Broadcom Hizmet Sanallaştırması (eski adıyla iTKO LISA)

LISA, SOA gibi dağıtık sistemler için fonksiyonel test çözümü sağlayan bir ürün paketidir. Ürün, iTKO'dan CA Technologies'e geçti ve bugün Broadcom Service Virtualization olarak satılmaktadır.

  • Ayrıca regresyon, entegrasyon, yük ve performans testleri için de kullanılabilir.
  • Testleri tasarlamak ve yürütmek için kullanılabilir.

3) UFT Bir (eski adıyla HP Servis Testi)

Service Test, hem kullanıcı arayüzü (UI) hem de paylaşılan servislerin testini destekleyen bir fonksiyonel test aracıdır. API test yeteneği, artık tarafından satılan Unified Functional Testing'e entegre edilmiştir. OpenText as UFT Bir.

  • Hizmetlerin hem işlevsel hem de performans testleri tek bir komut dosyasıyla yapılabilir.
  • Quality Center ile entegre edilmiş, artık şu şekilde satılıyor: OpenText ALM / Kalite Merkezi.
  • Çok büyük miktarda hizmet ve veri yönetilebilir.
  • JEE, AXIS ve DotNet istemci ortamlarını simüle ederek birlikte çalışabilirlik testini destekler.

4) Parasoft SOAtest

Parasoft SOAtest, API ve API tabanlı uygulama testleri için geliştirilmiş bir test ve analiz araç paketidir.

  • Web servislerini, REST, JSON, MQ, JMS, TIBCO, HTTP ve XML teknolojilerini destekler.
  • Fonksiyonel, birim, entegrasyon, regresyon, güvenlik, birlikte çalışabilirlik, uyumluluk ve performans testleri mümkündür.
  • Taslaklar şu şekilde oluşturulabilir: Parasoft Sanallaştırdaha yetenekli olanlar SoapUI Sahte Hizmetler.

SOA Testi Kullanım Durumları

Aşağıdaki örnekte, yukarıda bahsedilen strateji, yöntem ve araçlar tek bir e-ticaret sitesine aşama aşama uygulanmaktadır.

Aşağıdaki işlevleri ve alt işlevleri içeren bir e-ticaret sitesini ele alalım.

sipariş düzenleniyor

Aşağıdaki grafik, sipariş işleme sürecini hizmet haline gelen alt işlevlere ayırmaktadır.

Sipariş işleme, sipariş oluşturma, stok kontrolü ve sipariş durumunu değiştirme gibi alt işlevlere ayrılmıştır.

FAZ 1

SOA testinin ilk aşaması olan test stratejisi aşamasında, uygulama hizmetlere ve işlevlere ayrılır.

Başvuruda yer alan aşağıdaki hizmetleri inceleyelim.

  • Sipariş Oluştur
  • Müşteri Durumunu Kontrol Edin
  • Sipariş Durumunu Değiştir
  • Sipariş Durumu Kontrol Edin
  • Envanteri kontrol et

İşletmenin işlevleri, web sitesinin işlevleriyle aynıdır.

Not: Test stratejisi belgesi, test edilmesi gereken hizmetlerin ve işlevlerin listesini içerecektir.

FAZ 2

Bu, test planlama aşamasıdır. Test vakaları Her seviye için ayrı ayrı yazılmıştır.

Uçtan uca seviye. Test senaryoları, her bir iş kullanım senaryosu ve iş akışı için ayrı ayrı yazılır. Aşağıda test senaryolarına örnekler verilmiştir.

  • Aktif bir kullanıcıyla sipariş oluşturun.
  • Etkin olmayan bir kullanıcıyla sipariş oluşturun.
  • Mevcut ürünle, sipariş miktarı mevcut miktardan az olan bir sipariş oluşturun.
  • Mevcut ürünle, sipariş miktarı mevcut miktardan fazla olacak şekilde bir sipariş oluşturun.
  • Birden fazla ürün içeren bir sipariş oluşturun.
  • Bir siparişi tamamen iptal edin.
  • Siparişi kısmen iptal et.

Entegrasyon düzeyi. Veritabanı ve kullanıcı arayüzünün entegrasyonu için test senaryoları yazılmıştır. Aşağıda örnek test senaryoları bulunmaktadır.

  • Tek bir ürünle yeni bir sipariş oluşturun. Siparişin veritabanında oluşturulduğunu doğrulayın.
  • Tek bir ürünle yeni bir sipariş oluşturun. Sipariş için hesaplanan fiyatın doğru olduğunu doğrulayın.
  • Tek bir ürün içeren yeni bir sipariş oluşturun. Mevcut ürün miktarının sipariş tutarı kadar azaldığını doğrulayın.
  • Kullanıcı arayüzünde görüntülenen sipariş durumunun veritabanındaki sipariş durumuyla aynı olduğunu doğrulayın.
  • Siparişi iptal edin ve siparişin durumunun veritabanında değiştirildiğini doğrulayın.
  • İlk ödeme için, kullanıcı arayüzünde girilen ödeme bilgilerinin veritabanına kaydedildiğinden emin olun.
  • Ödemeleri iade etmek için veritabanındaki ödeme ayrıntılarının kullanıcı arayüzünde görüntülendiğinden emin olun.

Servis seviyesi. Her hizmet, tüm veri koşulları açısından test edilir. Aşağıda birkaç örnek verilmiştir.

Hayır. Sipariş Detayları Sipariş Durumu
1 Sipariş Oluştur. Ürün Sayısı = 1 Siparişteki miktar < Veritabanındaki miktar
2 Sipariş Oluştur. Ürün Sayısı > 1 Sipariş Miktarı < Veritabanındaki Miktar
3 Sipariş Oluştur. Ürün Sayısı = 1 Siparişteki miktar > Veritabanındaki miktar
4 Sipariş durumunu kontrol et Veritabanındaki durum = Aktif
5 Sipariş durumunu kontrol et Veritabanındaki durum = Gönderildi
6 Sipariş durumunu kontrol et Veritabanındaki durum = İptal edildi
7 Sipariş durumunu kontrol et Sipariş kimliği = Geçersiz
8 Ürün kullanılabilirliğini kontrol edin Ürün miktarı >0
9 Ürün kullanılabilirliğini kontrol edin Ürün miktarı =0
10 Ürün kullanılabilirliğini kontrol edin Ürün kimliği = geçersiz

AŞAMA 3 — Test Yürütme

Test yürütme, aşağıdan yukarıya doğru bir yaklaşım kullanır: önce hizmet seviyesi testleri, ardından entegrasyon seviyesi testleri ve son olarak uçtan uca testler yapılır.

1) Hizmet seviyesi

Şunu ele alalım ki... SoapUI Bu araç, uygulamanın test edilmesi için kullanılır. WSDL ve URL test penceresine göz atılır SoapUIHer bir hizmete ilişkin istek, istek penceresinde görüntülenir. Veriler, hizmet seviyesi test senaryolarına göre değiştirilerek, her bir test senaryosu için istekler oluşturulur.

Test Durumu Talep Alma Beklenen yanıt
Sipariş Oluştur. Ürün Sayısı = 1, Siparişteki Miktar < Veritabanındaki Miktar x2 2 o3251 Başarılı
Sipariş Oluştur. Ürün Sayısı > 1, Siparişteki Miktar < Veritabanındaki Miktar y1 1 y2 3 o3251 Başarılı
Sipariş Oluştur. Ürün Sayısı = 1, Siparişteki Miktar > Veritabanındaki Miktar x23 200 hükümsüz Başarısız
Sipariş durumunu kontrol edin. Veritabanındaki durum = Aktif o9876 Aktif Başarılı
Sipariş durumunu kontrol edin. Veritabanındaki durum = Gönderildi. o9656 Gönderildi Başarılı
Sipariş durumunu kontrol edin. Sipariş numarası = Geçersiz y5686 hükümsüz Başarısız
Ürün stok durumunu kontrol edin. Ürün miktarı >0 d34 34 Evet Başarılı
Ürün stok durumunu kontrol edin. Ürün miktarı = 0 y34 0 HAYIR Başarılı
Ürün stok durumunu kontrol edin. Ürün kimliği = geçersiz sder Başarısız

2) Entegrasyon Düzeyi

Entegrasyon seviyesi test senaryoları kullanıcı arayüzünde ve veritabanında yürütülür. Tek bir ürün içeren bir sipariş oluşturun:

  • Bir kullanıcı web sitesini açar.
  • Kullanıcı sipariş vermek için işlem yapmaya gidiyor.
  • Kullanıcı geçerli bir ürün ve miktar seçer ve siparişi kaydeder.
  • Siparişin başarıyla verildiğini belirten bir mesaj görüntülenmelidir.
  • Kullanıcı veritabanını açar ve sipariş detaylarının web sitesine girilenlerle aynı olup olmadığını kontrol eder.

3) Uçtan Uca seviyeye

İş akışları ve kullanım senaryoları kullanıcı arayüzünde yürütülür. Birden fazla ürün içeren bir sipariş oluşturun:

  • Bir kullanıcı web sitesini açar.
  • Kullanıcı sipariş vermek için işlem yapmaya gidiyor.
  • Kullanıcı geçerli bir ürün ve miktar hakkında bilgi alır ve bunları sepete ekler.
  • Geçerli miktarlarda diğer geçerli ürünler eklenir ve sipariş kaydedilir. Yeni bir ödeme yöntemiyle ödeme yapılır ve sipariş verilir.
  • “Sipariş başarıyla verildi” mesajı görüntülenmelidir.
  • Bir test uzmanı, tüm akışın veri bozulması olmadan tamamlandığını doğrulamalıdır.

SSS

Seviyeler aynı, ancak SOA hizmetleri daha kaba ve genellikle kurumsal bir hizmet veri yolu üzerinden yönlendirilir, bu nedenle entegrasyon testleri veri yolunu hedefler. Mikro hizmetler daha ince taneli ve bağımsız olarak dağıtılabilir, bu da odağı entegrasyona kaydırır.tracve dayanıklılık testleri.

iletract testi, bir sağlayıcının tüketicilerinin beklediği istek ve yanıt biçimine (genellikle WSDL veya şemaya göre) hala uyup uymadığını kontrol eder. Hizmet düzeyi ile entegrasyon düzeyi arasında yer alır ve tam entegrasyon çalışmasından önce kırıcı değişiklikleri yakalar.

Sabit bir yanıt için elle yazılmış bir kod parçası yeterlidir. Bağımlılık ölçülü, hız sınırlı veya durum bilgisi içeren bir yapıya sahip olduğunda sanallaştırma, gerçekçi gecikme sürelerini, hata kodlarını ve statik bir kod parçasının yeniden üretemediği veri varyasyonlarını yeniden oynattığı için lisans ücretine değer.

Evet. Katmanlar ve seviyeler protokolden bağımsızdır. SOAP servisleri WSDL ve WS-Security kurallarına göre doğrulanırken, REST servisleri OpenAPI tanımına, durum kodlarına ve belirteç tabanlı kimlik doğrulamasına göre doğrulanır. Çoğu araç paketi her ikisini de ele alır.

Makine öğrenimi modelleri, bir şemadan istek yükleri oluşturur, hizmetleri hata geçmişine göre sıralayarak regresyon test paketlerinin en riskli olanlardan başlayarak çalışmasını sağlar ve çok katmanlı bir mimaride hatanın nereden kaynaklandığını belirlemek için katmanlar arasında hata yanıtlarını kümeler.

Copilot, WSDL veya şemadan istek yüklerini taslak haline getirir, doğrulama kodunu yazar, sahte servislerin iskeletini oluşturur ve işlem hattı adımlarını üretir. Test uzmanının yine de modelin çıkaramadığı iş kurallarını, olumsuz veri koşullarını ve beklenen hata mesajlarını sağlaması gerekir.

Code Farklı hizmet türlerinde kapsama alanı nadiren mevcuttur; bu nedenle ekipler operasyon kapsamını (gerçekleştirilen her operasyon), mesaj kapsamını (her hata ve başarı yolu) ve iş senaryosu kapsamını ölçer. tracTest planlaması sırasında oluşturulan matris üzerinden gerçekleştirildi.

WSDL, XSD ve XML veya JSON veri paketlerini okuma, beklemedeki verileri doğrulamak için SQL yazma, API istemcisiyle rahatça çalışma ve kullanılan mesajlaşma ara yazılımını anlama becerisi gereklidir. Temel betik yazma becerisi de faydalıdır çünkü çoğu paket otomatikleştirilir.

Bu yazıyı şu şekilde özetleyin: