CEN315 Introduction to Test Engineering

6 AKTS - 3-0 Süre (T+U)- 5. Yarıyıl- 3 Yerel Kredi

Genel Bilgi

Birim MÜHENDİSLİK FAKÜLTESİ
BİLGİSAYAR MÜHENDİSLİĞİ PR. (İNGİLİZCE)
Kod CEN315
Ad Introduction to Test Engineering
Dönem 2025-2026 Eğitim-Öğretim Yılı
Yarıyıl 5. Yarıyıl
Süre (T+U) 3-0 (T-U) (17 Hafta)
AKTS 6 AKTS
Yerel Kredi 3 Yerel Kredi
Eğitim Dil Türkçe
Seviye Belirsiz
Tür Normal
Etiket S Seçmeli
Öğretim Şekli Yüz Yüze Öğretim
Bilgi Paketi Koordinatörü Öğr. Gör.Dr. Yunus Emre ÇOGURCU
Dersin Öğretim Elemanı
Güncel dönem ders programı henüz yapılmamıştır.


Dersin Amacı / Hedefi

Bu dersin amacı, üçüncü sınıf Bilgisayar Mühendisliği öğrencilerine yazılım kalitesini güvence altına alacak bütüncül test mühendisliği becerileri kazandırmaktır; bu doğrultuda öğrencilere test süreçlerinin kuramsal temellerini öğretmek, ünite‐entegrasyon‐sistem seviyelerinde test senaryoları tasarlayıp otomasyona dökme yetkinliği kazandırmak, JUnit, Selenium, Postman, JMeter, OWASP ZAP ve Jenkins gibi sektör standardı araçlarla çalışarak sürekli entegrasyon ve DevOps odaklı bir test kültürü oluşturmak, performans ve güvenlik gereksinimlerini ölçüp değerlendirmek, hataları sistematik biçimde raporlamak ve çözümlemek, ayrıca edindikleri bulguları İngilizce olarak teknik dokümana ve sunuma dönüştürerek profesyonel iletişim becerilerini geliştirmektir.

Dersin İçeriği

Bu ders, yazılım test mühendisliğine kapsamlı bir giriş sunar: testin yazılım geliştirme yaşam döngüsündeki yeri, test piramidi ve temel kavramlarla başlar; eşdeğer bölümleme ve sınır-değer analizi gibi tekniklerle birim testi (JUnit) ve test odaklı geliştirme (TDD) yaklaşımını işler; sahte nesneler (Mockito) ve kod kapsamı ölçümüyle ileri birim testi becerileri kazandırır. Ardından entegrasyon testi ve API testi (Postman/Newman) kullanılarak modüller arası etkileşimlerin doğrulanması öğretilir; sistem testi ile UI otomasyonu (Selenium) ve test dokümantasyonu üzerine yoğunlaşılır. Test yönetimi, hata yaşam döngüsü, Jenkins tabanlı Sürekli Entegrasyon süreçleri ve Agile/DevOps’ta “shift-left” test kültürü ele alınır. Performans testi (Apache JMeter) ile yük, stres ve dayanıklılık test senaryoları, güvenlik testi (OWASP ZAP, temel statik analiz) ile OWASP Top 10 zaafiyetlerinin saptanması pratiğe dökülür. Ders, Docker ile tutarlı test ortamları ve mikroservis bağlamında kontrat testleri gibi DevOps odaklı test teknikleriyle birleşir; dönem boyunca proje temelli uygulamalar, ara değerlendirmeler, final sunumları ve yeni trendler (AI-destekli test, modern otomasyon çatıları, CI/CD’de testin geleceği) ile tamamlanır.

Dersin Ön Koşulu

yok

Kaynaklar

1-) Introduction to Software Testing – Paul Ammann & Jeff Offutt, 2nd ed. 2-)MIT Lecture Notes Testing and Coverage - https://ocw.mit.edu/courses/6-005-elements-of-software-construction-fall-2008/resources/mit6_005f08_lec09/ 3-)CMU – 17-313 Foundations of Software Engineering - https://www.cs.cmu.edu/~ckaestne/17313/2018/ 4-)Mathur, A. P. (2013). Foundations of software testing, 2/e. Pearson. 5-)Kuhn, D. R., Kacker, R. N., & Lei, Y. (2013). Introduction to combinatorial testing. CRC press.

Notlar

GitHub üzerindeki örnek projeler.


Dersin Öğrenme Çıktıları

Sıra Dersin Öğrenme Çıktıları
ÖÇ01 Karmaşık mühendislik problemlerini tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi.
ÖÇ02 Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
ÖÇ03 Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
ÖÇ04 Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk ve mühendislik uygulamalarında kullanılan standartlar hakkında bilgi.


Program Öğrenme Çıktıları ile İlişkisi

Sıra Tür Program Öğrenme Çıktıları Duzey
PÖÇ01 Bilgi - Kuramsal, Olgusal Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi.
PÖÇ02 Bilgi - Kuramsal, Olgusal Karmaşık mühendislik problemlerini tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. 4
PÖÇ03 Bilgi - Kuramsal, Olgusal Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi.
PÖÇ04 Bilgi - Kuramsal, Olgusal Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. 4
PÖÇ05 Bilgi - Kuramsal, Olgusal Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi.
PÖÇ06 Bilgi - Kuramsal, Olgusal Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. 3
PÖÇ07 Bilgi - Kuramsal, Olgusal Sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi.
PÖÇ08 Bilgi - Kuramsal, Olgusal Yaşam boyu öğrenmenin gerekliliği konusunda farkındalık; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
PÖÇ09 Bilgi - Kuramsal, Olgusal Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk ve mühendislik uygulamalarında kullanılan standartlar hakkında bilgi. 4
PÖÇ10 Bilgi - Kuramsal, Olgusal Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi.
PÖÇ11 Bilgi - Kuramsal, Olgusal Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.


Haftalık Akış

Hafta Konu Ön Hazırlık Yöntemler
1 Test Mühendisliğinin Rolü ve Kalite Temelleri Ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Soru-Cevap
2 Birim Testinin Temelleri Ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Soru-Cevap
3 Gelişmiş Birim Testi (Test Güdümlü Geliştirme ve Mocking) Ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Soru-Cevap
4 Kapsama Metrikleri ve Mutasyon Testi Ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Soru-Cevap
5 Entegrasyon ve API Testi (Postman/Newman) Ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Soru-Cevap
6 Gelişmiş Test Tasarımı - Grafik, Veri akışı, Karar Tabloları Ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Soru-Cevap
7 Model ve Özellik Tabanlı Test (QuickCheck/JQwik) Ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Soru-Cevap
8 Ara Sınavlar Ders notlarının okunması Ölçme Yöntemleri:
Ödev
9 Performans Testi ve İstatistiksel Güvenilirlik Modelleri Ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Soru-Cevap
10 İkili / Kombinatoryal Testler (ACTS, PICT) Ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Soru-Cevap
11 Güvenlik Testi ve Tehdit Modellemesi (OWASP ZAP) Ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Soru-Cevap
12 Kaos Mühendisliği ve Dayanıklılık Testi Ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Soru-Cevap
13 DevOps Test Uygulamaları (CI/CD-Docker) Ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Soru-Cevap
14 Biçimsel Doğrulama Köprüsü Ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Soru-Cevap
15 Gelecek Trendleri Ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Soru-Cevap
16 Yarıyıl Sonu Sınavları Ders notlarının okunması Ölçme Yöntemleri:
Ödev, Yazılı Sınav
17 Yarıyıl Sonu Sınavları Ders notlarının okunması Ölçme Yöntemleri:
Ödev, Yazılı Sınav


Öğrenci İş Yükü - AKTS

Çalışmalar Sayısı Süresi (Saat) İş Yükü (Saat)
Ders ile İlgili Çalışmalar
Ders (Sınav haftaları dahil değildir) 14 3 42
Sınıf Dışı Ders Çalışma (Ön çalışma, pekiştirme) 14 5 70
Değerlendirmeler ile İlgili Çalışmalar
Ödev, Proje, Diğer 1 10 10
Ara Sınavlar (Yazılı, Sözlü, vs.) 1 10 10
Yarıyıl/Yıl Sonu/Final Sınavı 1 30 30
Toplam İş Yükü (Saat) 162
Toplam İş Yükü / 25 (s) 6,48
AKTS 6 AKTS

Güncelleme Zamanı: 30.04.2025 03:11