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 |