İçeriğe geç

YAZILIM KALİTE GÜVENCESİ VE TESTİ 2025-2026 GÜZ

(Bu sayfa sürekli güncellenecektir. Web sayfam üzerindeki paylaşımlar bu tek sayfa ve aynı zamanda debsis üzerinden de yapılacaktır.)

 

Yazılım Kalite Güvencesi ve Testi Dersine Hoş Geldiniz

Yazılım sistemleri, günümüzde yalnızca bireysel kullanımda değil, kritik altyapıların, sağlık hizmetlerinin, finansal uygulamaların ve iletişim ağlarının kalbinde yer almaktadır. Bu nedenle yazılım kalitesi yalnızca teknik bir gereklilik değil, aynı zamanda toplumsal güvenlik, sürdürülebilirlik ve kullanıcı memnuniyetinin vazgeçilmez bir parçasıdır. Yazılım Kalite Güvencesi ve Testi dersi, sizleri yazılımın doğru, güvenilir ve sürdürülebilir şekilde geliştirilmesini sağlayacak yöntemlerle tanıştırmayı amaçlamaktadır.

Dersin Amacı ve Felsefesi

Bu dersin temel amacı, öğrencilerin yalnızca teorik bilgileri edinmesi değil, aynı zamanda pratik araçlar geliştirerek endüstriyle doğrudan örtüşen beceriler kazanmasıdır. Bu amaçla derste konuşulduğu gibi literatür taraması, somut çıktılar, bir yazılımın geliştirilmesi ve tüm bu sürecin bir bildiri ya da makaleye dönüştürülmesi gerekmektedir.

Ders kapsamında:

  • Yazılım kalite güvencesinin felsefi ve mühendislik boyutlarını öğrenecek,

  • Yazılım test süreçlerini stratejik, sistematik ve çevik bakış açısıyla inceleyerek uygulayacak,

  • Web ve mobil uygulama testleri için güncel araçları deneyimleyecek,

  • Açıklık tarayıcıları ve güvenlik odaklı test yaklaşımlarını değerlendirecek,

  • Kendi geliştireceğiniz test otomasyon sistemlerini tanıtma ve akademik makaleye dönüştürme imkânı bulacaksınız.

Yani bu ders, “sadece test yapmak” değil, aynı zamanda test teknolojileri geliştirmek ve akademik çıktı üretmek üzerine inşa edilmiştir.

Ders Konu Başlıkları

  1. Kalite Konseptleri – Yazılımda kalite nedir, neden ölçülür?

  2. Yazılım Mühendisliğinde Kalite – Standartlar, ISO, IEEE perspektifleri.

  3. Çevik Yazılım – Agile yaklaşımlar ve test süreçlerine etkisi.

  4. Teste Giriş – Test seviyeleri, test türleri, temel kavramlar.

  5. Test Stratejileri – Planlama, kapsam, teknikler ve risk odaklı yaklaşım.

  6. Web Uygulama Testi – Mevcut test araçlarının incelenmesi, kıyaslamalar.

  7. Mobil Uygulama Testi – Mobil cihazların dinamik ortamında test yöntemleri.

  8. Test Süreci ve Yönetimi – Test yaşam döngüsü, raporlama, hata yönetimi.

  9. Gözden Geçirme Teknikleri – Kod inceleme, denetim, akran değerlendirmesi.

  10. Yazılım Metrikleri – Kalite ölçütleri, hata yoğunluğu, karmaşıklık ölçümleri.

  11. Test Araçları – Mevcut araçların analizi, yeni araç geliştirme süreçleri.

Uygulamalı Yaklaşım ve Beklentiler

Bu dersin en dikkat çekici yanı, öğrenci merkezli, proje tabanlı ilerlemesidir. Her öğrenci veya ekipten beklenenler:

  • Var olan test araçlarının (Selenium, JUnit, Appium, OWASP ZAP vb.) incelenmesi ve karşılaştırmalı raporların hazırlanması,

  • Web, mobil veya güvenlik testleri için yeni bir yazılım aracının prototip olarak geliştirilmesi,

  • Geliştirilen araçların akademik bir makaleye dönüştürülmesi (IEEE Xplore kapsamındaki konferans/dergiler veya SCI/ESCI dizinli dergiler hedeflenecektir),

  • Takım çalışması, belgelendirme ve akademik yazım kurallarına uyumun sağlanması.

Böylece ders sonunda sadece teorik bilgiye değil, aynı zamanda somut bir yazılım ürününe ve akademik yayına dönüşebilecek çalışmalara sahip olacaksınız.

Neden Bu Ders Önemli?

  • Yazılım test süreçlerini bilen mühendisler, endüstride en çok aranan uzmanlardandır.

  • Test otomasyonu ve kalite güvencesi, modern yazılım firmalarının olmazsa olmazıdır.

  • Güvenli, hatasız ve sürdürülebilir yazılım geliştirme yetkinliği, sizi akranlarınızdan farklı kılar.

  • Akademik katkı sağlayacak projeler, lisansüstü çalışmalar ve kariyer fırsatları için güçlü bir başlangıçtır.

Yazılım Kalite Güvencesi ve Testi dersi, sadece bir ders değil; sizi yazılım mühendisliğinde “hata bulan değil, kalite üreten” bir mühendis yapmayı hedefleyen bir yolculuktur. Hep birlikte hem endüstriye yönelik araçlar geliştirecek, hem de bu araçları uluslararası akademik ortamlarda tanıtma şansına sahip olacağız.

Hazırlıklı olun: Önümüzdeki haftalardan itibaren kod yazacak, test edecek, tartışacak ve belki de geleceğin test araçlarının ilk satırlarını burada yazacaksınız.


DERSİN İŞLENİŞ MODELİ

Metinsel Algoritma / İş Akışı

  1. Ekip Yapısının Belirlenmesi: Herkes her alanda çalışmalı! Her olguya hakim olmalı

    • Öğrenciler küçük ekipler oluşturur (4-7 kişi).

    • Ekip içindeki roller (özellikle hız için) (araştırmacı, geliştirici, testçi, raporlayıcı) belirlenir.

  2. Anahtar Kelimeler ve Çalışma Alanı Seçimi

    • Ekip, yazılım kalite güvencesi ve testi kapsamında bir odak alanı seçer (ör. web test otomasyonu, mobil test araçları, güvenlik açık tarayıcıları).

    • Çalışma alanını tanımlayan anahtar kelimeler belirlenir. Buna göre ingilizce ve Türkçe aramalara geçilir

  3. Literatür Taraması : Bu kısım için yardımcı video vb materyal verilecek.

    • IEEE Xplore, ACM, Springer, ScienceDirect gibi veri tabanlarında arama yapılır.

    • İlgili makaleler toplanır, okunur, özetlenir.

    • Google Scholar derste bahsedildiği gibi özellikle tercih edilebilir.

    • Özellikle son 1-3 yıldaki çalışmalara bakmak daha (trend) yol gösterici olabilir.

  4. Literatürün Değerlendirilmesi

    • Ekip makaleleri analiz eder, güçlü ve zayıf yönleri çıkarır.

    • Mevcut yazılımların ve araçların karşılaştırma tablosu hazırlanır.

  5. Özgün Proje Konusu ve Makale Başlığı Belirleme : Bu konuda video vb materyaller verilecek.

    • Literatürdeki boşluklara bakılarak özgün bir proje konusu seçilir.

    • Uygun ve anlamlı bir makale başlığı önerilir.

  6. Proje Geliştirme

    • Seçilen konuya yönelik özgün yazılım / araç geliştirilir.

    • Proje dokümantasyonu (tasarım, kod, test sonuçları) hazırlanır.

  7. Makale Yazımı: Bu konuda da video vb materyaller verilecek.

    • IEEE makale formatı veya hedeflenen derginin şablonu kullanılır.

    • İçindekiler: Başlık Özet, Giriş, Literatür, Metodoloji, Sonuçlar, Tartışma, Kaynaklar.

    • Bir önceki maddedeki bölümlere göre ana iskelet oluşturulur.

    • Makalenin benzersiz, kendi ifadelerimizle olmasına dikkat edilmelidir.

  8. Makalenin Sunumu ve Yayınlanması

    • Sempozyumda sunum yapılır veya dergiye gönderilir.

    • Hakem geri bildirimleri değerlendirilir, düzeltmeler yapılır.

  9. Ders İçi Süreç Yönetimi

    • 1–3/5. haftalar: Öğretim üyesi tarafından teorik sunumlar yapılır. Sunuma gelinmeden önce ilgili haftanın önceden paylaşılan dokümanları okunmalıdır. Bu dokümanlardan kısa sınav yapılacaktır.

    • Sonraki haftalar: Öğrenci proje sunumları.

      • Mevcut sistem/araç sunumları.

      • Özgün proje sunumları.

      • Dokümantasyon paylaşımı.


DERSİ TEKRAR ALANLAR İÇİN İŞLENİŞ MODELİ:

Dersi tekrar alan arkadaşlarımız (ALTTAN/FF) ders için belirtilen işleniş modelindeki proje ekiplerinde yer alabilirler.

Bu arkadaşlarımız dersi tekrar alanlarla bir takım oluşturabileceği gibi dersi zorunlu olarak ilk kez alanlarla da bir takımda yer alabilir.

Dersi tekrar alanlar için proje takımına katılmak zorunlu olmayıp katılıp görevlerini yerine getirenler bonus/kanaat ile ödüllendirilir.

Dersi tekrar alan arkadaşlarımız (ALTTAN/FF) derse katılmak zorunda değildir. Bu arkadaşlarımız debsis üzerinden yapılan paylaşımları takip edip sadece sınavlara gelebilirler.


LİTERATÜR TARAMA:

1. Araştırma Sorunu veya Konuyu Netleştirme

  • Literatür taramasına başlamadan önce “Ben neyi araştırıyorum?” sorusuna cevap vermek lazım. Bu soruya verilecek cevap derste veya ders sonrasında ekibinizle beraber belirlediğiniz “konsept” ifadeleri ya da buna  dair anahtar kelimelerdir.

  • Örn: “Yazılım test otomasyonu için yapay zekâ tabanlı yöntemler”“Agile projelerde gereksinim yönetimi” “web açıklık tarayıcıları”, “mobil uygulama testi”, “yük testi”, “sızma testi”, “saldırı tespiti”, “açıklık tarayıcı”, “test otomasyonu”, “yazılım testi”, “test araçları”, “birim testi”, “stres testi”, “entegrasyon testi”, “statik kod analizi”, “kod analizi”, “kod yorumlama”  gibi onlarca anahtar kelime türetilebilir. Bu anahtar kelimeleri ingilizce ve Türkçe olarak dizinlerde taratabilirsiniz.

  • Konu çok genişse önce alt başlıklara ayırmak faydalı. Ya da yukarıdaki anahtar kelimeleri alıp bu kelimeleri yazılımı, toolları, araçları gibi uygun kombinasyonlarda kullanmak da mümkündür.


2. Kaynaklara Ulaşma

Yazılım mühendisliği için en çok kullanılan akademik kaynaklar:

  • IEEE Xplore – Yazılım mühendisliği kalite ve test, ağ, güvenlik, yapay zekâ makaleleri.

  • ACM Digital Library – Yazılım geliştirme süreçleri, metodolojiler, HCI, veri tabanları.

  • SpringerLink & ScienceDirect – Uygulamalı bilgisayar bilimleri, yazılım araçları.

  • Google Scholar – Genel tarama, makale bulma, atıf zincirlerini takip etme.

  • arXiv – Henüz dergilere girmemiş güncel araştırmalar (özellikle AI & SE).

🔎 Yazılım mühendisliği pratiğinde, yalnızca akademik makaleler değil, standartlar (IEEE 830, ISO 25010), sektörel raporlar (Gartner, McKinsey), whitepaper’lar ve GitHub projeleri de değerlidir.

https://www.sciencedirect.com/  Science Direct
https://scholar.google.com.tr/   Google Akademik
https://www.kaggle.com/  (uygun veri setleri bulunup sınıflama vb yapılabilir)
https://archive.ics.uci.edu (uygun veri setleri bulunup sınıflama vb yapılabilir)
https://www.unb.ca/cic/datasets/index.html (uygun veri setleri bulunup sınıflama vb yapılabilir)

3. Anahtar Kelime Stratejisi

İyi bir literatür taraması doğru anahtar kelimeler ile başlar. Örneklemek gerekirse.

  • Birincil terimler: software engineering, software testing, agile development, requirements engineering, software metrics

  • İkincil terimler: automation, machine learning, deep learning, security, scalability

  • Boolean operatörleri:

    • "software testing" AND automation

    • "agile" OR "scrum"

    • "intrusion detection" AND ("deep learning" OR "neural networks")


4. Makaleleri Seçme ve Ön Eleme

  • Başlık ve özet üzerinden ilk eleme → konuya doğrudan hitap etmeyenleri çıkar.

  • Yayın yılı → özellikle yazılım mühendisliğinde 5–10 yıl gerisi çoğu zaman eski kalır.

  • Atıf sayısı → temel (klasik) makaleleri bulmak için.

  • Yayın yeri → IEEE/ACM konferans ve dergiler yüksek güvenilirlik sağlar.


5. Eleştirel Okuma ve Kategorilendirme

Makaleleri sadece “okumak” değil, sınıflandırmak gerekir:

  • Yöntemler → hangi yöntem/test tekniği/algoritma kullanılmış?

  • Problem tanımı → hangi sorunu çözmeye çalışıyorlar?

  • Sonuçlar → ne kadar başarılı olmuş? hangi metriklerle ölçmüşler?

  • Boşluklar → makalede eksik bırakılan veya ileride yapılacak iş önerileri.

Bu boşluklar, sizin araştırma konunuzun özgün tarafını besleyecek.


6. Literatürü Yazıya Dönüştürme

  • Sadece özet yapmak yerine karşılaştırmalı yazmak çok değerli:

    • “A çalışması test otomasyonunda yapay zekâyı X tekniğiyle kullanmıştır, fakat Y kısıtlıdır.”

    • “B çalışması mobil uygulama testlerini ele alırken Z boyutuna değinmemiştir.”

  • Böylece “Benim çalışmam bu boşluğu dolduracak” diyebiliyorsunuz.


7. Araçlar ve Teknik Destek

  • Zotero / Mendeley / EndNote → kaynakları yönetmek için.

  • Connected Papers → bir makaleden yola çıkıp ilgili çalışmaların görselleştirilmesi.

  • Research Rabbit → literatür ağı çıkarma.

  • Publish or Perish → atıf analizleri.


Yazılım Mühendisliği Özelinde Önerim

  • Çok hızlı gelişen bir alan olduğu için en güncel çalışmaları önceliklendirin.

  • Sektör-odaklı konularda endüstri raporları ve case study’ler de taramaya dahil edin.

  • Mutlaka standartlara (ISO, IEEE) göz atın; çoğu zaman akademik makaleler bu standartlara dayandırılır.

  • Literatür taramanızı sadece “öğrenmek” için değil, boşlukları tespit etmek için yapın.

BAZI ÖNERİLER VE YARDIMCI KAYNAKLAR:

LİTERATÜR TARAMASI VE ATIFYAPMA:

LİTERATÜR NASIL TARANIR:


İYİ BİR ARAŞTIRMA NASIL YAPILIR:


 

İYİ MAKALE YAZIMI:


İYİ BİR PROJE, MAKALE, TEZ KONUSU NASIL BULUNUR?

 

Tarih:Genel

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

− 2 = 4