|
Ön Koşul Dersleri
|
|
|
Eğitimin Dili
|
Türkçe
|
|
Koordinatör
|
DR. ÖĞR. ÜYESİ ÖMÜR ŞAHİN
|
|
Dersi Veren Öğretim Eleman(lar)ı
|
DOÇ. DR. ÜYESİ ÖMÜR ŞAHİN
|
|
Yardımcı Öğretim Eleman(lar)ı
|
|
|
Dersin Veriliş Şekli
|
yüz yüze
|
|
Dersin Amacı
|
Bu ders, öğrencilere modern yazılım testi ve kalite güvencesi ilkelerine ilişkin kapsamlı bir anlayış kazandırmayı; etkili test kümeleri tasarlama, uygulama ve değerlendirme becerisi edinmelerini amaçlamaktadır. Hata analiziyle başlayan ve kapsama ölçütleri, mutasyon testi, regresyon testi, fuzzing, arama tabanlı test ve model tabanlı test gibi ileri otomatik test tekniklerine uzanan konular aracılığıyla öğrenciler aşağıdaki becerileri geliştirecektir:
Birim testlerde görülen kırılgan doğrulamalar ve yetersiz izolasyon gibi yaygın anti-pattern’leri ve zayıflıkları belirleyebilme; okunabilirliği, sürdürülebilirliği ve güvenilirliği artırmak için sistematik yeniden düzenleme tekniklerini uygulayabilme.
Testleri tutarlı biçimde Arrange-Act-Assert (AAA) örüntüsüne göre yapılandırabilme, testin amacını açıkça ifade eden açıklayıcı test metodu adları yazabilme ve davranış doğrulamasını uygulama ayrıntılarına bağımlı testlerden ayırt edebilme.
Test edilen birimleri izole etmek amacıyla test double’ları, yani stub ve mock nesnelerini uygun biçimde kullanabilme; test kalitesini yerleşik yazılım testi ilkelerine göre değerlendirebilme ve somut iyileştirmeleri gerekçelendirebilme.
Kapsama analizi, mutasyon testi ve otomatik test üretimi konularındaki pratik becerileri kullanarak testlerin etkililiğini artırabilme ve güçlü yazılım kalitesinin sağlanmasına katkı sunabilme.
|
|
Dersin Tanımı
|
Bu ders, yazılım testi ve kalite güvencesine kapsamlı bir giriş sunarak hem temel ilkeleri hem de ileri teknikleri ele alır. Öğrenciler, birim düzeyinden sistem düzeyine kadar farklı ölçeklerde test süreçlerini inceleyecek; kapsama ölçütleri, mutasyon testi, regresyon testi, fuzzing, arama tabanlı test üretimi ve model tabanlı test yöntemlerini uygulamayı öğrenecektir. Derste ayrıca pratik becerilere güçlü bir vurgu yapılır. Bu kapsamda öğrenciler; birim testlerdeki zayıflıkları belirleme, okunabilirlik ve sürdürülebilirlik için yeniden düzenleme yapma, Arrange-Act-Assert örüntüsünü uygulama, açıklayıcı test adları yazma ve test doubles kullanımını etkili biçimde gerçekleştirme konularında yetkinlik kazanacaktır. Dersin sonunda öğrenciler, test kümelerini kalite ölçütlerine göre değerlendirebilecek ve iyileştirebilecek; böylece sağlam ve güvenilir yazılımların geliştirilmesine katkı sağlayabilecektir.
|