KaderTarlan

BlogCan

GDG DevFest - LibreOffice Katkı Süreci

Merhaba bu yıl GDG DevFest Istanbul-2015 etkinliğine ekip olarak katılıp LibreOffice Katkı Süreci ve Deneyimlerimizden bahsettik.

Ben de etkinlikte konuşmacıydım ve test alanında yaptığım katkılardan bahsettim. Neleri anlatmış ve yapmışım tekrar bakmak isteyenler için bloğuma da eklemek istedim umarım faydalı olur.

Test bir sistemin en küçük parçalarına kadar yapması gereken görevleri gerçekleştirip gerçekleştirmediğinin kontrolünün yapılması işlemidir.

YAZILIM YAŞAM DÖNGÜSÜ

Yazılım geliştirme döngüsünde denetleme, yönetilme, ölçülebilme en önemli aşamalarımız.

Yazılım parçalarını bu yaşam döngüsünde test ederek, geliştirmenin sonraki aşamalarını daha az hata ile ilerletmek istiyoruz. Bir bileşende yapılan değşişiklik diğer bileşenleri nasıl etkiledi bunu öğrenmek yazdığımız kodun kalitesini ölçmek önemli.

Yazılımın farklı platformalarda başarılı şekilde çalıştı mı beklenilen sağlandı mı? Bunlar sağlandı diyelim peki yazılan kod yük testlerinin altında da aynı şekilde çalıştı mı? 10 kullanıcı 100 kullanıcı 1000 kullanıcı son durum nedir?

Kullanıcı Arayüzü(UI) Testi nedir?

UI, aslında arayüz tasarımıdır.

Bilgisayarımızın tuşları bir arayüz tasarımı örneğidir. Tuşların yerleri, büyüklüğü, renkleri tasarımcının isteği doğrultusunda oluşur. Arayüz tasarımının internet dünyasındaki karşılığı ise butonlar, renkler, boşluklar gibi görsel tasarımlardır.

UI(User Interface) Test , bu testler kodlanmış olan kullanıcı arayüzünün daha iyi şekilde, efektif, sorunsuz çalışmasının kontrolünü sağlayacak testlerdir. UI Test bir arayüz testidir.

Manul test nedir?

Kullanıcılar tarafından yazılımın test edilmesi işlemidir. Test işlemi Yazılım Test Araçları olmadan tamamen insanlar tarafından yapılır.

BugHunting LibreOffice sürüm öncesi ortaya çıkacak ürünün kalitesini ölçmek amacıyla tüm geliştirici ekibinde içinde bulunduğu belirli zaman dilimleri içerisinde hata yakalama etkinliği düzenliyor. Böylece manuel testler ile ürün düzgün çalışıyor mu, bir hata var mı, test edilmiş oluyor.

Hata bulunduysa Bugzilla dediğimiz LibreOffice hata depolama aracına hatalarımızı raporluyoruz ve kontrolünü sağlıyoruz.

Burada işin içine kullanıcı arayüzü için oluşturulmuş test durumları giriyor.

Test durumları gereksinimlere göre hazırladığımız, istenilen aksiyonları belirten ve bunları uyguladıktan sonra oluşmasını beklediğimiz sonuçları da belirttiğimiz belgelerdir.

Test eden kişi hata aramak isterken bunu nasıl yapmalı? Bunun için şöyle düşünelim bir geliştirme yapıldı ve istenilen iki sayıyı topladık ve sonucu da bize ikilik tabana çevirip versin.

Test edecek kişiye; iki sayı girmesini, bunları toplamasını ve sonucun ikilik tabanda doğru şekilde geldi mi diye kontrolünü yapmasını isteyeceksiniz. Test durum belgelerimiz bu aşamaları anlatan rotamız olacak burada. Bir çok test durum belgesini depolayabildiğimiz bir araç geliyor gündeme, Moztrap.

Moztrap nedir?

Bu tip büyük yazılımların özelliklerinin test edilmesi için farklı araçlar kullanılıyor. LibreOffice de bunun için Moztrap aracını kullanıyor. Moztrap, LibreOffice projesinde önemli bir araçtır.

Moztrap, açık kaynak dağıtılmış, test durum yönetim sistemidir. Kullanıcı arayüzü(UI) testlerinin tutulduğu bir platformdur. Bir çok manuel testi depoladığımız ve bunları çalıştırabildiğimiz bir ortam sunar.

LibreOffice projesi bu aracı kullarak kalitesini daha da artırmayı amaçlar. Moztrap, yazılan test durumlarının her adımını çalıştırıp bu adımlar için Passed, Failed, Invalidated sonuçları ile raporlama yapar.

Libreoffice manuel testlerini nasıl oluşturuyor?

LibreOffice test mühendisleri Moztrap aracına test durum adımlarını yazıyorlar. Istenilen işletim sistemi üzerinde istenilen LibreOffice sürümü işaretlenerek hazırlanıyor bu belgeler.

Beklenilen adımlar yazıldıktan sonra bileşenin çalışmasını kontrol edebilmek için testimizi de anlamlı hale getirmek için Verify adımları ile beklenilen sonuçlar yazılır. Buradan yola çıkarak test gerçekler, beklenilen sağlanırsa Passed, sağlanmaz ise Failed,cevapları ile test durumunu incelenir.

Automated UI Tests Nedir ?

Automated UI test bahsettiğimiz UI arayüz testlerinin otomatik hale getirilmesidir. Kodlanmış arayüzü testidir.

Otomasyon testlerin LibreOffice için önemi nedir?

Birçok kullanıcı tarafından geliştirilen bu büyük projede herhangi bir kullanıcının yazdığı bir bileşen başka bir kodu tetikliyor olabilir. Bunu tek tek elle deneyip görmek çok zor bir iş. Bu yüzden LibreOffice için yazılan otomasyon testleri var siz bir bileşen geliştirdiğinizde ve bunu yüklediğinizde kodunuz öncelikle bu testlerden geçirilmeye çalışılıyor. Kodunuz testlerden geçemezse size hata mesajı dönüyor. Testten geçemeyen bir kod LibreOffice için geçerli değildir.

Unit Test nedir?

Unit test yaparken temel amaç yazdığınız kodun her satırının başka bir kod tarafından otomatik olarak test edilmesidir. Unit Test kodları yalnızca çalışması beklenen durumlar için değil var olan metodun vereceği hataları da test eder.

Unit testlerin LibreOffice için önemi nedir?

LibreOffice projesi için hataların erken bulunup düzeltilebilmesi açısından bu sürecin en önemli aşamasını oluşturuyor.
Projeye eklenen her kod parçası için testler çalıştırılır. Bu sayede projede gözü kapalı değişiklik yapmak mümkün olabiliyor. Var olacak bir hatadan haberiniz olacak. Bunun anlamı sorun çok daha büyümeden ya da tasarımın içerisine girmeden sorunu çözmek demektir.

DevFest konuşmamızı yayınlamışlar. 16. dakikadan sonra anlattıklarımı sesli olarak da dinleyebilirsiniz. Kolay gelsin :)

IMAGE ALT TEXT HERE