| Ders Kodu: | JOB155 | ||||
| Ders İsmi: | Çeviklik ve Yazılım Test Temelleri | ||||
| Ders Yarıyılı: | Güz | ||||
| Ders Kredileri: |
|
||||
| Öğretim Dili: | Türkçe | ||||
| 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. MUHAMMED DAVUD | ||||
| Dersi Veren(ler): |
Dr. Öğr. Üy. ALI ASGHAR POUR HAJI KAZEM |
||||
| Dersin Yardımcıları: |
| Dersin Amacı: | "Bu dersin amacı, öğrencilere yazılım geliştirme süreçlerinde güncel ve etkili yöntemleri öğretmek, bu yöntemlerin nasıl uygulanacağını ve avantajlarını kavratmaktır. Ders, öncelikle Agile metodolojisinin temel prensiplerini anlatarak başlayacak ve ardından Scrum frameworkünü detaylı bir şekilde ele alacaktır. Öğrenciler, Scrum’un işleyişini, rollerini ve seremonilerini öğrenerek pratikte nasıl uygulanacağını kavrayacaklardır. Scrum’un ardından, yazılım testinin temel prensipleri olan ISTQB Foundation Level konularına geçiş yapılarak, yazılım testi süreçleri ve teknikleri hakkında bilgi verilecektir. Bu bölümde, test tasarımı teknikleri, test yönetimi, test araçları ve yazılım kalitesinin nasıl sağlanacağı gibi konular işlenecektir. Son olarak, Agile Testing konusuna değinilerek, Agile metodolojisi ile entegre bir şekilde nasıl etkin test süreçleri yürütülebileceği anlatılacaktır. Öğrenciler, Agile ortamlarında test stratejileri geliştirme, sürekli entegrasyon ve teslimat süreçlerinde testin rolünü anlama fırsatı bulacaklardır. Bu ders, öğrencilere teorik bilgilerin yanı sıra pratik uygulama fırsatları da sunarak, gerçek dünya projelerinde kullanabilecekleri beceriler kazandırmayı amaçlamaktadır. Öğrencilerin, yazılım geliştirme ve test süreçlerinde kaliteyi artıracak modern yöntemleri benimsemeleri ve uygulamaları hedeflenmektedir." |
| Dersin İçeriği: | Ders, Agile metodolojisinin temelleri, Scrum frameworkü, yazılım testinin temel prensipleri ve Agile test yaklaşımlarını ele almaktadır. Dersin içeriği: Agile Manifestosu, Agile metodolojiler (Scrum, Kanban, XP, Lean) ve Agile ile geleneksel yaklaşımlar arasındaki farklar. Scrum'un tanımı, roller (Product Owner, Scrum Master, Development Team), artefaktlar (Product Backlog, Sprint Backlog, Increment) ve seremoniler (Sprint Planning, Daily Stand-up, Sprint Review, Sprint Retrospective). Yazılım testine giriş, test seviyeleri (birim testi, entegrasyon testi, sistem testi, kabul testi) ve test teknikleri (kara kutu testi, beyaz kutu testi, deneyime dayalı testler). Test yönetimi, planlama, izleme ve kontrol, risk temelli test ve test araçları. Agile testing, Agile test dörtlüsü (Test Quadrants), Agile testing prensipleri (hızlı geribildirim, sürekli entegrasyon, TDD, BDD), Agile test teknikleri (exploratory testing, pair testing) ve Agile test otomasyonu. Uygulamalı çalışmalar kapsamında Scrum simülasyonları, test case yazma ve yürütme, ve test otomasyonu uygulamaları yer almaktadır. Ders, öğrencilere teorik bilgilerle birlikte pratik uygulama fırsatları sunarak, yazılım geliştirme süreçlerinde etkili ve verimli çalışma becerileri kazandırmayı amaçlamaktadır. |
|
Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Agile manifestosu ve prensipleri ile Scrum frameworkünün (roller, seremoniler, artifekler) temellerini anlama ve açıklayabilme. 2) Scrum seremonilerini etkin bir şekilde uygulama, Product Backlog ve Sprint Backlog yönetimi yapabilme, kullanıcı hikayeleri yazma becerisi kazanma. 3) Yazılım testinin seviyelerini ve tekniklerini (kara kutu, beyaz kutu, deneyime dayalı testler) kavrayabilme, test yönetimi ve planlaması konularında bilgi sahibi olma. 4) Agile testing prensiplerini, test stratejilerini ve tekniklerini (TDD, BDD) anlama ve uygulama, test otomasyon araçları ile CI/CD süreçlerini entegre edebilme. 5) Scrum simülasyonları, test case yazma, test otomasyonu uygulamaları ile pratik beceriler geliştirme ve ekip içi işbirliği ile etkili çalışma yeteneği kazanma. |
| Hafta | Konu | Ön Hazırlık |
| 1) | Giriş ve Agile Temelleri | |
| 2) | Scrum seremonilerini etkin şekilde yönetebilme | |
| 3) | Yazılım testi süreçlerini ve seviyelerini kavrama | |
| 4) | Scrum Ceremonies - 1 | |
| 5) | Scrum Ceremonies - 2 | |
| 6) | Scrum’ın İşleyişi ve Pratik Uygulama | |
| 7) | Yazılım Testine Giriş | |
| 8) | Ara Sınav | |
| 9) | Test Seviyeleri ve Tipleri | |
| 10) | Test Tasarım teknikleri ve test case yazımı ve Test Otomasyonu | |
| 11) | Test Tasarım teknikleri - Test Senaryo yazımı - Sektörde yaygın kullanılan araçlar ve teknikler ve Örnekler | |
| 12) | Yazılım Testinde Hatalar - Hata Raporlaması - Sektörde yaygın kullanılan araçlar ve Örnekler | |
| 13) | Agile Testing Nedir? | |
| 14) | Agile Test Teknikleri ve Stratejileri |
| Ders Notları / Kitaplar: | Software Testing: An ISTQB-BCS Certified Tester Foundation guide - 4th edition, |
| Diğer Kaynaklar: | Course Slides Ders Notları |
| Ders Öğrenme Kazanımları | 1 |
2 |
3 |
4 |
5 |
|---|---|---|---|---|---|
| Program Kazanımları |
| Etkisi Yok | 1 En Düşük | 2 Orta | 3 En Yüksek |
| Dersin Program Kazanımlarına Etkisi | Katkı Payı |
| Değerlendirme Yöntemleri ve Kriterleri | Aktivite Sayısı | Katkı Payı |
| Ara Sınavlar | 1 | % 40 |
| Final | 1 | % 60 |
| Toplam | % 100 | |
| Aktiviteler | Aktivite Sayısı | Aktiviteye Hazırlık | Aktivitede Harcanan Süre | Aktivite Gereksinimi İçin Süre | İş Yükü | ||
| Ders Saati | 13 | 3 | 39 | ||||
| Sınıf Dışı Ders Çalışması | 13 | 5 | 65 | ||||
| Ara Sınavlar | 1 | 10 | 10 | ||||
| Final | 1 | 20 | 20 | ||||
| Toplam İş Yükü | 134 | ||||||