Bilgisayar Mühendisliği (İngilizce) | |||||
Lisans | TYYÇ: 6. Düzey | QF-EHEA: 1. Düzey | EQF-LLL: 6. Düzey |
Ders Kodu: | JOB108 | ||||
Ders İsmi: | İçeriden Kalite Güvencesi ve Test | ||||
Ders Yarıyılı: |
Güz Bahar |
||||
Ders Kredileri: |
|
||||
Öğretim Dili: | İngilizce | ||||
Ders Koşulu: | |||||
Ders İş Deneyimini Gerektiriyor mu?: | Hayır | ||||
Dersin Türü: | Bölüm/Program Seçmeli | ||||
Dersin Seviyesi: |
|
||||
Dersin Veriliş Şekli: | Yüz yüze | ||||
Dersin Koordinatörü: | Dr. Öğr. Üy. ALI ASGHAR POUR HAJI KAZEM | ||||
Dersi Veren(ler): |
Dr. Öğr. Üy. ALI ASGHAR POUR HAJI KAZEM |
||||
Dersin Yardımcıları: |
Dersin Amacı: | Bu dersin amacı yazılım geliştirme süreçlerinin kalitesini artırmak ve yazılım ürünlerinin güvenilirliğini sağlamak amacıyla öğrencilere temel kalite güvencesi ve test prensiplerini sunmaktır. Öğrenciler, yazılım yaşam döngüsünün farklı aşamalarında kalite güvence ve test tekniklerini uygulayarak, yazılımın gereksinimlere uygunluğunu, performansını, güvenilirliğini ve kullanılabilirliğini değerlendirmeyi öğrenecekler. Ayrıca, gerçek dünya senaryolarına dayalı uygulamalarla, hata ayıklama, otomasyon ve test planlaması gibi becerileri geliştirerek, yazılım projelerinin başarılı bir şekilde teslim edilmesine katkı sağlama yeteneklerini kazanacaklar. |
Dersin İçeriği: | Bu ders, yazılım kalite güvencesinin temelleri, yazılım test yaşam döngüleri, yazılım test teknikleri, statik testler ve birim testler (ve yeniden yapılandırma), entegrasyon testleri, veritabanı testleri, kullanıcı kabul testleri, test için destek araçları, mocklar ve test hassasiyeti gibi konuları ele almaktadır. Ayrıca, test yönetimi konuları da dersin içeriğinde yer almaktadır. |
Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Yazılım mühendisliği uygulamalarında yazılım kalite güvencesi ve test prensiplerini anlamak. 2) Kullanıcı gereksinimlerini karşılamak için uygun yazılım kalite güvencesi metodolojilerini ve yazılım test araçlarını seçme ve uygulama. 3) Yazılım test yaşam döngüleriyle uyumlu olarak yazılım kalitesini sağlamak amacıyla yazılım test ortamlarını planlama, tasarlama ve kurma. 4) Test süreçlerinde bulunması gereken alt öğeleri tanımlayabilme ve görevlerini kavrayabilme 5) Endüstri gereksinimlerini ve standartlarını iyi anlayarak yazılım test sonuçlarını değerlendirme ve analiz etme yoluyla yazılım kalitesini artırma. |
Hafta | Konu | Ön Hazırlık |
1) | Yazılım kalite güvencesi prensipleri | - |
2) | Yazılım test yaşam döngüleri | - |
3) | Test teknikleri, Test Piramidi ve Fonksiyonel Testler | - |
4) | Birim test prensipleri | - |
5) | Integration tests and user acceptance tests | - |
6) | Otomasyon testleri ve Selenium | - |
7) | API Testleri | - |
8) | Ara Sınav | - |
9) | Mocklar ve test hassasiyeti | - |
10) | Veritabanı ve Göç Testleri | - |
11) | Yük Testleri | - |
12) | Yazılım testinde endüstri en iyi uygulamaları | - |
13) | Selenium atölyesi | - |
14) | JMeter atölyesi | - |
Ders Notları / Kitaplar: | Software Testing: An ISTQB-BCS Certified Tester Foundation guide - 4th edition, |
Diğer Kaynaklar: | Software Testing: An ISTQB-BCS Certified Tester Foundation guide - 4th edition, |
Course Learning Outcomes | 1 |
2 |
3 |
4 |
5 |
||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Program Kazanımları | |||||||||||
1) Matematik, bilim ve bilgisayar mühendisliği prensipleri hakkında yeterli bilgiye sahip olma, hem teorik hem de pratik olarak, ve bu bilgiyi karmaşık mühendislik problemlerine uygulayabilme becerisi. | |||||||||||
2) Uygun analiz ve modelleme tekniklerini kullanarak karmaşık bilgisayar mühendisliği problemlerini tanımlama, formülleme ve çözebilme yeteneği. | |||||||||||
3) Belirli gereksinimleri karşılayan ve gerçekçi kısıtlar ve koşullar altında çalışan karmaşık bilgisayar sistemleri, cihazlar veya ürünler tasarlama ve geliştirme yeteneği, modern tasarım yöntemlerini kullanma yeteneği. | |||||||||||
4) Karmaşık bilgisayar mühendisliği problemlerinin analizi ve çözümü için kullanılan modern teknikleri ve araçları geliştirme, seçme ve kullanabilme yeteneği, bilgi teknolojilerini etkili bir şekilde kullanabilme yeteneği. | |||||||||||
5) Karmaşık bilgisayar mühendisliği problemleri veya araştırma konularının incelenmesinde deney planlama ve yürütme, veri toplama ve analiz etme, sonuçları yorumlama yeteneği. | |||||||||||
6) Çok disiplinli ekiplerde etkili bir şekilde çalışma yeteneği; bireysel çalışma becerileri. | |||||||||||
7) Sözlü ve yazılı iletişim becerileriyle etkili iletişim kurabilme; en az bir yabancı dil bilgisi; etkili raporlar yazabilme ve yazılı raporları anlayabilme, tasarım ve üretim raporları hazırlayabilme, etkili sunumlar yapabilme, açık ve anlaşılır talimatlar verip alabilme yeteneği. | |||||||||||
8) Yaşam boyu öğrenme gerekliliğinin farkında olma; bilgiye erişme yeteneği, bilim ve teknolojideki gelişmeleri takip etme ve sürekli yenileme yeteneği. | |||||||||||
9) Etik prensiplere, mesleki ve etik sorumluluğa uygun davranma; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibi olma. | |||||||||||
10) Proje yönetimi, risk yönetimi ve değişim yönetimi gibi iş uygulamaları hakkında bilgi; girişimcilik ve yenilik farkındalığı; sürdürülebilir kalkınma hakkında bilgi. | |||||||||||
11) Bilgisayar mühendisliği uygulamalarının sağlık, çevre ve güvenlik üzerindeki etkileri ve bilgisayar mühendisliğine yansıyan dönemin sorunları hakkında bilgi sahibi olma; bilgisayar mühendisliği çözümlerinin yasal sonuçları konusunda farkındalık. |
Etkisi Yok | 1 En Düşük | 2 Orta | 3 En Yüksek |
Dersin Program Kazanımlarına Etkisi | Katkı Payı | |
1) | Matematik, bilim ve bilgisayar mühendisliği prensipleri hakkında yeterli bilgiye sahip olma, hem teorik hem de pratik olarak, ve bu bilgiyi karmaşık mühendislik problemlerine uygulayabilme becerisi. | |
2) | Uygun analiz ve modelleme tekniklerini kullanarak karmaşık bilgisayar mühendisliği problemlerini tanımlama, formülleme ve çözebilme yeteneği. | |
3) | Belirli gereksinimleri karşılayan ve gerçekçi kısıtlar ve koşullar altında çalışan karmaşık bilgisayar sistemleri, cihazlar veya ürünler tasarlama ve geliştirme yeteneği, modern tasarım yöntemlerini kullanma yeteneği. | |
4) | Karmaşık bilgisayar mühendisliği problemlerinin analizi ve çözümü için kullanılan modern teknikleri ve araçları geliştirme, seçme ve kullanabilme yeteneği, bilgi teknolojilerini etkili bir şekilde kullanabilme yeteneği. | |
5) | Karmaşık bilgisayar mühendisliği problemleri veya araştırma konularının incelenmesinde deney planlama ve yürütme, veri toplama ve analiz etme, sonuçları yorumlama yeteneği. | |
6) | Çok disiplinli ekiplerde etkili bir şekilde çalışma yeteneği; bireysel çalışma becerileri. | |
7) | Sözlü ve yazılı iletişim becerileriyle etkili iletişim kurabilme; en az bir yabancı dil bilgisi; etkili raporlar yazabilme ve yazılı raporları anlayabilme, tasarım ve üretim raporları hazırlayabilme, etkili sunumlar yapabilme, açık ve anlaşılır talimatlar verip alabilme yeteneği. | |
8) | Yaşam boyu öğrenme gerekliliğinin farkında olma; bilgiye erişme yeteneği, bilim ve teknolojideki gelişmeleri takip etme ve sürekli yenileme yeteneği. | |
9) | Etik prensiplere, mesleki ve etik sorumluluğa uygun davranma; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibi olma. | |
10) | Proje yönetimi, risk yönetimi ve değişim yönetimi gibi iş uygulamaları hakkında bilgi; girişimcilik ve yenilik farkındalığı; sürdürülebilir kalkınma hakkında bilgi. | |
11) | Bilgisayar mühendisliği uygulamalarının sağlık, çevre ve güvenlik üzerindeki etkileri ve bilgisayar mühendisliğine yansıyan dönemin sorunları hakkında bilgi sahibi olma; bilgisayar mühendisliği çözümlerinin yasal sonuçları konusunda farkındalık. |
Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
Projeler | 1 | % 10 |
Ara Sınavlar | 1 | % 30 |
Final | 1 | % 60 |
Toplam | % 100 | |
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 40 | |
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 60 | |
Toplam | % 100 |
Aktiviteler | Aktivite Sayısı | Aktiviteye Hazırlık | Aktivitede Harçanan Süre | Aktivite Gereksinimi İçin Süre | İş Yükü | ||
Ders Saati | 13 | 3 | 39 | ||||
Sınıf Dışı Ders Çalışması | 14 | 5 | 70 | ||||
Proje | 2 | 5 | 10 | ||||
Ödevler | 3 | 3 | 9 | ||||
Ara Sınavlar | 1 | 3 | 3 | ||||
Final | 1 | 3 | 3 | ||||
Toplam İş Yükü | 134 |