SWE314 Software Validation and Testingİstanbul Okan ÜniversitesiAkademik Programlar Yazılım Mühendisliği (İngilizce) Öğrenciler için Genel BilgiDiploma EkiErasmus BeyanıUlusal Yeterlilikler
Yazılım Mühendisliği (İngilizce)
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: SWE314
Ders İsmi: Software Validation and Testing
Ders Yarıyılı: Güz
Ders Kredileri:
Teorik Pratik Kredi AKTS
3 0 3 7
Öğretim Dili: EN
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu Ders
Dersin Seviyesi:
Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Prof. Dr. SEMİH BİLGEN
Dersi Veren(ler): Prof. Dr. SEMİH BİLGEN
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu dersin amacı, Yazılım Mühendisliği lisans öğrencilerine yazılım geçerleme ve test süreçlerinin teorik ve pratik yönleri hakkında farkındalık kazandırmaktır.
Dersin İçeriği: Doğrulama ve geçerlemeye giriş ve motivasyon; yazılım testine genel bakış, test sürecinin temelleri, testin genel ilkeleri, tanımlar ve kavramlar, yazılım geliştirme yaşam döngüsünde test, test türleri, test seviyeleri, test metrikleri; yazılım incelemesi (inspection) ve kod gözden geçirmeleri (code reviews), teknik gözden geçirmeler, eşli programlama; belirtim tabanlı test, girdiye dayalı bölümleme, eşdeğerlik sınıfı bölümlemesi, sınır değer analizi, durum geçiş testi, karar tablosu tekniği, kullanım durumu (use case) testi; yapısal test, çizge (graph) kapsama, mantık kapsama, sözdizimi tabanlı test, deyim (statement) kapsama, dal (branch) kapsama, koşul kapsama, yol (path) kapsama, enstrümantasyon ve araç desteği; sistem, kabul ve regresyon testleri; model tabanlı test; çalışma zamanı doğrulaması; model denetimi, sonlu durum doğrulamasında zamansal mantık, hesaplamalı ağaç mantığı (CTL); güvenlik (safety) analizi ve yazılım güvenilirlik (reliability) mühendisliği.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
1) Yazılım doğrulama (verification) ve geçerleme (validation) ile ilgili kavram ve teorileri; ayrıca yazılım testine ilişkin genel kavram ve teorileri kavramak.
2) Model tabanlı test ve model denetimi (model checking) ile ilgili kavram ve teorileri kavramak ve bunları uygulayabilmek.
3) Çalışma zamanı doğrulaması (run-time verification) ile ilgili kavram ve teorileri kavramak ve bunları uygulayabilmek.
4) Geliştirme projelerinde uygun yazılım doğrulama ve geçerleme tekniklerini seçmek ve uygulamak.
5) Yazılım doğrulama ve geçerlemenin olanaklarını ve sınırlılıklarını kavramak.
2 - Beceriler
Bilişsel - Uygulamalı
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Kurs Organizasyonu Yok
2) Yazılım Doğrulama ve Doğrulama için Motivasyon Read Chapter 1,2,3,4
3) Yazılım Kalitesi Modelleri; Yazılım Güvenilirliği Read Chapter 1,2,3,4
4) Sonlu modeller, bağımlılık ve veri akışı modelleri Read Chapter 6,7
5) Yazılım Test Seviyeleri Yok
6) Test Otomasyon Çerçevesi (JUnit); Test Durumu Seçimi ve Yeterliliği Read Chapter 9
7) Fonksiyonel test Read Chapter 10
8) Vize Sınavı Yok
9) Kombinatoryal Testler Read Chapter 11
10) Sonlu Modeller Read Chapter 5, 6
11) Bağımlılık ve veri akışı modelleri; Yapısal Testler - Kapsama Metrikleri Read Chapter 12, 13, 14
12) Yapısal Testler - Veri Akışı Testleri Yok
13) Süreç; Test Odaklı Geliştirme Read Chapter 20,21
14) Model Denetimi; Özet; Read Chapter 8,14
15) Final Sınavı Yok

Kaynaklar

Ders Notları / Kitaplar: Software Testing and Analysis: Process, Principles and Techniques, Wiley, ISBN 0471455938., Mauro Pezzè, Michal Young, 2008, Wiley
Diğer Kaynaklar: None

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

3

4

5

Program Kazanımları
1) Proje yönetimi ile risk yönetimi ve değişiklik yönetimi gibi iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik ve sürdürebilir kalkınma hakkında farkındalık.
2) Matematik, fen bilimleri ve kendi dalları ile ilgili mühendislik konularında yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi.
3) Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi.
4) 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. (Gerçekçi kısıtlar ve koşullar tasarımın niteliğine göre, ekonomi, çevre sorunları, sürdürülebilirlik, üretilebilirlik, etik, sağlık, güvenlik, sosyal ve politik sorunlar gibi ögeleri içerirler.)
5) Mühendislik uygulamaları için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
6) Mühendislik problemlerinin incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi.
7) Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi.
8) Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
9) Mesleki ve etik sorumluluk bilinci.
10) Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ile çağın sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.
11) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Düşük 3 Orta 4 Yüksek 5 En Yüksek
           
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) Proje yönetimi ile risk yönetimi ve değişiklik yönetimi gibi iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik ve sürdürebilir kalkınma hakkında farkındalık.
2) Matematik, fen bilimleri ve kendi dalları ile ilgili mühendislik konularında yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi. 1
3) Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. 4
4) 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. (Gerçekçi kısıtlar ve koşullar tasarımın niteliğine göre, ekonomi, çevre sorunları, sürdürülebilirlik, üretilebilirlik, etik, sağlık, güvenlik, sosyal ve politik sorunlar gibi ögeleri içerirler.) 2
5) Mühendislik uygulamaları için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
6) Mühendislik problemlerinin incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. 5
7) Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi.
8) Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
9) Mesleki ve etik sorumluluk bilinci.
10) Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ile çağın sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık. 3
11) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.

Öğrenme Etkinliği ve Öğretme Yöntemleri

Anlatım
Beyin fırtınası /Altı şapka
Grup çalışması ve ödevi
Okuma
Proje Hazırlama
Rapor Yazma

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Grup Projesi
Raporlama

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Projeler 1 % 20
Ara Sınavlar 1 % 20
Final 1 % 40
Rapor Teslimi 1 % 20
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 60
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 40
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 14 3 42
Proje 1 30 30
Ara Sınavlar 1 20 20
Rapor Teslimi 1 20 20
Final 1 40 40
Toplam İş Yükü 152