Ders Adı Yazılım Testi
Ders Kodu BPR-3211
Dersin Türü Zorunlu
Ders Biriminin Seviyesi Ön Lisans
Yıl 2
Dönem 3.Yarıyıl
AKTS 3
Dersi Veren(ler) Öğr. Gör. Ziya DİRLİK
Dersin Yardımcıları
Ders İşleme Biçimi Yüz Yüze
Önkoşul Dersleri
Dersin İçeriği Yazılım testinin temel kavramları ve önemi Test stratejileri ve yazılım geliştirme yaşam döngüsünde test süreçleri Fonksiyonel ve fonksiyonel olmayan testler Test tasarım teknikleri (Black-box, White-box, Grey-box) Test otomasyonu ve araçları (Selenium, JUnit vb.) Test yönetimi ve hata raporlama süreçleri Performans testi, yük testi ve güvenlik testi Agile ve DevOps süreçlerinde test Test dokümantasyonu ve test sonuçlarının analizi Test süreçlerinde kalite güvencesi ve sürekli iyileştirme
Dersin Verildiği Diller Türkçe
Dersin Amacı zılım geliştirme sürecinde kalite güvencesi sağlamak için test tekniklerini, yöntemlerini ve araçlarını tanıtarak, öğrencilerin yazılım hatalarını tespit etme, analiz etme ve raporlama becerilerini kazandırmaktır. Öğrenciler, çeşitli yazılım test stratejilerini öğrenerek, yazılım projelerinde etkin test süreçleri oluşturmayı ve test süreçlerinin yazılımın genel başarısına olan etkisini anlamayı hedefler.
Ders Yapısı
Temel/Alana Özgü Mesleki Dersler 60
Uzmanlık/Program Dersi 0
Destek Dersi 0
Beceri,İletişim ve Yönetim Becerileri Dersi 20
Aktarılabilir Beceri Dersi 20
Matematik ve Temel Bilimler 0
Temel Eğitim 0
Ders İşleme Şekli
Sınıf Dersi 0
Sınıf Dersi açıklama 0
Problem Saati 0
Problem Saati Açıklama 0
Laboratuvar 100
Laboratuvar Açıklama 1
Diğer 0
Diğer Açıklama 0
No Dersin Kazanımları  
1 Yazılım testi kavramlarını anlamak.
2 Test süreçlerini ve test seviyelerini tanımlamak.
3 Fonksiyonel ve fonksiyonel olmayan testleri ayırt etmek.
4 Test tasarım tekniklerini uygulamak.
5 Manuel ve otomatik testlerin farklarını açıklamak.
6 Test otomasyon araçlarını kullanabilmek.
7 Performans ve yük testleri gerçekleştirmek.
8 Yazılım güvenliği testlerini uygulamak.
DERSİN KAZANIMLARI / PROGRAM YETERLİKLERİ İLİŞKİ MATRİSİ
DKPÇ1PÇ2PÇ3PÇ4PÇ5PÇ6PÇ7PÇ8PÇ9PÇ10PÇ11PÇ12PÇ13PÇ14PÇ15
1
2
3
4
5
6
7
8
9
10
5-Çok Yüksek İlişkili 4- Yüksek İlişkili 3-Orta İlişkili 2- Zayıf İlişkili 1-İlişkisiz
Hafta Konular  
1 Yazılım testi nedir, yazılım hatalarının türleri, testin yazılım geliştirme döngüsündeki önemi.
  Ön Hazırlık: Yazılım geliştirme süreçleri ve yazılım hataları hakkında genel bilgi edinilmesi.
2 Birim testi, entegrasyon testi, sistem testi, kabul testi.
  Ön Hazırlık: Test seviyeleri ile ilgili literatür taraması yapılması.
3 Fonksiyonel testlerin önemi, güvenlik ve performans testlerinin tanıtımı.
  Ön Hazırlık: Fonksiyonel ve fonksiyonel olmayan test tipleri hakkında makale okunması.
4 Black-box, White-box ve Grey-box test tekniklerinin karşılaştırılması ve kullanım alanları.
  Ön Hazırlık: Bu test teknikleri hakkında temel kavramların araştırılması.
5 Test vakalarının ve senaryolarının nasıl yazılacağı ve uygulanacağı.
  Ön Hazırlık: Test senaryosu örneklerinin incelenmesi.
6 Manuel test süreçleri ve kullanılabilecek araçlar.
  Ön Hazırlık: Manuel test araçları (örneğin, TestRail) hakkında bilgi toplanması.
7 Test otomasyonuna giriş, avantajları, dezavantajları.
  Ön Hazırlık: Test otomasyonunun temel prensipleri hakkında okuma yapılması.
8 Selenium gibi popüler otomasyon araçlarının kullanımı.
  Ön Hazırlık: Selenium kurulum ve temel kullanım talimatlarının incelenmesi.
9 Performans testi ve yük testi nasıl yapılır, kullanılan araçlar (JMeter vb.).
  Ön Hazırlık: Performans ve yük testi kavramları hakkında kaynakların incelenmesi.
10 Yazılım güvenlik testlerinin önemi, temel güvenlik test araçları.
  Ön Hazırlık: Yazılım güvenliği hakkında temel bir kaynak okunması.
11 Hata raporlama teknikleri, hata izleme araçları (örneğin, Jira, Bugzilla).
  Ön Hazırlık: Hata raporlama süreçleri hakkında makale okunması.
12 Test yönetimi, test planlama, test süreçlerinin izlenmesi ve değerlendirilmesi.
  Ön Hazırlık: Test yönetimi ile ilgili literatür taraması yapılması.
13 Agile ve DevOps ortamlarında test süreçlerinin nasıl yönetileceği.
  Ön Hazırlık: Agile ve DevOps metodolojilerinde yazılım testi hakkında okuma yapılması.
14 Test sonuçlarının değerlendirilmesi, sürekli iyileştirme prensipleri.
  Ön Hazırlık: Test sonuçlarının nasıl analiz edileceği ve iyileştirme süreçleri hakkında araştırma yapılması.
No Program Çıktısı Katkı Düzeyi
1 Mesleği ile ilgili temel, güncel ve uygulamalı bilgilere sahip olur. 4
2 İş sağlığı ve güvenliği, çevre bilinci ve kalite süreçleri hakkında bilgi sahibi olur. 3
3 Mesleği için güncel gelişmeleri ve uygulamaları takip eder, etkin şekilde kullanır. 5
4 Mesleği ile ilgili bilişim teknolojilerini (yazılım, program, animasyon vb.) etkin kullanır. 5
5 Mesleki problemleri ve konuları bağımsız olarak analitik ve eleştirel bir yaklaşımla değerlendirme ve çözüm önerisini sunabilme becerisine sahiptir. 4
6 Bilgi ve beceriler düzeyinde düşüncelerini yazılı ve sözlü iletişim yolu ile etkin biçimde sunabilir, anlaşılır biçimde ifade eder. 3
7 Alanı ile ilgili uygulamalarda karşılaşılan ve öngörülemeyen karmaşık sorunları çözmek için ekip üyesi olarak sorumluluk alır. 3
8 Kariyer yönetimi ve yaşam boyu öğrenme konularında farkındalığa sahiptir. 4
9 Alanı ile ilgili verilerin toplanması, uygulanması ve sonuçlarının duyurulması aşamalarında toplumsal, bilimsel, kültürel ve etik değerlere sahiptir. 3
10 Bir yabancı dili kullanarak alanındaki bilgileri takip eder ve meslektaşları ile iletişim kurar. 3
11 Algoritma ve veri yapılarını oluşturur ve matematiksel hesapları yapar. 3
12 Web programlama teknolojilerini açıklar ve uygular. 4
13 Veri tabanı tasarımı ve yönetimini gerçekleştirir. 4
14 Yazılımları test eder ve hataları giderir. 5
15 Veri yönetimi, veri işleme ve analiz etme becerisine sahiptir. 4
Yarıyıl İçi Çalışmaları Sayısı Katkı Payı
Ara Sınav 1 72
Kısa Sınav 0 0
Ödev 14 28
Devam 0 0
Uygulama 0 0
Labaratuvar 0 0
Proje 0 0
Atölye 0 0
Seminer 0 0
Arazi Çalışması 0 0
Sözlü sınav 0 0
Portfolyo 0 0
Doküman İncelemesi 0 0
Performans değerlendirme 0 0
Sunum 0 0
Alan Çalışması 0 0
Vaka Çalışması 0 0
Video Kaydı 0 0
Öz değerlendirme 0 0
Akran Değerlendirme 0 0
Eşleştirme Testleri 0 0
Çoktan seçmeli test 0 0
Kısa Cevaplı test 0 0
Kontrol listeleri 0 0
Dereceleme Ölçekleri 0 0
Zihin Haritalama 0 0
Araştırma yazısı 0 0
Çevrimiçi anket 0 0
Çevrimiçi Kısa sınav 0 0
TOPLAM 100
Yıliçinin Başarıya Oranı 40
Finalin Başarıya Oranı 60
TOPLAM 100
AKTS kredilerinin belirlenmesinde öğrenci işyükü anketlerinden faydalanılmaktadır.
Etkinlik Sayısı Süresi Toplam
Ders Süresi (Sınav Haftaları Hariç) 14 3 42
Sınıf Dışı Ders Çalışma Süresi 14 1 14
Ödevler 14 3 42
Sunum/Seminer 0 0 0
Proje 0 0 0
Laboratuar Çalışması 0 0 0
Arazi ya da Alan Çalışması 0 0 0
Kısa Sınav 0 0 0
Araştırma 0 0 0
Rapor Yazma/Rapor sunumu 0 0 0
Vaka İncelemesi 0 0 0
Staj 0 0 0
Uygulama/Materyal Hazırlama 0 0 0
Tez Çalışması 0 0 0
Ara Sınavlar 1 1 1
Yarıyıl Sonu Sınavı 1 1 1
İşyükü Saati (30) 0
Toplam İşyükü / Saat 100    
Dersin Akts Kredisi 3    
Ders Notu Kitap: Foundations of Software Testing (Dorothy Graham, Erik van Veenendaal, Isabel Evans) Yazılım testinin temel prensipleri ve uygulamaları üzerine kapsamlı bir kaynak. Makale: "Software Testing: Principles, Techniques, and Tools" (Aditya P. Mathur) Test süreçlerinin akademik ve pratik yönlerini detaylı şekilde anlatan bir makale.
Diğer Kaynaklar Kitap: Foundations of Software Testing (Dorothy Graham, Erik van Veenendaal, Isabel Evans) Yazılım testinin temel prensipleri ve uygulamaları üzerine kapsamlı bir kaynak. Makale: "Software Testing: Principles, Techniques, and Tools" (Aditya P. Mathur) Test süreçlerinin akademik ve pratik yönlerini detaylı şekilde anlatan bir makale.
Materyal
Dökümanlar Kitap: Foundations of Software Testing (Dorothy Graham, Erik van Veenendaal, Isabel Evans) Yazılım testinin temel prensipleri ve uygulamaları üzerine kapsamlı bir kaynak. Makale: "Software Testing: Principles, Techniques, and Tools" (Aditya P. Mathur) Test süreçlerinin akademik ve pratik yönlerini detaylı şekilde anlatan bir makale.
Ödevler 1. Test Vaka Tasarımı (Black-box ve White-box Testleri) Ödev: Bir yazılım modülü için hem Black-box hem de White-box test tekniklerini kullanarak test vakaları hazırlayın. Hazırladığınız vakalarda hangi test senaryolarını kullandığınızı ve neden bu teknikleri tercih ettiğinizi açıklayın. Amaç: Test vaka tasarım tekniklerini pratikte uygulama. 2. Test Otomasyonu Projesi Ödev: Selenium kullanarak basit bir web uygulamasında fonksiyonel bir test otomasyonu gerçekleştirin. Test senaryolarınızı yazılı olarak teslim edin ve otomasyon sonucunda elde edilen sonuçları analiz edin. Amaç: Test otomasyon araçlarını öğrenmek ve pratikte uygulamak. 3. Performans ve Yük Testi Uygulaması Ödev: JMeter veya benzeri bir araç kullanarak bir web uygulamasının performans testi ve yük testini gerçekleştirin. Test sonuçlarını analiz edin ve iyileştirme önerileri sunun. Amaç: Performans testi süreçlerini uygulamalı olarak öğrenmek. 4. Hata Raporlama ve Takip Projesi Ödev: Jira veya Bugzilla gibi hata takip araçlarını kullanarak bir yazılım projesinde bulunan hataları raporlayın. Her bir hata için detaylı açıklama, yeniden üretme adımları ve çözüm önerileri ekleyin. Amaç: Hata raporlama süreçlerini ve bu süreçlerin yazılım geliştirme üzerindeki etkisini anlamak.
Sınavlar
Materyal Diğer
Planlanmış Öğrenme Faaliyetleri ve Öğretim Yöntemleri











Course Weekly Schedules
Hafta 1 .Hafta
Konu
Haftalık Kapsam ve Hedefler Yazılım testinin amacını ve önemini anlamak.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Yazılım geliştirme döngüsü hakkında video ve makale
Haftalık Öğrenme Etkinlikleri Açıklama Yazılım testinin geliştirme sürecindeki yeri ve hataların türleri.
Haftalık Ölçme-Değerlendirme Etkinlikleri
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 2 .Hafta
Konu
Haftalık Kapsam ve Hedefler Farklı test seviyelerini ve uygulama alanlarını öğrenmek.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Test seviyeleri ile ilgili makaleler
Haftalık Öğrenme Etkinlikleri Açıklama Birim, entegrasyon, sistem ve kabul testleri hakkında bilgi.
Haftalık Ölçme-Değerlendirme Etkinlikleri
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 3 .Hafta
Konu
Haftalık Kapsam ve Hedefler Fonksiyonel testlerin önemini anlamak, güvenlik ve performans testlerini tanımak.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Fonksiyonel ve fonksiyonel olmayan test tipleri hakkında makale
Haftalık Öğrenme Etkinlikleri Açıklama Fonksiyonel testler ve güvenlik/performance testleri hakkında bilgi.
Haftalık Ölçme-Değerlendirme Etkinlikleri
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 4 .Hafta
Konu
Haftalık Kapsam ve Hedefler Black-box, White-box ve Grey-box test tekniklerini karşılaştırmak ve kullanım alanlarını öğrenmek.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Test teknikleri hakkında kaynaklar ve videolar
Haftalık Öğrenme Etkinlikleri Açıklama Farklı test teknikleri ve uygulama alanları
Haftalık Ölçme-Değerlendirme Etkinlikleri
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 5 .Hafta
Konu
Haftalık Kapsam ve Hedefler Test vakaları ve senaryoları yazma becerisi kazanmak.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Test senaryosu örnekleri ve uygulamalar
Haftalık Öğrenme Etkinlikleri Açıklama Test vakası ve senaryoları hazırlama süreci.
Haftalık Ölçme-Değerlendirme Etkinlikleri
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 6 .Hafta
Konu
Haftalık Kapsam ve Hedefler Manuel test süreçlerini anlamak ve kullanılabilecek araçları tanımak.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Manuel test araçları incelemesi
Haftalık Öğrenme Etkinlikleri Açıklama Manuel test süreçlerinde kullanılabilecek araçlar.
Haftalık Ölçme-Değerlendirme Etkinlikleri
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 7 .Hafta
Konu
Haftalık Kapsam ve Hedefler Test otomasyonunun avantaj ve dezavantajlarını öğrenmek.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Test otomasyon araçları incelemesi
Haftalık Öğrenme Etkinlikleri Açıklama Test otomasyonu hakkında bilgi.
Haftalık Ölçme-Değerlendirme Etkinlikleri
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 8 .Hafta
Konu
Haftalık Kapsam ve Hedefler Selenium ile temel otomasyon becerileri kazanmak.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Selenium kurulum ve kullanım videoları
Haftalık Öğrenme Etkinlikleri Açıklama Selenium ile otomasyon örnekleri.
Haftalık Ölçme-Değerlendirme Etkinlikleri
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 9 .Hafta
Konu
Haftalık Kapsam ve Hedefler Performans ve yük testlerini gerçekleştirme becerisi kazanmak.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Performans testi araçları ve örnekleri
Haftalık Öğrenme Etkinlikleri Açıklama Performans ve yük testlerinin uygulama örnekleri.
Haftalık Ölçme-Değerlendirme Etkinlikleri
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 10 .Hafta
Konu
Haftalık Kapsam ve Hedefler Güvenlik testlerinin önemini ve temel güvenlik araçlarını öğrenmek.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Güvenlik testi araçları ve kullanım rehberleri
Haftalık Öğrenme Etkinlikleri Açıklama Yazılım güvenliği ve test araçlarının incelenmesi.
Haftalık Ölçme-Değerlendirme Etkinlikleri
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 11 .Hafta
Konu
Haftalık Kapsam ve Hedefler Hata raporlama ve izleme araçlarını kullanarak hata yönetimi yapabilmek.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Hata raporlama araçları ve örnek raporlar
Haftalık Öğrenme Etkinlikleri Açıklama Hata raporlama süreci ve araçları.
Haftalık Ölçme-Değerlendirme Etkinlikleri
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 12 .Hafta
Konu
Haftalık Kapsam ve Hedefler Test yönetimi ve planlama becerilerini kazanmak.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Test yönetimi ve planlama hakkında makaleler
Haftalık Öğrenme Etkinlikleri Açıklama Test süreçlerinin yönetimi ve izlenmesi.
Haftalık Ölçme-Değerlendirme Etkinlikleri
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 13 .Hafta
Konu
Haftalık Kapsam ve Hedefler Agile ve DevOps süreçlerinde test uygulama yöntemlerini öğrenmek.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Agile ve DevOps metodolojilerinde test hakkında makaleler
Haftalık Öğrenme Etkinlikleri Açıklama Agile ve DevOps’ta test süreçleri yönetimi.
Haftalık Ölçme-Değerlendirme Etkinlikleri
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 14 .Hafta
Konu
Haftalık Kapsam ve Hedefler Test sonuçlarını analiz ederek iyileştirme yapabilmek.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Test sonuçları analiz ve iyileştirme örnekleri
Haftalık Öğrenme Etkinlikleri Açıklama Test sonuçlarının analiz edilmesi ve iyileştirme süreci.
Haftalık Ölçme-Değerlendirme Etkinlikleri
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri