Programcılar ve Test Uzmanları İşbirliği Yaptığında

Testçiler ve programcılar işbirliği yapmaya başladığında sihirli bir şey olur. Hata izleme sistemi aracılığıyla hataları ileri geri göndermek için daha az zaman harcanır. Bir şeyin gerçekten bir hata mı yoksa yeni bir özellik mi olduğunu anlamaya çalışmak için daha az zaman harcanır ve müşteri beklentilerini karşılamak için iyi bir yazılım geliştirmek için daha fazla zaman harcanır. Kodlama başlamadan önce işbirliğine başlamak için birçok fırsat vardır.

Test kullanıcıları, Fit (Framework for Integrated Test - Entegre Test için Çerçeve) gibi araçlarla müşterilerin kendi alanlarının dilini kullanarak kabul testleri yazmasına ve otomatikleştirmesine yardımcı olabilir. Bu testler programcılara kodlama başlamadan önce verildiğinde, ekip Kabul Testine Dayalı Geliştirme (Acceptance Test Driven Development - ATDD) uyguluyor. Programcılar testleri çalıştırmak için fikstürleri yazar ve ardından testleri geçmek için kod yazar. Bu testler daha sonra regresyon paketinin bir parçası haline gelir. Bu işbirliği gerçekleştiğinde, işlevsel testler erken tamamlanır ve uç koşullarda veya daha büyük resmin iş akışları aracılığıyla keşif testleri için zaman tanır.

Bir adım daha ileri götürebiliriz. Bir testçi olarak, test fikirlerimin çoğunu programcılar yeni bir özelliği kodlamaya başlamadan önce sağlayabilirim. Programcılara herhangi bir önerileri olup olmadığını sorduğumda, neredeyse her zaman bana daha iyi test kapsamı konusunda yardımcı olan veya gereksiz testlere çok fazla zaman harcamaktan kaçınmama yardımcı olan bilgileri sağlıyorlar. Testler ilk fikirlerin çoğunu netleştirdiği için genellikle kusurları önledik. Örneğin, üzerinde çalıştığım bir projede, programcılara verdiğim Uyum testleri, bir joker karakter aramasına yanıt vermek için bir sorgunun beklenen sonuçlarını gösteriyordu. Programcı tamamen yalnızca tam kelime aramalarını kodlamayı amaçlamıştı. Kodlamaya başlamadan önce müşteri ile konuşup doğru yorumu tespit edebildik. İşbirliği yaparak, ikimizi de çok fazla zaman kaybından kurtaran kusuru önledik.

Programcılar, başarılı otomasyon oluşturmak için test uzmanlarıyla da işbirliği yapabilir. İyi kodlama uygulamalarını anlarlar ve test uzmanlarının tüm ekip için çalışan sağlam bir test otomasyon paketi oluşturmasına yardımcı olabilirler. Testler kötü tasarlanmış olduğu için test otomasyon projelerinin başarısız olduğunu sık sık gördüm. Testler çok fazla test etmeye çalışıyor veya testçiler, testleri bağımsız tutabilmek için teknoloji hakkında yeterince bilgi sahibi değiller. Test cihazları genellikle darboğazdır, bu nedenle programcıların otomasyon gibi görevlerde onlarla çalışması mantıklıdır. Neyin erkenden test edilebileceğini anlamak için testçilerle birlikte çalışmak, belki de basit bir araç sağlayarak, programcılara uzun vadede daha iyi kod sunmalarına yardımcı olacak başka bir geri bildirim döngüsü sağlayacaktır.

Testçiler, tek görevlerinin yazılımı kırmak ve programcıların kodunda hatalar bulmak olduğunu düşünmeyi bıraktığında, programcılar, testçilerin onları elde etmeye hazır olduklarını düşünmeyi bırakırlar ve işbirliğine daha açık olurlar. Programcılar, kodlarında kalite oluşturmaktan sorumlu olduklarını fark etmeye başladıklarında, kodun test edilebilirliği doğal bir yan üründür ve ekip birlikte daha fazla regresyon testini otomatikleştirebilir. Başarılı ekip çalışmasının büyüsü başlar.

Janet Gregory Tarafından

Last updated