getting started with fitnesse collaboration tool
Şimdi dünya Agile'a geçiyor. Erken ve sürekli geri bildirim, herhangi bir saldırı ekibi için çok önemlidir. Dünya değiştiği için, test yapanların zihniyetinin de değiştirilmesi gerekiyor.
Test uzmanları, 'hataları bulmak, yazılımı bozmak, gereksinimleri ölçmek' yerine artık 'kaliteyi ilk seferde sunmayı, UI olmadan test etmeyi veya UI mevcut olmadan önce test etmeyi' düşünüyor.
Test uzmanlarının da artık değişime yanıt vermesi gerekiyor ve bu nedenle kara kutu test tekniğinden çıkıp UI geliştirilinceye kadar beklememek önemlidir; bunun yerine, ara çıktıları da test etmeye başlayın.
Ne öğreneceksin:
birim testi - fonksiyonel test - entegrasyon testi -
- Ama neden?
- FitNesse nedir?
- FitNesse'i neden kullanmalıyım?
- Peki ne yaratabilirim?
- FitNesse'i İndirme ve Yapılandırma:
- FitNesse Örneği - Test Edilecekler:
- Testinizi FitNesse'de yazma:
- Fikstür / Masa stilleri hakkında bazı bilgiler:
- Öneri:
- Sonuç
- Önerilen Kaynaklar
Ama neden?
'ŞİMDİ BU ÇOK ÇEVİK BİR BAKIŞ AÇISI'.
Yazılım geliştirdiğimizde, en düşük test katmanları birim / bileşen düzeyinde tutulur. Birim testleri geliştirme ekibi tarafından gerçekleştirilir. Bu birim testler büyük ölçüde teknoloji odaklı olup, çoğunlukla test edilen sistemle birlikte aynı dilde yazılmaktadır.
Bu birim testleri ' X birimi ”Test aracı. Test dünyasında diyoruz ki Birim testimiz kaya gibi sağlamsa , kusurlar çok daha erken belirlenir ve birim test katmanının üzerindeki test, kararlı bir ortamda kolay hale gelir. Ve Agile'da konuştuğumuzda, bir takım TDD (Test Driven Development) sanatında ustalaşırsa, Unit level testlerinin en hızlı geri bildirimi sağladığını söylüyoruz.
Birim / bileşen katmanının üzerindeki katman, işi gerçekleştiren Kabul testleri katmanıdır. Bunlar fonksiyonel testlerdir ve birim testlerden daha fazla kapsama sahiptir ve çoğunlukla geliştirici olmayanlar tarafından yürütülür. Bu testler, sunum katmanının veya API'lerin arkasındaki katmanı test eder. Bu API'ler veya yöntemler test edildiğinde hızlı bir geri bildirim sağlar ve GUI geliştirildiğinde, işlevlerin çoğu test edilir.
FitNesse, bu Otomatik Kabul Testleri Katmanının bir örneğidir.
FitNesse nedir?
FitNesse 'Tam entegre bağımsız bir wiki ve kabul testi çerçevesi' dir. Açık kaynak, wiki web sunucusudur. Wiki - çünkü test tablolarının oluşturulduğu kendi web sayfalarınızı oluşturmanıza izin verir. Bu test tabloları test verisi .
Amacı, çevik kara kutu kabulü ve gerileme testini desteklemektir. Aynı zamanda bir ortak çalışma aracıdır çünkü test uzmanları, test paketini hazırlamak için geliştiricilerle işbirliği yapar.
FitNesse'i neden kullanmalıyım?
Agile test ekibi, koddaki yöntemleri test edecek test kıyafetleri hazırlamak için FitNesse'i kullanabilir. FitNesse şuna benzer: Junit Yöntemleri de test edecek şekilde, ancak Junit'ten farklıdır çünkü testler hem geliştiriciler hem de geliştirici olmayanlar tarafından kullanılabilen basit tablolar şeklindedir.
Faydaları:
- Otomatik kabul testlerini gerektiği sıklıkta gerçekleştirerek erken geri bildirim.
- Test sonuçları belirleyicidir çünkü Kırmızı veya Yeşil olarak vurgulanırlar.
- Test verileri, kalite gereksinimlerine uyacak şekilde tasarlanabilir.
- Testler basit bir dille yazılmıştır ve tablo şeklinde yazıldığından anlaşılması kolaydır.
- Bu tablolar girdi ve beklenen çıktılar açısından tanımlanmıştır.
- Hepsini gör FitNesse özellikleri burada.
Peki ne yaratabilirim?
FitNesse'de Testler ve Suite oluşturabilirsiniz. Terimler, test dünyasında kullanılanlarla hemen hemen aynıdır. Testler tek bir komut dosyasıdır ve takım, koleksiyon / testler grubudur. Bir takım elbise yarattığınızda ve onu çalıştırdığınızda, avantaj o takımdaki tüm testlerin yürütülmesidir. Bu yüzden testlerinizi bir takım elbise ile düzenlemek için uygun bir planlamaya ihtiyacınız var.
FitNesse'i İndirme ve Yapılandırma:
=> FitNesse'i indirmek için, Buraya tıklayın
(Not: Büyütülmüş görmek için herhangi bir resme tıklayın)
Fitnesse-standalone.jar dosyasının en son sürümünü indirin ve yerel sürücünüze kaydedin.
Bir komut istemi açın ve jar dosyasını çalıştırın. Kolaylık sağlamak için bir toplu iş dosyası oluşturdum:
Jar dosyası yürütüldüğünde, FitNesse aşağıda gösterildiği gibi başlatılır: (büyütülmüş görünüm için resme tıklayın)
FitNesse'i açmak için tarayıcınızı açın ve şunu yazın: http: // localhost: . Bu durumda bağlantı noktası numarası 2222'dir.
Alınan sayfa aşağıda gösterilmektedir: (büyütülmüş görünüm için resme tıklayın)
Yani burada Testler açılır menüsünü görebiliyorsanız, bir 'Test Sayfası' yanı sıra bir 'Suite sayfası' oluşturabiliriz. Bir paket oluşturduğunuzda, bu paket içindeki tüm test komut dosyaları çalıştırılacaktır.
Açıklama amacıyla bir Test Sayfası örneği alıyorum.
FitNesse Örneği - Test Edilecekler:
Şu an itibariyle, aşağıda gösterilen basit bir hesap makinesi programını test ediyoruz.
İşte java'da 4 yöntemi olan kod:
- ilave ()
- eksi ()
- çarpmak ()
- divide ()
(Lütfen FitNesse'nin seçtiğiniz herhangi bir dilde çalıştığını görün. Açıklama için java kullandım)
FitNesse dünyasındaki bu koda 'Fikstür' denir.
Fikstürler, örnek koddan başka bir şey değildir - veya FitNesse ile test edilen uygulama arasındaki bağlantı. Bu nedenle, ne zaman bir yöntemi test etmek istesek, bir fikstür yazmalıyız ve bu fikstür yöntemi çağıracak ve test edecektir.
Dolayısıyla, örneğimiz için 'Fikstür' kodu aşağıdaki gibidir:
publicclass Calculator { privateint first,second; publicvoid setFirst(int first) { this.first=first; } publicvoid setSecond(int second) { this.second=second; } publicint addition() { return (first+second); } publicint minus() { return (first-second); } publicint multiply() { return (first*second); } publicfloatdivide() { return (first/second); } }
Tutulmadaki kod şu şekilde gösterilir: (büyütülmüş görünüm için resme tıklayın)
Sınıf dosyasına ihtiyacımız olacak, bu yüzden onu derlediğinizden emin olun.
Testinizi FitNesse'de yazma:
Aşama 1) FitNesse ön sayfasının bulunduğu tarayıcıya geri dönelim.
Ön sayfada, 'Test Sayfası' na tıklayın, testin adını girin ve 'Kaydet' düğmesine tıklayın. Bizim durumumuzda bu 'Hesap Makinesi'
Adım 2) URL'nizde, testinizin adını bir nokta '' ile ekleyin. Şebeke.
Sevmek: http: // localhost: 2222 / FrontPage.Calculator
Aşama 3) Düzenle düğmesine tıklayın ve aşağıda gösterilen satırları girin
Girilen satırlar şunlardır:
! TEST_SYSTEM {ince} tanımlayın
! yol F: Eclipse TestFitness bin
! | Hesap Makinesi |
| birinci | ikinci | toplama? | eksi? | çarpma? | bölme? |
| 4 | 2 | 6 | 2 | 8 | 2.0 |
| 10 | 5 | 15 | 5 | 50 | 2.0 |
| 10 | 10 | 20 | 0 | 100 | 1.0 |
Satırları tek tek anlayalım.
için) İlk satır FitNesse'nin SLIM test sistemini kullanmasını söylüyor.
( İNCE - Basit Liste Çağırma Yöntemi anlamına gelir. SLIM test sistemi denilerek tüm tabla işlemleri FitNesse tarafından yapılmaktadır. SLIM, SLIM Runner ve SLIM Executer'a sahiptir. SLIM Runner, test sayfalarını basit talimatlara böler ve bu talimatlar, fikstür kodunu testler altında sistemi çağırmaya yönlendiren SLIM Yürütücüsüne iletilir)
b) İkinci satır, sınıf dosyasının konumunu tanımlar. Bu durumda, java kodu derlenir ve sınıf dosyası 'yol F: Eclipse TestFitness bin'
c) Üçüncü satır, Sınıfın adını belirtir. Bizim durumumuzda 'Hesap makinesi'
d) Şimdi dördüncü satır geliyor:
İlk iki sütun| birinci | ikinci |Java yönteminin parametreleri veya girdileridir.
Sonraki 4 sütun ve ardından '?'toplama? | eksi? | çarpma? | bölme? | java sınıfındaki yöntemlerdir. Bu yöntemler, beklenen değerlerle karşılaştırılacak bir değer döndürür.
dır-dir) Çizgiler:
| 4 | 2 | 6 | 2 | 8 | 2.0 |
| 10 | 5 | 15 | 5 | 50 | 2.0 |
| 10 | 10 | 20 | 0 | 100 | 1.0 |
Test senaryoları mı yoksa yöntemimiz için Test verileri demeliyim.
İlk satır:
| birinci | ikinci | toplama? | eksi? | çarpma? | bölme? |
| 4 | 2 | 6 | 2 | 8 | 2.0 |
İlk parametre olarak 4, ikinci parametre olarak 2 alacak ve bu iki değeri java sınıfının toplama yönteminde geçirecektir. Yöntem çalışacak ve bir değer döndürecektir. Bu döndürülen değer, 'toplama' altında yazılan beklenen değerle karşılaştırılacaktır. hangisi| 6 |
Benzer şekilde, FitNesse eksi ilk 2 parametreyi geçecek mi? Java sınıfının yöntemi ve bir değer döndürür. Bu değer, beklenen değerle karşılaştırılacaktır. | 2 |
Aynı şekilde çarpmak mı? ve bölmek? birinci ve ikinci parametrenin değerlerini alarak çalışır ve karşılaştırılan değeri döndürür.| 8 | 2.0 |sırasıyla
Benzer şekilde, aşağıdaki 2 satır (veya test senaryolarını söylemeliyim) yürütülür.
| 10 | 5 | 15 | 5 | 50 | 2.0 |
| 10 | 10 | 20 | 0 | 100 | 1.0 |
Adım 4) Testlerinizi düzenledikten sonra, kaydet düğmesine tıklayın ve sayfanız şöyle görünecektir:
Adım 5) Testleri çalıştırmak için Test butonuna tıklayın ve sonucu şu şekilde alıyoruz: (büyütülmüş görünüm için resme tıklayın)
İlk satır için (ki bu bizim ilk test durumumuzdur), yeşil renk, yöntem toplama (), minus (), multiply () ve divide () yöntemlerinden döndürülen değerlerin beklenenle eşleştiğini, yani 6, 2 Sırasıyla 8 ve 2.0. Benzer şekilde, ikinci satır için (ikinci test durumu), yöntemlerden döndürülen tüm değerler eşleşir.
Adım 6) Şimdi göstermek için, beklenen değerlerden birkaçını başka değerlerle değiştirmeme izin verin (değerler yanlış, ancak bunu açıklama amacıyla bilerek yaptım)
Şu an itibariyle elimde:
- İlk test durumu için beklenen toplama değeri () 7 olarak değiştirildi
- İkinci test senaryosu için eksi () için beklenen değer değiştirildi
- Üçüncü test senaryosu için divide () için beklenen değer değiştirildi.
Adım 7) 'Test' düğmesine tıklayarak testi çalıştırın. Yukarıdaki testler başarısız olmalıdır. (büyütülmüş görünüm için resme tıklayın)
deneyimli pdf için sql sorgu mülakat soruları ve cevapları
Kırmızı renk, bu testlerin başarısız olduğunu vurgular.
Fikstür / Masa stilleri hakkında bazı bilgiler:
FitNesse'de testlerin bir tablodaki satırlar çalıştırılarak yapıldığını gördük. Bu nedenle, farklı türde testler yürütmek için (veya farklı türde yöntemleri test etmek için söylemeliyim), farklı türde tablolar kullanmamız gerekir. Aşağıdaki Fikstür / masa stillerini en sık kullanıyoruz:
- Kolon Fikstürü - en yaygın olarak kullanılır (ve yukarıdaki örnekte kullanılır). Burada veri satırları, farklı girdi kümelerini ve beklenen çıktılarını temsil eder.
- Sıra Fikstürleri - Bir dizi değer döndüren sorguları test etmek için kullanılır.
- Aksiyon Fikstürleri - Bir dizi olay için testler yapmak için kullanılır. Bu olaylar, bir düğmeye tıklamak, değerleri kontrol etmek gibi olabilir
Öneri:
FitNesse'de daha fazlasını keşfetmeye başlayabilmemiz için kavramları göstermeye çalıştım. Test edenin zihniyetinin de değiştirilmesi ve genişletilmesi gerekiyor. Kodun içine bakmak için kendimizi kısıtlamayı bırakmalıyız. Hissediyorum; nihayetinde kodu test ediyoruz, öyleyse neden kodu görmeye ve o anda orada test etmeye çalışmıyoruz?
Programlama becerilerinizi geliştirmeye başlayın ve mantığı oluşturmaya ve sözdizimini öğrenmeye daha fazla önem verin. Programlama kavramlarına hakim olduğunuzda ve uygulama konusunda pratik yaptığınızda, FitNesse'i keşfetmek daha kolay hale gelecektir.
Sonuç
Çevik olarak test etmek 4 çeşittir:
- Otomatik Birim testi - Junit kullanarak
- Otomatik kabul doğrulama testi - FitNesse kullanarak
- Otomatik UI / regresyon testleri - Selenium veya QTP kullanarak
- Manuel test
Ünitede ve kabul katmanında testlerimizin çoğunu zorlamaya çalışmalıyız . Şimdiye kadar, QTP ve Selenium gibi araçları kullanarak UI katmanı için testlerimizin çoğunu sürdürmeye çalışıyoruz, ancak buradaki dezavantaj, bu işlevlerin UI geliştirilmeden test edilememesidir. Siz bir kusur bulduğunuzda, geliştiriciler başka bir özellik geliştirmeye geçmişlerdir.
Öte yandan, API'leri yazıldıktan hemen sonra test edebilirsek, geliştiriciler anında düzeltebilirler. Bu aynı zamanda GUI'yi test ettiğimizde daha az çabayla sonuçlanacaktır. Tüm işlevler test edildiğinden, GUI'yi test etmek kolaylaşır.
Agile ile, test uzmanlarının zihniyetinin de bir değişikliğe ihtiyacı var ve rutin test setlerinden çıkmaları gerekiyor ve şimdi koda bakmalı ve UI mevcut olmasa bile hataları tespit etmeye çalışmalısınız.
Yazar hakkında: Bu STH ekip üyesi Shilpa C. Roy'un konuk makalesi. İnternet reklamcılığı, Yatırım Bankacılığı ve Telekom gibi alanlarda son 9 yılı aşkın süredir yazılım test alanında çalışmaktadır.
Sorularınızı aşağıdaki yorumlarda bize bildirin.
Önerilen Kaynaklar
- Geliştiriciler İyi Testçiler değildir. Ne diyosun?
- Test Uzmanları için Yararlı Ücretsiz Ekran Yakalama ve Ek Açıklama Aracı - qSnap İncelemesi
- Geliştiriciler ve Test Edenler İçin En Popüler 10 Kod İnceleme Aracı
- WebLOAD İncelemesi - WebLOAD Yük Test Aracına Başlarken
- Test Uzmanları İçin En İyi 15 SOA Test Aracı
- Yazılım Testçilerinde Motivasyon Nasıl Canlı Tutulur?
- TestLodge Test Yönetim Aracı İncelemesi
- Test Uzmanları için Yumuşak Beceri: İletişim Becerileri Nasıl Geliştirilir