Yazılım 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: | English | ||||
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, fen bilimleri ve yazılım mühendisliğine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi. | |||||||||||
2) Karmaşık yazılım mühendisliği problemlerini tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. | |||||||||||
3) Karmaşık bir yazılım sistemini, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama, gerçekleştirme, sınama, doğrulama, ölçme ve bakımını yapma becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. | |||||||||||
4) Yazılım mühendisliği 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. | |||||||||||
5) Karmaşık mühendislik problemlerinin veya yazılım mühendisliği araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. | |||||||||||
6) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. | |||||||||||
7) 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. | |||||||||||
8) 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. | |||||||||||
9) Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk ve yazılım mühendisliği uygulamalarında kullanılan standartlar hakkında bilgi. | |||||||||||
10) 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. | |||||||||||
11) Yazılım mühendisliği uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın yazılım mühendisliği alanına yansıyan sorunları hakkında bilgi; yazılım mühendisliği çözümlerinin hukuksal 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, fen bilimleri ve yazılım mühendisliğine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi. | |
2) | Karmaşık yazılım mühendisliği problemlerini tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. | |
3) | Karmaşık bir yazılım sistemini, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama, gerçekleştirme, sınama, doğrulama, ölçme ve bakımını yapma becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. | |
4) | Yazılım mühendisliği 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. | |
5) | Karmaşık mühendislik problemlerinin veya yazılım mühendisliği araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. | |
6) | Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. | |
7) | 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. | |
8) | 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. | |
9) | Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk ve yazılım mühendisliği uygulamalarında kullanılan standartlar hakkında bilgi. | |
10) | 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. | |
11) | Yazılım mühendisliği uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın yazılım mühendisliği alanına yansıyan sorunları hakkında bilgi; yazılım mühendisliği çözümlerinin hukuksal 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 |