PHP İçin 9 En İyi Otomatik Test Çerçevesi
PHP kodunuzu hata ayıklamak hiç uzun saatler geçirdiniz mi? Pekala, çoğu programcı için muhtemelen en etkileyici zorluk değil, ancak bu sıkıcı görevi kısaltmamıza yardımcı olabilecek bir çözüm var.. Otomatik test PHP geliştirme iş akışını önemli ölçüde artırabilir önceden yazılmış testlerin gelişim sürecini yönlendirmesine izin verilmesi.
Bu yazıda anlamaya çalışacağız neden otomatik test bu kadar güzel, nasıl çalışır ve ne en iyi test çerçeveleri ile başlayabilirsin.
Test Etmek Neden Önemli?
Acemi PHP geliştiricileri kodları için test yazma eğilimindedir. Birçoğumuz, tarayıcı penceresine yeni yazdığımız yeni özellikleri ve işlevleri tek tek test ederek kariyerimize başladık ve bir şeyler ters gittiğinde ne yapacağımıza dair habersizdik..
Kodumuz için testler yazmak değerli hata ayıklama zamanını ve saatlerce baş ağrısını geri alabilir. Denenmemiş kod üretime girdiğinde, alacağımız yorumlar muhtemelen pek iyi olmayacak. Öyleyse ne yapabiliriz?
Muhtemelen en iyi fikir üretken bir test iş akışı oluşturmak Uygulama kodumuzun düzgün çalışıp çalışmadığını kontrol eden kendi test kodumuzu yazmamız gerekir..
İşin püf noktası Test kodunun başvuru kodundan önce yazılması gerekir.. Bu şekilde en başından beri yazdığımız kodun düzgün çalıştığından emin olabiliriz. Test kodu ayrı dosyalara girecektir. Daha sonra PHP uygulamamızdaki herhangi bir hatayı bulursak, başka bir şey yapmamıza gerek yok, umarız ki yapacağımız testleri yapmamız yeterlidir. bize sorunlar hakkında uygun ipuçları verin.
Zaman kazanmaktan ve uygulamamızı üretime uygun şekilde hazırlamaktan başka, testlerin de birçok avantajı vardır:
- daha sürdürülebilir kod
- kolaylaştırılmış yeniden düzenleme
- daha az güvenlik sorunu
- daha az şişirilmiş kod tabanı (uygulama kodunu önceden yazılmış test koduna uyarlamak bizi gereksiz parçaları atlayacaktır)
- daha iyi performans
Otomatik Test Nedir??
Elbette, testlerimizi manuel olarak yazabiliriz, ancak bir süre sonra birçok tekrarlayan görevle sıkıcı ve zaman alıcı olabilir. Manuel testler, bizim için yorucu bir iş yapacak özel yazılımları kullandığımız otomatik testlerle değiştirilebilir ve test kodunun mantığını oluşturmak için daha fazla zaman harcayabiliriz..
PHP neyse ki oldukça popüler bir programlama dilidir, bu nedenle aralarından seçim yapabileceğiniz birçok otomatik test çerçevesi vardır.
Test Odaklı Gelişme (TDD) ve Davranış Odaklı Gelişme (BDD)
Otomatik test çerçevelerinin kullandığı iki ana yaklaşım, Test Odaklı Gelişim (TDD) ve Davranış Odaklı Gelişim'dir (BDD). Her ikisinde de, geliştirme süreci testlerle sürdürülür, bu testlerin uygulama kodundan önce yazıldığı anlamına gelir.
Teste dayalı ve davranışa dayalı test arasındaki temel fark, test kodunun sözdizimindedir: TDD test dosyalarında uygun PHP kodunu kullanıyor, süre BDD insan tarafından okunabilen cümleler kullanır Her bir özelliğin davranışını tanımlayan ve teknik olmayan paydaşların da anlayabileceği.
Bir TDD Testi kod editöründe şöyle görünür, sadece normal nesne yönelimli PHP kodu:
Bir BDD Testi buna benzer, programcı olmayanlar da bunu anlamlandırabilir:
10 PHP Otomatik Test Çerçeveleri
Bunu akılda tutarak, 10 güçlü otomatik test çerçevesine bir göz atalım. PHP için kullanabileceğiniz.
1. PHPUnit
PHPUnit, PHP uygulamaları için Birim Testleri yazmak için en iyi bilinen test çerçevesidir. Birim testleri, birim adı verilen küçük kod bölümlerini alır ve bunları tek tek test eder. PHPUnit yardımı ile test odaklı geliştirme yapabiliriz.
Üzerinden kullanılabilir Komut satırı, ve bize sağlar kullanışlı TestCase sınıfı ihtiyacımıza göre uzatabiliriz. PHPUnit ayrıca geliştiricilerin kullanmasına izin verir. Uygulamanın belirli bir şekilde davrandığını iddia etmek için önceden yazılmış iddia yöntemleri.
2. Kodlama
Codeception yalnızca Birim Testleri yazmamıza izin vermiyor, aynı zamanda İşlevsel ve Kabul Testleri yapmamızı sağlıyor. Bu iki sonuncusu PHP uygulamasını bir bütün olarak birbirine bağlı tüm özelliklerle test eder. Codeception, geliştirme gereksinimlerimize göre farklı modülleri etkinleştirmemizi ve yapılandırmamızı sağlar.
Gibi birçok PHP geliştirme çerçeveleri ile entegre Symfony2, Laravel4, Yii, Phalcon ve Zend Framework. Bu, üstün bir geliştirme iş akışı oluşturmak için bir PHP otomasyon test çerçevesi ve bir PHP geliştirme çerçevesini birlikte kullanabileceğimiz anlamına gelir..
3. Behat
Behat, popüler bir davranış odaklı PHP test çerçevesidir. Behat ile yazabileceğimiz testler daha çok koddan çok hikaye gibi. Behat davranış odaklı gelişimin StoryBDD alt türünü kullanır (diğer alt tür SpecBDD'dir).
Çerçeve, Ruby programlama dili için bir test çerçevesi olan Salatalık projesinden ilham almıştır..
4. PHPSpec
PHPSpec ayrıca davranış odaklı test yaklaşımını izler, ancak SpecBDD adlı diğer alt türünü de takip eder. PHPSpec ile ihtiyacımız olan Öncelikle başvuru kodunun nasıl davranacağını açıklayan spesifikasyonları yazın. Ayrıca RSpec adlı bir Ruby test sisteminden ilham aldı..
5. Storyplayer
Storyplayer, mümkün kılan tam yığın test çerçevesidir. Tüm platform için uçtan uca testler yaz. Storyplayer için destek var talep üzerine test ortamları oluşturma ve yok etme. TDD test yaklaşımını izler ve bir uygulamayı bir bütün olarak kontrol edebilecek fonksiyonel testler yazmamıza izin verir..
6. Peridot
Peridot, PHP için hafif ve genişletilebilir bir test çerçevesidir. Bir özellikleri olay odaklı mimari Bu, test cihazlarının kolayca yapmasını sağlar Eklentileri ve muhabirleri kullanarak çerçeveyi özelleştirin.
Peridot kullanır bunu açıkla Uygulama kodumuzun nasıl davranması gerektiğini açıkça tanımlayan açık ve okunabilir bir test dili oluşturmak için sözdizimi.
7. Atoum
Atoum, birim testlerini çalıştırmamızı sağlayan sezgisel ve modern bir PHP test çerçevesidir. Test geliştirmeyi basitleştirir ve genç bir çerçeve olduğu için PHP 5.3'te sunulan bazı yeni yeteneklerden yararlanır.eski PHP sürümleriyle kullanılamaz) bize hızlı ve anlaşılması kolay bir test süreci sağlamak.
Atoum sağlar Test yürütme sırasında yüksek güvenlik, Her test yöntemini kendi PHP işleminde ayırdığı için.
8. Kahlan
Kahlan, şunları içeren Ünite Testleri yazmayı mümkün kılan tam özellikli bir BDD test çerçevesidir. bunu açıkla sözdizimi. KISS (Basit Tutun, Aptal) tasarım ilkesini benimsemiştir. Kahlan en az PHP 5.5 gerektirir.
Küçük bir kod tabanına sahiptir, PHPUnit'ten yaklaşık 10 kat daha küçük olduğu söylenir ve bize genişletilebilir ve özelleştirilebilir bir test iş akışı sağlayan birçok özellik vardır..
9. Selenyum
Selenyum, tarayıcıları otomatikleştiren karmaşık bir test çerçevesidir. Bu, Kullanıcı Kabul Testlerini yazmanın mümkün olduğu anlamına gelir. tüm uygulamayı bir bütün olarak incelemek.
Selenyum, bir tarayıcıyı yerel olarak çalıştırabilen kendi WebDriver API'sine sahip güçlü bir araçtır gerçi gerçek bir kullanıcı onu yerel olarak veya uzaktaki bir makinede kullanır. Selenyum, daha olgun web uygulamalarını test etmek için mükemmel bir araçtır.
Son düşünceler
Otomatikleştirilmiş test çerçeveleri, daha yüksek kalitede PHP kodu yazmamızı sağlar ve dilin popülaritesi nedeniyle birçok seçeneğimiz vardır, bu nedenle geliştirme gereksinimlerimizi en iyi karşılayanı seçebiliriz..
Her zaman aklımızda tutmamız gereken önemli bir şey var. Otomatik test güçlü olabilir, ancak beta testinin yerine asla - Uygulamanın gelecekteki kullanıcıları olacak gerçek insanlar tarafından yapılan testler.