Pazartesi, Eylül 01, 2008

Test Dünyasında Neler Oluyor... (Bölüm 1)

Bir süredir Pardus'un test işlerinden mesul-üm. Bu zaman zarfında, zaman zaman başka projelerin test işlerini nasıl yürüttüğüne göz atmış olsam da bütün projeleri kapsayan detaylı bir inceleme yapmak vardı aklımda. Test dünyasında işler nasıl yürüyor ? Başkalarından daha iyi olduğumuz yönler neler , nerelerde eksiklerimiz var ? Daha kaliteli bir dağıtım için neleri değiştirebiliriz ? gibi sorulara yanıt arayacağım. Derlediğim bilgilerde gözden kaçan, yanlış anladığım noktalar varsa düzeltmenizden memnun olurum.

Pardus

Daha önce biraz bahsetmiştim test süreçlerimizden. Bu vesile ile güncel değişiklikleri de katarak kısaca özetleyeyim.

Pardus'da Test süreçlerimiz 2 ana kategoriye ayrılıyor; Sürüm öncesi testler ve Sürüm içi testler. Bunlara dair detaylı bilgi wiki sayfamızda mevcut. Bir önceki yazının yazıldığı zamandan bu yana yapılan önemli bir değişiklik ise sürüm içi testleri artık gönüllülerimizle beraber yapıyor olmamız.

Bir sonraki adım da ise hata raporlarına bir onay mekanizması getirerek bu konudaki sorumluluğu da gönüllülerimizle paylaşmayı planlamaktayız.

OpenSuse

Görebildiğim kadarıyla yalnızca bir sonraki sürüme ilişkin test süreçleri mevcut. Kararlı sürüme girecek paketleri/yamaları ne şekilde test ediyorlar buna dair bir bilgiye rastlayamadım.

Geliştirme sürümlerini "Factory" namı ile anıyorlar. Bu sürüme dair yaklaşık 6 aylık yol haritaları belli. Ayrıca ara sürümler arasındaki önemli değişiklikleri de özet halinde yayımlıyorlar [1] Test sonuçlarını bugzilla üzerinden hata girerek raporluyorlar.

Hata takip sistemine nasıl hata girileceğine ilişkin oldukça detaylı dökümantasyona [2] [3] sahipler.

Bu noktaya kadar genel olarak bizden iyi durumdalar. Ama bu konular direkt olarak ilgilendirmiyor test süreçlerini.

Çok basit düzeyde temel test yönergeleri bulunuyor benim baktığım an itibariyle [4] . Bu konuda çok başarılı olduklarını söyleyemeyeceğim. Dağıtımı test etmeye yönelik temel süreçlerde bizim kadar detaylı bir planları yok. Ancak çok detaylı bir yol haritaları olduğu için değişen ve yeni gelen özellikleri test etmek konusunda oldukça detaylı bir çalışma yapmışlar.

İlginç gelen bir diğer nokta da mobil cihazlar ile olan senronizasyona ayrı bir bölüm ayırmışlar.

Son olarak da otomatik test araçları ile ilgili bir takım planları olduğu anlaşılıyor ki, bu araçları inceleyeceğim ayrı bir girdi yazmak niyetindeyim.

Edit: OpenSuse test süreçleri ile ilgili yeni bulduğum bir takım bilgileri eklemek istedim; Öncelikle Depo ve test politikalarını tanımlayan açık bir belge bulunmuyor. Uzun aramaların ardından kalite takımından Holger böyle bir belgeleri bulunmadığını yazdı.

Kalite takımı
demişken, 43 kişiden oluşan ( Novel çalışanı ) bir test takımları var. Açık olarak yazmıyor ama benim tahminim bu ekip sadece OpenSuse için değil Aynı zamanda SLES içinde çalışıyor.

Oldukça geniş bir araçseti kullanıyorlar testler için, liste aşağıda mevcut

• Bonnie.............................• Module Loading
• Buildcrunch...................• Newburn
• DBench...........................• Netperf
• FTPload..........................• NIC Bonding
• File System Stress.........• Process Stress
• LMbench .......................• Sched Stress
• LTP.................................• Reaim
• Memeater......................• Tiobench
• Memtester

Test otomasyonu için HAMSTA adlı bir araçları var ki aslında bu yerel test araçları için bir çeşit framework. Bunun yanı sıra test planlaması içinde Testopia'dan faydalanıyorlar. Ancak bu araç gereğinden fazla karmaşık göründü bana.