İç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?


1.HAFTA DOKÜMANI

1.-Hafta-KaliteKonseptleri

 

1-Yazılım-Mühendisliğinde-Kalite

2. HAFTA DOKÜMANI

(BAZI KONULAR, BAZI KONSEPT İFADELER TEKRAR ARAŞTIRILMIŞ VE BU ALANLARDAKİ OLASI SOMUT BAZI ÇALIŞMA BAŞLIKLARI PAYLAŞILMIŞTIR. LÜTFEN SİZLER DE ARAMALARINIZI YAPIP DAHA NET DAHA ÇALIŞILABİLİR ALANLAR BELİRLEMEYE ODAKLANIN)

 

  1. Penetrasyon Testi ve Güvenlik Araçları
  • Makine Öğrenmesi Destekli Penetrasyon Testi Araçlarının Karşılaştırmalı Analizi
  • Bulut Tabanlı Penetrasyon Testi Çözümlerinin Güvenlik ve Performans Açısından İncelenmesi
  • Sızma Testlerinde Otomasyon: Yeni Nesil Araçların Karşılaştırmalı Değerlendirmesi
  1. Web ve Uygulama Güvenliği- Vulnerability Scanner
  • Modern Web Açıklık Tarayıcılarının (OWASP ZAP, Burp Suite, Acunetix) Etkinlik Karşılaştırması
  • API Güvenlik Testi Araçlarının İncelenmesi ve Performans Karşılaştırması
  • Microservice Mimarilerinde Güvenlik Test Stratejilerinin Uygulanabilirliği
  1. Programlama Dilleri ve Güvenli Kodlama
  • Güncel Programlama Dillerinde Güvenli Kodlama Standartlarının Uygulanabilirliği
  • Rust ve Go Dillerinin Güvenlik Açısından Geleneksel Dillere (C, C++, Java) Karşı Karşılaştırılması
  • Yapay Zekâ Tabanlı Kod İnceleme Araçları ile Güvenli Kod Analizi
  1. Yazılım Kalite Standartları ve Modelleri
  • ISO/IEC 25010 Yazılım Kalite Modelinin Günümüz Yazılım Projelerine Uygunluğu
  • Çevik (Agile) Süreçlerde ISO/IEC 12207 Standardının Uygulanabilirliği
  • DevOps Süreçlerinde Kalite Standartlarının Yeniden Yorumlanması
  1. Yazılım Kalite Belgelendirme
  • ISTQB Sertifikasyonunun Yazılım Test Mühendislerinin Performansına Etkisi
  • Ulusal ve Uluslararası Yazılım Belgelendirme Standartlarının Karşılaştırmalı İncelemesi
  • Siber Güvenlik Sertifikasyonlarının Yazılım Kalite Güvencesindeki Yeri (CEH, OSCP, ISO 27001)
  1. Yazılım Test Stratejileri ve Teknikleri
  • Yapay Zekâ Destekli Test Senaryosu Üretiminin Geleneksel Yöntemlerle Karşılaştırılması
  • Mobil Uygulamalarda Test Otomasyon Araçlarının (Appium, Espresso, XCUITest) Karşılaştırılması
  • DevOps Ortamlarında Sürekli Test (Continuous Testing) Yaklaşımlarının Analizi
  1. Yazılım Süreç Geliştirme
  • Agile, DevOps ve MLOps Modellerinin Kalite Güvencesi Açısından Karşılaştırılması
  • Çevik Süreçlerde Test-Driven Development (TDD) ve Behavior-Driven Development (BDD) Yaklaşımlarının Karşılaştırılması
  • Yazılım Geliştirme Süreçlerinde Kalite Maliyetinin Ölçülmesi
  1. Test Otomasyonu ve Yapay Zekâ
  • Derin Öğrenme ile Otomatik Hata Tespiti ve Yazılım Kalitesine Katkısı
  • Doğal Dil İşleme Yöntemleriyle Otomatik Test Senaryosu Çıkartımı
  • Otonom Yazılım Testi: AI-Driven Testing Yaklaşımlarının Geleceği
  1. Güvenlik Testleri
  • IoT Cihazlarında Güvenlik Test Araçlarının Karşılaştırmalı Analizi (IoT Exploiting)
  • (Zig bee, Sigfox, LPWAN, Exploiting, WSN
  • Mobil Uygulamalarda Güvenlik Test Tekniklerinin İncelenmesi
  • Bulut Ortamlarında Güvenlik Testlerinin Zorlukları ve Çözümleri

Software Defined Network -SDN

Data Center Networking

Bulut Güvenliği

  1. Veri ve Büyük Veri Kalitesi
  • Büyük Veri Uygulamalarında Veri Kalitesinin Test Edilmesi
  • Makine Öğrenmesi Modellerinde Veri Kalitesi ve Test Süreçlerinin Önemi
  • Veri Tabanı Test Araçlarının Yeni Nesil Uygulamalar Üzerindeki Performans Analizi
  1. Yapay Zekâ Destekli Test ve Hata Tespiti
  • Büyük Dil Modelleri (LLM) Kullanılarak Otomatik Kod İnceleme ve Test Senaryosu Üretimi
  • Yapay Zekâ ile Otomatik Hata Tahmini: Geleneksel Test Yaklaşımlarıyla Karşılaştırma
  1. Çevik Yazılımda Kalite Güvencesi
  • Scrum ve Kanban Süreçlerinde Yazılım Kalite Ölçümlerinin Uygulanabilirliği
  • Agile + DevOps Entegrasyonunda Test Süreçlerinin Analizi
  1. Siber Güvenlik ve Test
  • Siber Fiziksel Sistemlerde Güvenlik Testlerinin Uygulanması
  • Zero Trust Yaklaşımında Yazılım Güvenlik Testlerinin Rolü
  • Kötü Amaçlı Kod Tespiti için Statik ve Dinamik Analiz Araçlarının Karşılaştırılması
  1. Test Otomasyonu ve CI/CD
  • CI/CD Süreçlerinde Sürekli Test (Continuous Testing) Uygulamaları
  • Bulut Tabanlı Test Otomasyon Araçlarının Performans Karşılaştırması
  • Konteyner Tabanlı Yazılımlarda Test Stratejilerinin İncelenmesi (Docker, Kubernetes)
  1. Mobil ve Dağıtık Sistemlerde Kalite
  • Mobil Uygulamalarda Enerji Tüketimi ve Performans Testi
  • 5G ve 6G Tabanlı Uygulamalarda Yazılım Kalite Güvencesi Yaklaşımları
  • Dağıtık Sistemlerde Hata Toleransı ve Kalite Test Stratejileri
  1. Kullanıcı Deneyimi ve Kalite
  • Kullanıcı Deneyimi (UX) Testlerinin Yazılım Kalitesine Etkisi
  • Erişilebilirlik Test Araçlarının Karşılaştırılması (Engelli Kullanıcılar için Yazılım Kalitesi)
  1. Yeni Nesil Teknolojiler- UTM, Next Generation+(firewall, IDS, IPS,)
  • Nesnelerin İnterneti (IoT) Cihazlarında Yazılım Kalite Testlerinin Zorlukları
  • Blockchain Tabanlı Uygulamalarda Yazılım Kalite Güvencesi
  • Kuantum Yazılım Geliştirmede Test ve Doğrulama Yaklaşımları
  1. Veri Odaklı Kalite
  • Veri Güvenilirliğinin Makine Öğrenmesi Uygulamalarında Test Edilmesi
  • Otomatik Veri Doğrulama ve Kalite Güvencesi için Açık Kaynak Araçların Karşılaştırılması

1 Nolu Başlık için detaylı araştırma:

📌 1. Araştırma Alanları ve Somut Çalışma Fikirleri

  1. a) AI ile Test Senaryosu Üretimi
  • Makale/Bildiri Başlığı: “Büyük Dil Modelleri (LLM) Kullanılarak Otomatik Test Senaryosu Üretimi: Bir Karşılaştırmalı Çalışma”
  • Somut Katkı: LLM’ler (ChatGPT, LLaMA, Codex, vb.) ile test senaryosu yazdırılır, Selenium/JUnit gibi framework’lerle manuel test senaryoları karşılaştırılır.
  • Çıktı: Doğruluk, kapsam, zaman ve maliyet açısından AI destekli üretimin avantaj/dezavantaj analizi.
  1. b) Otomatik Hata Tahmini (Defect Prediction/Forcasting)
  • Makale/Bildiri Başlığı: “Makine Öğrenmesi ile Yazılım Hatalarının Önceden Tahmini: Klasik ML Modelleri ile Derin Öğrenmenin Karşılaştırılması”
  • Somut Katkı:
    • Veri seti: NASA PROMISE, GitHub bug dataset, Eclipse defect data vb.
    • Modeller: Random Forest, XGBoost, CNN, LSTM, RNN, Alexnet, VGG, (Pre Trained Networks)
    • Metrikler: Accuracy, Precision, Recall, F1-score, AUC.
  • Çıktı: “Kodun hangi modüllerinde hata olma ihtimali daha yüksek?” sorusuna yanıt.
  1. c) Kod İnceleme (Code Review) Otomasyonu
  • Makale/Bildiri Başlığı: “Yapay Zekâ ile Kod Kalite Analizi: Statik Kod Analiz Araçları ile LLM Tabanlı İncelemelerin Karşılaştırılması”
  • Somut Katkı:
    • AI modellerinin “statik kod analiz” (SonarQube, PMD, FindBugs) araçlarıyla karşılaştırılması.
    • Kod kokusu (code smell), güvenlik açıkları (SQL Injection, buffer overflow) gibi hataların AI ile yakalanma başarısının incelenmesi.
  1. d) Test Otomasyonu Verimliliği
  • Makale/Bildiri Başlığı: “Derin Öğrenme ile Mobil Uygulama Testlerinde Otomatik Hata Tespiti”
  • Somut Katkı:
    • Mobil uygulama ekran görüntülerinden UI hatalarının CNN/LSTM ile otomatik tespiti.
    • Manuel testçilerle kıyaslama.
    • Performans ve kullanılabilirlik metrikleri üzerinden değerlendirme.
  1. e) Hata Sınıflandırması ve Önceliklendirme
  • Makale/Bildiri Başlığı: “Doğal Dil İşleme (NLP) ile Yazılım Hata Kayıtlarının Sınıflandırılması ve Önceliklendirilmesi”
  • Somut Katkı:
    • Jira, Bugzilla, GitHub Issues gibi hata kayıtları üzerinde NLP uygulanır.
    • AI, hataları türüne göre (UI bug, security bug, performance bug) sınıflandırır ve önem derecesini otomatik belirler.

📌 2. Veri Kaynakları (Araştırmacıların Kullanabileceği)

  • Açık veri setleri: PROMISE repository, Defects4J, GitHub Repos, Kaggle yazılım hata veri setleri.
  • Araçlar: Selenium, JUnit, PyTest, SonarQube, OWASP ZAP.
  • AI modelleri: ChatGPT API, HuggingFace modelleri (CodeBERT, GraphCodeBERT, Codex, LLaMA).

📌 3. Beklenen Akademik Katkılar

  • AI destekli testin maliyet ve zaman avantajlarını ortaya koymak.
  • Hata tahmininde AI’nın geleneksel yöntemlerden daha başarılı olup olmadığını test etmek.
  • Yazılım kalite güvencesine yeni metrikler (ör. “AI accuracy vs human tester accuracy”) önermek.
  • Endüstride kullanılabilecek AI destekli otomatik test araçları için yol haritası çıkarmak.

📌 4. Bildiri/Makale Türleri

  1. Deneysel Çalışma: (Örn: “AI ile otomatik test senaryosu üretiminin JUnit tabanlı manuel testlere göre başarısı”)
  2. Karşılaştırmalı Çalışma: (Örn: “LLM tabanlı hata sınıflandırma ile Random Forest karşılaştırması”)
  3. Uygulama Önerisi: (Örn: “DevOps pipeline’ına entegre edilmiş AI destekli test otomasyon sistemi önerisi”)
  4. Vaka Çalışması: (Örn: “Bir bankacılık uygulamasında AI tabanlı test senaryosu üretimi”)

 

3. HAFTA DOKÜMANI

2.CevikYazilim

cevik ek kaynak

ozetle agile

vodafone turkiyenin agile yolculuğu

**********************************************
Çevik Yazılım, Test ve Yazılım Kalite Güvencesi İlişkisi

1. Giriş

Çevik yazılım geliştirme, müşteri memnuniyetini artırmayı, esnekliği ve hızlı teslimatı önceliklendiren bir yazılım geliştirme yaklaşımıdır. Bu yaklaşımda yazılımın kalitesi, kapsamlı dokümantasyonlardan ziyade çalışan yazılım ve sürekli geri bildirim döngüleri ile sağlanır. Çevik yazılım şemsiyesi altında yer alan farklı yöntemler (Scrum, XP, Kanban, TDD, FDD vb.), yazılım kalite güvencesi (SQA) ve test süreçleri ile doğrudan ilişkilidir.

2. Çevik Yazılımın Test ve Kalite Güvencesi ile Bağlantısı

Çevik yazılım geliştirmede test ve kalite güvencesi süreçleri, klasik yaklaşımlardaki gibi proje sonunda yapılan bir faaliyet değildir. Aksine, çevik metodolojilerde kalite güvencesi sürekli ve entegre bir süreçtir. Her iterasyonda yazılımın işlevsel bir parçası teslim edilir ve bu parça, otomatik testler, kod incelemeleri ve müşteri geri bildirimleri ile sürekli doğrulanır.

Kalite güvencesi, çevik süreçte yalnızca test ekibinin değil, tüm takımın sorumluluğundadır. Geliştiriciler, analistler, test uzmanları ve ürün sahibinin sürekli işbirliği içinde olması gerekir. Her sprint sonunda çalışan yazılımın gösterilmesi, yazılım kalitesinin ölçülebilir hale gelmesini sağlar.

3. Çevik Yazılım Şemsiyesi

Çevik yazılım şemsiyesi, farklı metodolojileri kapsayan genel bir yaklaşımdır. Scrum, Extreme Programming (XP), Test Driven Development (TDD), Feature Driven Development (FDD), Kanban, Lean Development gibi yöntemler çevik şemsiyenin altında yer alır. Her biri, çevikliğin temel ilkeleri olan esneklik, geri bildirim, kısa döngüler ve sürekli iyileştirme üzerine kuruludur.

4. Test Güdümlü Geliştirme (TDD)

Test Güdümlü Geliştirme (Test Driven Development – TDD), çevik yazılım geliştirme felsefesi içerisinde yer alan ve testlerin, kodlamadan önce yazıldığı bir yaklaşımdır. Bu yöntem, hata oranını azaltmayı ve geliştirilen yazılımın gereksinimleri karşılamasını garanti altına almayı hedefler.

4.1. TDD’nin İşleyiş Aşamaları

TDD süreci üç temel adımdan oluşur: RED, GREEN ve REFACTOR döngüsü.

1. RED (Kırmızı): Önce başarısız olacak bir test yazılır. Bu test, henüz yazılmamış bir fonksiyonun veya özelliğin davranışını tanımlar.

  1. GREEN (Yeşil): Testi geçecek kadar minimum kod yazılır. Amaç, yalnızca testi başarılı hale getirmektir.
  2. REFACTOR (Yeniden Düzenle): Test başarılı olduktan sonra kod yeniden düzenlenir, optimizasyon yapılır ve temiz kod ilkelerine göre sadeleştirilir.Bu döngü sürekli tekrarlanarak her yeni özelliğin, önceden yazılmış bir testle doğrulandığı bir sistem oluşturur.

4.2. TDD’nin Kalite Güvencesi ile İlişkisi

TDD’nin en önemli katkısı, kalite güvencesinin geliştirme sürecinin merkezine yerleştirilmesidir. Kod yazılmadan önce testlerin hazırlanması, geliştiricinin gereksinimleri daha iyi anlamasını sağlar. Ayrıca, her fonksiyon testlerle doğrulandığı için yazılımda regresyon hataları minimuma iner. Otomatik test altyapısı, sürekli entegrasyon sistemleri ile birlikte çalışarak her değişiklik sonrası yazılımın kararlılığını kontrol eder.

5. Özellik Güdümlü Geliştirme (FDD)

Özellik Güdümlü Geliştirme (Feature Driven Development – FDD), çevik yazılım şemsiyesi altında yer alan ve yazılımı ‘özellikler’ (features) temelinde planlayan ve geliştiren bir yöntemdir. Her özellik, kullanıcıya somut bir değer sunan küçük ve yönetilebilir bir fonksiyonel parçadır.

5.1. FDD’nin Temel Aşamaları

FDD süreci beş temel adımdan oluşur:

  1. Genel bir modelin geliştirilmesi
  2. Özellik listesinin hazırlanması
  3. Özellik bazında planlama yapılması
  4. Özellik bazında tasarım
  5. Özellik bazında geliştirme

Bu yapı, her özelliğin bağımsız olarak test edilmesini ve tamamlandığında sisteme entegre edilmesini sağlar.

5.2. FDD’nin Test ve Kalite Güvencesi ile İlişkisi

FDD, küçük ve tamamlanabilir parçalarla çalıştığı için test süreçlerini kolaylaştırır. Her özellik, bağımsız birim olarak ele alınır ve geliştirme sürecinin sonunda test edilerek doğrulanır. Bu yaklaşım, sürekli entegrasyonun yanı sıra modüler test yapısını destekler. Kalite güvencesi, özelliklerin gereksinimlere tam uyumlu şekilde geliştirildiğinin doğrulanması ile sağlanır.

6. Sonuç

Çevik yazılım geliştirme, test ve kalite güvencesini yazılım sürecinin bir yan çıktısı değil, doğrudan merkezine yerleştirir. TDD gibi test odaklı yaklaşımlar ve FDD gibi özellik bazlı yaklaşımlar, hem ürün kalitesini artırır hem de sürdürülebilir bir geliştirme ortamı sağlar. Bu sayede çevik yazılım, müşteri memnuniyetini en üst düzeyde tutarken, hataları erken aşamada yakalar ve yazılım güvenilirliğini artırır.

**********************************************


4. HAFTA DOKÜMANI

Tüm takımlar bu dokümanı okuyup projelerinizle alakalı boyutlarını notlar çıkartarak geliniz.

3.Bölüm-Teste Giriş

Çalışma konusu belirlenmiş takımların proje özetlerini (sorun analizi, hedef analizi yaparak) hazırlayıp gelmeleri gerekmektedir.

 

TEST

TEST CASE

TC

 


Makale Yazımı için:

 


 

5. HAFTA DOKÜMANI

Tüm takımlar bu dokümanı okuyup projelerinizle alakalı boyutlarını notlar çıkartarak geliniz.

 

4.Bölüm-TestStratejileri

 

KISA SINAV SONUÇLARI:
02.10.2025

2062205F26G-KISA SINAV 1-notlar

2062204F26G-Kısa Sınav 1-notlar

09.10.2025

2062205F26G-kısa sınav 2-notlar

2062204F26G-kısa sınav 2-notlar

16.10.2025

2062204F26G-4-notlar

2062205F26G-4-notlar

23.10.2025

2062205F26G-4. KISA SINAV-notlar

2062204F26G-4. KISA SINAV-notlar

 

 

 

 

Tarih:Genel

İlk Yorumu Siz Yapın

Bir cevap yazın

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

+ 31 = 39