Yazılım Kalitesi ve Testi dersi yazılım testi ve kalitesi temel kavramları, ilkeleri ve tekniklerini kapsayan bir derstir. Öğrenciler bu derste çeşitli işlevsel ve yapısal test metodlarına aşinalık kazanmalarının yanında ardışık olarak yazılmış programların işlevsel doğruluğunu kanıtlayacak teknikleri öğreneceklerdir. Bu dersin konuları şunları içermektedir: Kara kutu ve beyaz kutu test tasarımı stratejileri, artımlı entegrasyon test teknikleri, teftiş ve gözden geçirme, aksiyomatik doğrulama, karşılaştırma belirtimi dönüşümleri ve işlevsel-kuramsal doğrulama. Öğrenciler derste sunulan teknikleri seçime bağlı alıştırmalarla uygulama yapma fırsatına kavuşacaklar.
Ön Koşullar
-
Eş Koşullar
-
Özel Koşullar
Covid-19 küresel salgını nedeniyle YÖK ve Üniversitemiz Kurullarınca alınan kararlar gereği, bu ders 2020-21 Akademik yılı Güz döneminde yalnız Üniversitemizin sunduğu uzaktan öğretim platformları kullanılarak yapılacaktır. Ders alan öğrencilerin çevrim içi eğitim oturumlarına katılabilmeleri için mikrofon ve kamera ile donatılmış; Internet servis sağlayıcıya en az 0.5 Mbps yükleme ve 1 Mbps indirme hızıyla bağlı bir bilgisayar sahibi olmaları ya da benzer donanıma erişimleri bulunması gerekmektedir. Uzaktan yapılacak denetimli sınavlarda, tüm öğrencilerin kimlik kontrolü ve çevrim-için gözetmenlik süreçlerine uymaları zorunludur.
Anlatım ve ödevler
Ders anlatımını desteklemek için kullanılan sunumlar ve kaynaklar CATS ders sitesinde yayınlanmaktadır. Bu notların yalnız yol haritası olarak kullanılması gerekmektedir. Konuların tam ve ayrıntılı anlatımı ders kitabında bulunmaktadır. Öğrencilerin hazırlıklarını ders tanımında dökümü verilen yazılı kaynaklar ve ödevler üzerinde çalışarak yapmaları gereklidir.
Temel Kaynaklar
Jorgensen, P. C. (2016). Software testing: a craftsman’s approach. CRC press.
Diğer Kaynaklar
Haftalık Ders Programı
Hafta
Dersin İçeriği
Öğretim Yöntem ve Teknikleri
1. Hafta
Derse Giriş, Yazılım Testi Kavramları
Sözlü anlatım
2. Hafta
Yazılım Geliştirme Modelleri ve Yazılım Testi Tanıtım
Sözlü anlatım
3. Hafta
Yazılım Testi Temelleri
Sözlü anlatım
4. Hafta
Dinamik Kara Kutu Testi
Sözlü anlatım
5. Hafta
Statik ve Dinamik Beyaz Kutu Testi
Sözlü anlatım
6. Hafta
Konfigürasyon Testi, Uyumluluk Testi ve Kullanıcı Arayüz Testi
Sözlü anlatım
7. Hafta
Vize
Sözlü anlatım
8. Hafta
Döküman Testi, Güvenlik Testi
Sözlü anlatım
9. Hafta
Web Sitesi Testi
Sözlü anlatım
10. Hafta
Test Araçları, Rasgele Test, Beta Test
Sözlü anlatım
11. Hafta
Test Planlaması
Sözlü anlatım
12. Hafta
Test Durumları, Hata Yaşam Döngüsü ve İzleme Sistemi
Sözlü anlatım
13. Hafta
Yazılım Kalitesi
Sözlü anlatım
14. Hafta
Organizasyonel Yapılar
Sözlü anlatım
15. Hafta
16. Hafta
17. Hafta
Değerlendirme Ölçütleri
Ölçüt Tipleri
Adet
Yüzdesi(%)
Ara sınav(lar)
1
40
Ödev
1
20
Final
1
40
ÖÇ-1
Kara kutu testi ve saydam kutu testi tanımlama, model temelli testi tanımlama
ÖÇ-2
Sınır değer testini açıklama
ÖÇ-3
Eşdeğer sınıf testini tanımlama
ÖÇ-4
Karar tablosu tabanlı testi tanımlama
ÖÇ-5
Yol testi ve veri akış testini açıklama
ÖÇ-6
Yaşam çevrimi temelli testi tanımlama
ÖÇ-7
Entegrasyon testi, sistem testi ve nesneye yönelik testi açıklama
ÖÇ-8
Test güdümlü geliştirme ve keşifsel testi tanımlama
ÖÇ-9
Agile Kavramı, Uygulama alanları
ÖÇ-10
Scrum Framework, uygulama alanları
Program Çıktıları
PÇ-1
Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi.
PÇ-2
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.
PÇ-3
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Ç-4
Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
PÇ-5
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 veyorumlama becerisi.
PÇ-6
Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
PÇ-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.
PÇ-8
Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki
gelişmeleri izleme ve kendini sürekli yenileme becerisi.
PÇ-9
Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi.
PÇ-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.
PÇ-11
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.