Kornişon Dili nedir?
Kornişon , uygulamanın ayrıntılarına girmeden iş davranışını tanımlamanıza yardımcı olan, iş tarafından okunabilir bir dildir. Spesifikasyonlar için Salatalık formatında testleri tanımlamak için alana özgü bir dildir. Kullanım durumlarını açıklamak için düz bir dil kullanır ve kullanıcıların davranış testlerinden mantık ayrıntılarını kaldırmasına olanak tanır.
Kornişon dilindeki metin, otomatik testlerinizin dokümantasyonu ve iskeleti görevi görür. Kornişon formatı, 37'den fazla dilde mevcut olan TreeTop Dilbilgisine dayanmaktadır. Bu nedenle kornişonuzu 37'den fazla konuşulan dilde yazabilirsiniz.
Bu komut dosyası iki temel amaca hizmet eder:
- Kullanıcı senaryolarını belgeler
- Otomatik test (BDD) yazma
Bu Kornişon Turşusu dersinde öğreneceksiniz
- Kornişon Dili nedir?
- Neden Kornişon?
- Kornişon Sözdizimi
- Gherkin'de kullanılan önemli terimler
- Kornişon Örneği
- Gherkin kullanmanın en iyi uygulamaları
- Kornişonun Avantajları
Neden Kornişon?
Kornişon ihtiyacı, aşağıdaki resimlerle kolayca açıklanabilir
Kornişondan önce
Gherkin'den sonra
Kornişon Sözdizimi
Kornişon, YAML ve Python gibi satır odaklı bir dildir. Her satır step olarak adlandırılır ve anahtar kelime ile başlar ve terminallerin sonu bir durdurma ile başlar. Girinti için sekme veya boşluk kullanılır.
Bu komut dosyasında, istediğiniz herhangi bir yere yorum eklenebilir, ancak bir # işaretiyle başlamalıdır. Ghrekin'in anahtar kelimelerini verilen, ne zaman, sonra vb. Kaldırdıktan sonra her satırı okur.
Tipik Kornişon adımları şöyle görünür:
Gherkin Scripts: İnsanın neden ve sonuç kavramını girdi / süreç / çıktı yazılım konseptine bağlar.
Kornişon Sözdizimi:
Özellik: Senaryo BaşlığıVerilen [Ön Koşullar veya İlk Bağlam][Etkinlik veya Tetikleyici]Sonra [Beklenen çıktı]
Bir Gherkin belgesinin bir uzantısı .feature ve sadece süslü bir uzantıya sahip bir test dosyası vardır. Cucumber, Gherkin belgesini okur ve yazılımın Gherkin sözdizimine göre davrandığını doğrulamak için bir test yürütür.
Gherkin'de kullanılan önemli terimler
- Özellik
- Arka fon
- Senaryo
- Verilen
- Ne zaman
- Sonra
- Ve
- Fakat
- Senaryo Anahat Örnekleri
Adlandırma kuralı, özellik adı için kullanılır. Ancak Hıyar'da isimlerle ilgili belirlenmiş kurallar yoktur.
Özellik:
Dosyanın uzantısı .feature olmalıdır ve her özellik dosyası yalnızca bir özelliğe sahip olmalıdır. Feature anahtar sözcüğü Feature: ile birlikte gelir ve bundan sonra özelliğin bir boşluk ve adı yazılır.
Senaryo:
Her özellik dosyasının birden çok senaryosu olabilir ve her senaryo Senaryo: ile başlar ve ardından senaryo adı gelir.
Arka fon:
Arka plan anahtar sözcüğü, senaryoya biraz bağlam eklemenize yardımcı olur. Senaryonun bazı adımlarını içerebilir, ancak tek fark, her senaryodan önce çalıştırılması gerektiğidir.
Verilen:
Given anahtar kelimesinin kullanımı, kullanıcı sistemle etkileşime girmeden önce sistemi tanıdık bir duruma getirmektir. Ancak, "Önkoşul" adımında Verilmişse Verilen adımlarda kullanıcı etkileşimlerini yazmayı atlayabilirsiniz.
Sözdizimi:
Verilen
Verilen - 'bağlamı' tanımlayan bir test adımı"/" Üzerinde olduğum için.
Ne zaman:
Adım, kullanıcı tarafından gerçekleştirilen eylemi tanımlamak olduğunda.
Sözdizimi:
Ne zaman
A Ne zaman - gerçekleştirilen 'eylemi' tanımlayan bir test adımı"Oturum Aç" yaptığımda.
Sonra:
'Then' anahtar kelimesinin kullanımı, adımda eylemden sonra sonucu görmektir . Ancak, yalnızca göze çarpan değişiklikleri doğrulayabilirsiniz.
Sözdizimi:
Sonra
Ardından - 'sonucu' tanımlayan test adımı.O zaman "Hoşgeldin Tom" u görmeliyim.
Ve ama
Ne zaman veya Sonra birden vermiş olabilirsiniz.
Sözdizimi:
Fakat
A Ama - 'eylem' 'sonucunu' tanımlayan ek test adımı.Ama "Hoşgeldin Tom" u görmeliyim.
Ve - gerçekleştirilen 'eylemi' tanımlayan ek test adımıVe "EmailAddress" i " Bu e-posta adresi istenmeyen postalardan korunuyor. Görüntülemek için JavaScript'in etkinleştirilmesi gerekiyor…" ile yazıyorum .
Verilen, Ne Zaman, Sonra ve, ancak test adımlarıdır. Bunları birbirinin yerine kullanabilirsiniz. Yorumlayıcı herhangi bir hata göstermiyor. Ancak, okunduklarında kesinlikle 'mantıklı' olmayacaklardır.
Verilen giriş sayfası açılıyorKullanıcı adı, şifre girip Oturum Aç düğmesini tıkladığımdaO zaman ana sayfadayım
Kornişon Örnekleri
Örnek 1:
Özellik: Sosyal ağ sitesi Facebook'un oturum açma işlevi.Verilen: Ben bir facebook kullanıcısıyım.Ne zaman: Kullanıcı adı olarak kullanıcı adını giriyorum.Ve şifre olarak şifreyi giriyorumO zaman facebook'un ana sayfasına yönlendirilmeliyim
Yukarıda bahsedilen senaryo, kullanıcı girişi adı verilen bir özelliktir.
Kalın yazılan tüm kelimeler Gherkin anahtar kelimeleridir.
Gherkin, adım tanımlama dosyasında yazılan her adımı analiz edecektir. Bu nedenle, adımlar özellik dosyasında verilmiştir ve adım tanımlama dosyası eşleşmelidir.
Örnek 2:
Özellik: Kullanıcı Kimlik Doğrulama Arka Planı:Kullanıcının zaten web sitesine kayıtlı olduğu varsayılırsa Senaryo:Kullanıcı giriş sayfasında olduğu içinKullanıcı doğru e-posta adresini girdiğindeVe kullanıcı doğru parolayı girerVe kullanıcı Oturum Aç düğmesine tıklarDaha sonra kullanıcının kimliği doğrulanmalıdırVe kullanıcı kendi kontrol paneline yönlendirilmelidir.Ve kullanıcıya bir başarı mesajı sunulmalıdır
Gherkin kullanmanın en iyi uygulamaları
- Her senaryo ayrı ayrı yürütülmelidir
- Her özellik birlikte yürütülebilir olmalıdır
- Adım bilgileri bağımsız olarak gösterilmelidir
- Senaryolarınızı gereksinimlerinize bağlayın
- Bir gereksinim belgesine hangi senaryoların dahil edilmesi gerektiğini tam olarak takip edin
- Modüler ve anlaşılması kolay adımlar oluşturun
- Tüm genel senaryolarınızı birleştirmeye çalışın
Kornişonun Avantajları
- Kornişon, programcı olmayanların anlayabileceği kadar basittir
- Programcılar testlerine başlamak için bunu çok sağlam bir temel olarak kullanabilirler
- Kullanıcı Hikayelerinin sindirilmesini kolaylaştırır
- Gherkin betiği, işletme yöneticileri ve geliştiriciler tarafından kolayca anlaşılabilir
- Kornişon Test, iş gereksinimlerini hedefler
- İşlevsel özelliklerin önemli bir kısmı kullanıcı hikayeleri olarak yazılmıştır.
- Küçük Kornişon komut setini anlamak için uzman olmanıza gerek yok
- Kornişon Test durumları, kabul testlerini doğrudan otomatik testlere bağlar
- Test yazma tarzı vakaları, diğer testlerde kodu yeniden kullanmak daha kolaydır
Kornişonun dezavantajları
- Yüksek düzeyde iş katılımı ve işbirliği gerektirir
- Tüm senaryolarda iyi çalışmayabilir
- Kötü yazılmış testler, test-bakım maliyetini kolayca artırabilir
Özet:
- Kornişon, salatalık spesifikasyonlarının formatıdır
- Kornişon, YAML ve Python gibi satır odaklı bir dildir
- Gherkin Scripts, insan neden ve sonuç kavramını girdi / süreç ve çıktı yazılım konseptine bağlar.
- Özellik, Arka Plan, Senaryo, Verilen, Ne Zaman, Sonra, Ve Ama önemli ölçüde Kornişon'da kullanılır
- Gherkin'de her senaryo ayrı ayrı yürütülmelidir
- Gherkin'in en büyük avantajı, programcı olmayanların anlayabileceği kadar basit
- Kornişon Testi her tür senaryoda iyi çalışmayabilir