Cucumber Çerçeve: Nedir? Cucumber?

⚡ Akıllı Özet

Cucumber Davranış Odaklı Geliştirmeyi (BDD) destekleyen ve teknik bilgiye sahip olup olmamasına bakılmaksızın herkesin testleri okuyabilmesini sağlayan bir test aracıdır. Bu kaynak, BDD'nin Given-When-Then adımları aracılığıyla nasıl çalıştığını ve avantajlarını açıklamaktadır. Cucumberve bununla nasıl karşılaştırıldığı Selenium ve HP ALM.

  • 🥒 Temel Tanım: Cucumber Davranış Odaklı Geliştirme (Behavior Driven Development) aracı olan bu yazılım, teknik ve teknik olmayan paydaşlar tarafından anlaşılabilecek sade bir dille testler yazar.
  • 🗣️ BDD Foundation: İş analistleri ve ürün sahipleri, geliştiriciler kod yazmadan önce sistem davranışını tanımlayarak ortak anlayışı geliştirirler.
  • 📝 Verilen-O zaman-Sonra: Her Cucumber Senaryo, canlı dokümantasyon görevi de gören, okunabilir bir "Verilen-Ne Zaman-O Zaman" yapısını takip eder.
  • Anahtar Avantajları: Hızlı kurulum, kodun tekrar kullanılabilirliği, son kullanıcı odaklılık ve kodlama bilmeyen iş paydaşlarının kolay katılımı.
  • 🇧🇷 Araç Karşılaştırması: Cucumber HP ALM ücretli iken, bu ürün ücretsizdir ve BDD tabanlıdır. Selenium Fonksiyonel ve performans testlerini hedeflemektedir.

Cucumber iskelet

Nedir? Cucumber?

Cucumber Davranış Odaklı Geliştirme (BDD)'yi destekleyen bir test aracıdır. Teknik bilgi düzeyi ne olursa olsun herkesin anlayabileceği testler yazmanın bir yolunu sunar. BDD'de kullanıcılar (iş analistleri, ürün sahipleri) önce sistemin müşteri perspektifinden davranışını tanımlayan senaryolar veya kabul testleri yazarlar; bu testler, geliştiriciler kodlarını yazmadan önce ürün sahipleri tarafından incelenir ve onaylanır. Cucumber çerçeve şunu kullanır Ruby programlama dili.

Cucumber iskelet
Cucumber iskelet

BDD nasıl çalışır? Cucumber Otomasyon?

Örneğin, bir internet bankacılığı uygulamasında Para Transferi modülü oluşturmakla görevlendirildiğinizi düşünün.

Bunu test etmenin birden fazla yolu var. Cucumber Test çerçevesi:

  1. Kaynak hesapta yeterli bakiye varsa para transferi gerçekleşmelidir.
  2. Hedef hesap bilgileri doğruysa para transferi gerçekleşmelidir.
  3. Kullanıcı tarafından girilen işlem şifresi / RSA kodu / güvenlik kimlik doğrulaması doğruysa, para transferi gerçekleşmelidir.
  4. Para transferi, resmi tatil olsa bile gerçekleştirilmelidir.
  5. Para transferi, hesap sahibi tarafından belirlenen ileriki bir tarihte gerçekleştirilmelidir.

MKS Test Senaryosu X tutarındaki transferi Y gün/aylık bir aralıkta gerçekleştirme, toplam tutar Z'ye ulaştığında planlanan transferi durdurma gibi ek özellikleri dikkate aldıkça, süreç daha ayrıntılı ve karmaşık hale gelir.

Geliştiricilerin genel eğilimi, özellikleri geliştirmek ve test kodunu daha sonra yazmaktır. Yukarıdaki örnekte de görüldüğü gibi, Test Durumu Bu senaryo için geliştirme karmaşık ve geliştirici bunu erteleyecektir. Test yapmak Piyasaya sürülene kadar, piyasaya sürüldükten sonra da hızlı ama etkisiz testler yapacaklar.

Bu sorunun üstesinden gelmek için, Cucumber BDD (Davranış Odaklı Geliştirme) Bu şekilde tasarlandı. Geliştirici için tüm test sürecini kolaylaştırıyor.

In Cucumber BDD, ne yazarsan yaz, içine girmeli Verilen-Ne Zaman-Sonra Adımlar. Yukarıdaki örneği BDD'de ele alalım:

Given that a fund transfer module in net banking application has been developed
And I am accessing it with proper authentication
When I shall transfer with enough balance in my source account
Or I shall transfer on a Bank Holiday
Or I shall transfer on a future date
And destination a/c details are correct
And transaction password/RSA code/security authentication for the transaction is correct
And press or click send button
Then amount must be transferred
And the event will be logged in log file

Yazması, okuması ve anlaması kolay değil mi? Fon transferi modülü için olası tüm test durumlarını kapsar ve daha fazlasını içerecek şekilde kolayca değiştirilebilir. Ayrıca, fon transferi modülü için dokümantasyon yazmaya daha çok benziyor.

Avantajları Cucumber Yazılım

  1. Kodları kolayca okuyamayan iş paydaşlarını sürece dahil etmek faydalıdır.
  2. MKS Cucumber Test aracı Son kullanıcı deneyimine odaklanır.
  3. Bu test yazım stili, testlerdeki kodun daha kolay yeniden kullanılmasını sağlar.
  4. Hızlı ve kolay kurulum ve çalıştırma.
  5. MKS Cucumber test aracı aşağıdakiler için etkili bir araçtır: test yapmak.

Cucumber vs Selenium ALM'ye karşı

Bu bölümde aradaki farkı inceleyeceğiz. Cucumber, Seleniumve ALM.

Cucumber HP ALM (QTP) Selenium
Cucumber Yazılım ücretsizdir. QTP pahalı. Bu ücretsizdir.
Cucumber Yazılım, davranış odaklı bir geliştirme aracıdır. Bu, işlevsel bir otomasyon aracıdır. İşlevsel ve Performans odaklıdır (Selenium Izgara) test aracı.
Eklentinin içinde Cucumber Test aracı daha hızlı çalışıyor. Eklentiler diğerlerine kıyasla daha yavaştır. Cucumber hem de Selenium. Eklentiler bundan daha yavaştır Cucumber.
Cucumber Bu çerçeve, Ruby'nin yanı sıra diğer dilleri de desteklemektedir, örneğin: Java, Scala, Groovy, vb. QTP Yalnızca VB Script'i destekler. Selenium destekler Java.Net ve daha birçok dil.
Otomasyon adımlarını yazmak, test uzmanları ve geliştiricilerin ortak çalışmasıdır. In QTPOtomasyon adımlarını yalnızca test uzmanı yazar. Facebok sayfasını beğenin : CucumberOtomasyon adımlarını yazmak, test uzmanları ve geliştiricilerin ortak çalışmasıdır.
MKS Cucumber Bu test aracı yalnızca web ortamını desteklemektedir. Web, masaüstü ve her türlü istemci-sunucu uygulamasını destekler. Yalnızca web ortamını destekler.

Ayrıca Kontrol Edin: - UFT vs Selenium: Arasındaki Fark Selenium hem de HP UFT

SSS

Evet. Yapay zeka araçları, yazılı gereksinimlerden doğrudan Gherkin senaryoları ve adım tanımları oluşturabilir. Ancak test uzmanları, oluşturulan senaryoları kullanmadan önce doğruluk, uç durumlar ve tam kapsam açısından gözden geçirmelidir.

Hayır. Yapay zeka senaryo yazımını ve adım oluşturmayı hızlandırıyor, ancak insan test uzmanları yine de beklenen davranışı tanımlıyor, iş mantığını doğruluyor ve paydaşlarla iş birliğini sürdürüyor; bu da Davranış Odaklı Geliştirmenin merkezinde yer alıyor.

Gherkin düz metin dilidir. Cucumber Test senaryoları yazmak için kullanılır. Given-When-Then yapısını takip ederek, testleri hem iş paydaşları hem de geliştiriciler için okunabilir ve aynı zamanda çalıştırılabilir hale getirir.

Cucumber BDD bir araçtır. TDD'nin aksine, her küçük işlev parçasını uygulamadan önce birim düzeyinde kod testleri yazmaya odaklanmak yerine, sistem davranışını kullanıcının bakış açısından tanımlamaya odaklanır.

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