Bilgisayar Mühendisliği Yüksek Lisans Programı

Yazılım Kalitesi ve Sınaması(INF 536)

Ders Kodu Dersin Adı Yarıyıl Teori Uygulama Lab Kredisi AKTS
INF 536 Yazılım Kalitesi ve Sınaması 1 3 0 0 3 6
Ön Koşul
Derse Kabul Koşulları
Dersin Dili İngilizce
Türü Seçmeli
Dersin Düzeyi Yüksek Lisans
Dersi Veren(ler) Gülfem ALPTEKİN gulfem@gmail.com (Email)
Dersin Yardımcıları
Dersin Amacı Dersin ana amacı, yazılım kalitesinin ve sistemin kullanıcıların isterlerini karşılayacak şekilde tasarlandığının kontrolünün önemini öğretmektir. Öğrenciye yazılım mühendisliği kalite ve test sürecinin temel teorileri tanıtılır ve bu teorileri bir proje geliştirme sürecinde kullanmaları sağlanır. Bu teoriler, yazılım kalite gereksinimleri, yazılım test teknikleri ve yöntemleri, test akış ve süreçleridir. Öğrencilerin grup veya bireysel olarak gerçekleştirdikleri ders projesi, dönem boyunca öğrenilen yazılım mühendisliği teorisini uygulamaya geçirmeye olanak sağlar.
İçerik 1. Yazılım kalitesi ve testine giriş
2. Doğrulama ve gerçeklemenin temel prensipleri
3. Test ve analiz aktiviteleri
4. Sonlu modeller, bağımlılık ve veri akış modelleri
5. Sonlu durum doğrulaması
6. Test durumu seçimi, fonksiyonel test, kombinatoriyal test
7. Yapısal test, veri akış testi, model-esaslı test
8. Hata-esaslı test, test işleme
9. Ara Sınav
10: Denetleme, program analizi
11. Entegrasyon ve bileşen-esaslı test
12. Sistem, kabul ve regresyon testi
13. Test otomasyonu
14. Test belgeleme
Dersin Öğrenme Çıktıları ÖÇ 1: Öğrenci, yazılım tabanlı bir sistemi geliştirmede, organizasyonun, planlamanın ve kalite kontrolünün önemini ve etkilerini kavrar.
ÖÇ 2: Öğrenci, küçük ölçekli bir yazılım projesi gerçekleştirir.
ÖÇ 3: Öğrenci, testin yazılım sürecindeki yerini ve önemini bilir.
ÖÇ 4: Öğrenci, test tekniklerini ve yöntemlerini öğrenir.
ÖÇ 5: Öğrenci, test akış ve süreçlerini kavrar.
ÖÇ 6: Öğrenci, bir yazılım projesini geliştirme sürecinde ekip içinde çalışmayı öğrenir.
ÖÇ 7: Öğrenci, verilen bir projeye en uygun yazılım geliştirme yaklaşımını ve test yöntemini seçip, uygulayabilir.
ÖÇ 8: Öğrenci, yüksek kaliteli bir yazılım geliştirmek için gerekli araçları tanır.
ÖÇ 9: Öğrenci, yazılım kalite kontrol ve test süreci ile ilgili tüm düşüncelerini teknik bir rapor haline getirmesini öğrenir.
Öğretim Yöntemleri Anlatım, Tartışma, Gösterip Yaptırma, Örnek Olay, İşbirlikli Öğrenme, Proje
Kaynaklar M. Pezze, M. Young, Software Testing and Analysis: Process, Principles, and Techniques, John Wiley & Sons Inc, 2008.
J. Tian, Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement, Wiley, 1st Edition, 2005.
C. Fox, “Introduction to Software Engineering Design, Processes, Principles, and Patterns with UML2”, Addison-Wesley, 2006.
Ders İçeriğini Yazdır
Teori Konu Başlıkları
Hafta Konu Başlıkları
1 Yazılım testi ve kalitesine giriş
2 Doğrulama ve onaylama, temel prensipler
3 Test ve analiz aktiviteleri
4 Sonlu modeller ve veri akış modelleri
5 Test seçimi
6 Fonksiyonel test
7 Girdi uzayını bölütleme ve sınır testi
8 Tümleşik test, yapısal test
9 Ara sınav
10 Model-esaslı test, nesneye yönelik yazılım testi
11 Hata-esaslı test, test gerçekleştirme süreci
12 Inspection, program analizi
13 Sistem, kabul ve regresyon testi, otomatik test
14 Analiz ve test sürecini belgeleme
Uygulama Konu Başlıkları
Hafta Konu Başlıkları
Başarı Notuna Etki Oranları
  Sayı Katkı Payı
Yarıyıl içi çalışmaların başarı notuna katkısı 4 60
Yarıyıl sonu çalışmaların başarı notuna katkısı 1 40
Toplam 5 100
Yarıyıl İçi Çalışmaları
  Sayı Katkı Payı
Ödevler 1 15
Sunum 1 15
Arasınavlar (Hazırlık Süresi Dahil) 1 30
Proje 0 0
Laboratuar 0 0
Diğer Uygulamalar 0 0
Kısa Sınavlar 0 0
Dönem Ödevi / Projesi 0 0
Portfolyo Çalışmaları 0 0
Raporlar 0 0
Öğrenme Günlükleri 0 0
Bitirme Tezi/Projesi 0 0
Seminer 0 0
Diğer 0 0
Toplam 3 60
Numara Program Yeterlilikleri Puan
1 2 3 4 5
1 Bilgisayar mühendisliği alanında bilimsel araştırma yaparak bilgiye genişlemesine ve derinlemesine ulaşır, bilgiyi değerlendirir, yorumlar ve uygular. X
2 Bilgisayar mühendisliğinde uygulanan güncel teknik ve yöntemler ile bunların kısıtları hakkında kapsamlı bilgi sahibidir. X
3 Bilgisayar mühendisliği ile ilgili alanlarda belirsiz, sınırlı ya da eksik verileri kullanarak, bilimsel yöntemlerle bilgiyi tamamlar ve uygular; değişik disiplinlere ait bilgileri bir arada kullanabilir. X
4 Bilgisayar mühendisliği mesleğinin yeni ve gelişmekte olan uygulamalarının farkında olup, gerektiğinde bunları inceler ve öğrenir. X
5 Bilgisayar mühendisliği problemlerini kurgular, çözmek için yöntem geliştirir ve çözümlerde yenilikçi yöntemler uygular. X
6 Yeni ve/veya özgün fikir ve yöntemler geliştirir; karmaşık donanım ve yazılım tabanlı sistemleri veya süreçleri tasarlar ve tasarımlannda yenilikçi/alternatif çözümler geliştirir. X
7 Kuramsal, deneysel ve modelleme esaslı araştırmaları tasarlar ve uygular; bu süreçte karşılaşılan karmaşık problemleri irdeler ve çözümler X
8 Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilir, bu tür takımlarda liderlik yapabilir ve karmaşık durumlarda proje ve risk yönetimi tekniklerini de kullanarak çözüm yaklaşımları geliştirebilir; bağımsız çalışabilir ve sorumluluk alır. X
9 Bir yabancı dili en az Avrupa Dil Portfoyü B2 Genel Düzeyinde kullanarak, sözlü ve yazılı iletişim kurar. X
10 Çalışmalarının süreç ve sonuçlarını, bilgisayar mühendisliği alanındaki veya ilgili alanlardaki ulusal ve uluslararası ortamlarda sistematik ve açık bir sekilde yazılı ya da sözlü olarak aktarır. X
11 Girişimcilik ve yenilikçilik boyutlarını dikkate alarak bilgisayar mühendisliği uygulamalarını gerçekleştirebilir. X
12 Verilerin toplanması, yorumlanması, duyurulması aşamalarında ve mesleki tüm etkinliklerde toplumsal, bilimsel ve etik değerleri gözetir.
13 Bilgisayar mühendisliği uygulamalarının sosyal ve çevresel boyutlarını betimler.
Etkinlikler Sayı Süre Toplam İş Yükü
Ders Süresi 14 3 42
Ödevler 1 25 25
Sunum 1 15 15
Arasınavlar (Hazırlık Süresi Dahil) 1 25 25
Proje 1 25 25
Yarıyıl Sonu Sınavı (Hazırlık Süresi Dahil) 1 30 30
Toplam İş Yükü 162
Toplam İş Yükü / 25 6,48
Dersin AKTS Kredisi 6
Scroll to Top