(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ı
-
Kalite Konseptleri – Yazılımda kalite nedir, neden ölçülür?
-
Yazılım Mühendisliğinde Kalite – Standartlar, ISO, IEEE perspektifleri.
-
Çevik Yazılım – Agile yaklaşımlar ve test süreçlerine etkisi.
-
Teste Giriş – Test seviyeleri, test türleri, temel kavramlar.
-
Test Stratejileri – Planlama, kapsam, teknikler ve risk odaklı yaklaşım.
-
Web Uygulama Testi – Mevcut test araçlarının incelenmesi, kıyaslamalar.
-
Mobil Uygulama Testi – Mobil cihazların dinamik ortamında test yöntemleri.
-
Test Süreci ve Yönetimi – Test yaşam döngüsü, raporlama, hata yönetimi.
-
Gözden Geçirme Teknikleri – Kod inceleme, denetim, akran değerlendirmesi.
-
Yazılım Metrikleri – Kalite ölçütleri, hata yoğunluğu, karmaşıklık ölçümleri.
-
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ışı
-
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.
-
-
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
-
-
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.
-
-
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.
-
-
Ö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.
-
-
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.
-
-
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.
-
-
Makalenin Sunumu ve Yayınlanması
-
Sempozyumda sunum yapılır veya dergiye gönderilir.
-
Hakem geri bildirimleri değerlendirilir, düzeltmeler yapılır.
-
-
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://ieeexplore.ieee.org/Xplore/home.jsp IEEE XPLORE•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-KaliteKonseptleri1-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)
- 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
- 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
- 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
- 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ı
- 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)
- 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
- 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
- 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
- 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
- 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
- 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
- Ç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
- 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ı
- 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)
- 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
- 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)
- 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ı
- 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
- 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.
- 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.
- 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.
- 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.
- 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
- Deneysel Çalışma: (Örn: “AI ile otomatik test senaryosu üretiminin JUnit tabanlı manuel testlere göre başarısı”)
- Karşılaştırmalı Çalışma: (Örn: “LLM tabanlı hata sınıflandırma ile Random Forest karşılaştırması”)
- Uygulama Önerisi: (Örn: “DevOps pipeline’ına entegre edilmiş AI destekli test otomasyon sistemi önerisi”)
- Vaka Çalışması: (Örn: “Bir bankacılık uygulamasında AI tabanlı test senaryosu üretimi”)
3. HAFTA DOKÜMANI
2.CevikYazilimcevik 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.
- GREEN (Yeşil): Testi geçecek kadar minimum kod yazılır. Amaç, yalnızca testi başarılı hale getirmektir.
- 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:
- Genel bir modelin geliştirilmesi
- Özellik listesinin hazırlanması
- Özellik bazında planlama yapılması
- Özellik bazında tasarım
- Ö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
6. HAFTA DOKÜMANI
Tüm takımlar bu dokümanı okuyup projelerinizle alakalı boyutlarını notlar çıkartarak geliniz.
5.Bölüm-WebUygulamaTesti1-Bir web uygulamasından beklentileriniz nelerdir? Açıklamanızı raporlayınız.
2-Kullanıcı ara yüz testinde hangi denetimler yapılır?
3-Bir web uygulamasında kullanılabilirlik neden çok önemlidir? Açıklamanızı raporlayınız.
4-Kullanılabilirlik kurallarını yazıp açıklayınız. Dokümanda verilen dışında başka kullanılabilirlik kuralları türetmeye çalışınız.
5-Kullanılabilirlik test türlerini yazınız. İki tanesini açıklayınız.
6-Bir e-ticaret sitesi yapıyor olduğunuzu varsayalım. Hangi tür testleri neden gerçekleştirirdiniz?
7-Fırat Üniversitesi Teknoloji Fakültesi Yazılım Mühendisliği bölümü için geliştirilen “E-Campus Portalı” adlı bir web uygulaması bulunmaktadır. Bu sistemde öğrenciler notlarını görüntüleyebilir, ödev yükleyebilir, danışmanlarına mesaj gönderebilir.
Son sürümde yapılan güncellemeden sonra bazı öğrenciler aşağıdaki sorunları bildirmiştir:
- “Not Görüntüleme” sayfası düzgün açılmıyor.
- “Ödev Yükleme” butonu bazı tarayıcılarda yanıt vermiyor.
- Kullanıcı girişi (login) sırasında 3 hatalı denemeden sonra sistem çökmekte.
- Bazı bağlantılar (“Ders Programı”, “Danışman Bilgileri”) 404 hatası döndürüyor.
- Farklı çözünürlüklerde sayfa tasarımı kayıyor.
Yukarıdaki sorunları test planı (hangi testlerin yapılacağını belirleyiniz), test senaryosu(her problem için test adımları beklenen-sonuç-gerçek-sonuç tablosu oluşturulabilir), test aracı(hangi test için hangi araçlar kullanılır)ve rapor biçiminde belgeleyip çözüm öneriniz.
ipucu: Arayüz (UI) Testi, Kullanılabilirlik Testi, Performans Testi, Güvenlik Testi başlıkları değerlendirilebilir. Ayrıca önerilerinizi de ekleyiniz.
8-Authentication Yöntemleri ve Authorization Yöntemlerini verip her birini açıklayınız.
7. HAFTA DOKÜMANI
Bu haftanın sınav sorularında aşağıdaki iki doküman baz alınacaktır. Her iki doküman içeriğine de bakılmalıdır. Vize sınavında da her ikisi geçerlidir.
6.Bölüm-MobilUygulamaTesti7.Bölüm-TestSureciVeYönetimi
**********************************************************************************************************************************************************************************************************************
Makale/Bildiri Yazma Algoritması (Adım adım)
Başlangıç: Başlık, Anahtar Kelimeler, Hedef Yayın
- Başlığı belirle — kısa, açıklayıcı, anahtar terimi içersin. (10–12 kelimeyi geçmemeye çalış.)
Hedef dergi/konferansı seç — şablon ve atıf stilini (APA, IEEE vb.) öğren.
-
- Konferans:
https://ichoracongress.com/index.php
8th International Congress on Human-Computer Interaction, Optimization and Robotic Applications - https://ai-conf.com/index.php
- Başka bir IEEE destekli sempozyum öneriniz varsa bildirin.Track 4: Artificial Intelligence (AI)
- Konferans:
- AI for Healthcare and Biomedicine
- AI for Image and Video Processing
- AI in Autonomous Vehicles and Drones
- AI in Cybersecurity and Threat Detection
- AI in Predictive Maintenance
- Cognitive Computing and Decision-Making Systems
- Deep Learning Techniques and Architectures
- Explainable AI and Ethical Considerations
- Grid and Cloud Computing
- Natural Language Processing and Chatbots
- Quantum Computing
- Reinforcement Learning ApplicationsŞablon:
https://www.ieee.org/conferences/publishing/templates (Word)3–6 anahtar kelime seç (indexleme için).Kısa amaç/soru cümlesi oluştur (bir cümlede çalışmanın ne yaptığı).
- Özet (Abstract) — en son yazılması önerilir ama görünür bölüm. Çalışmalarımız bittikten sonra güncelleyeceğiz.
- İçerik (kısa ve etkili):
- Problem tanımı (1 cümle) — neden önemli?
- Yönteme kısa bir gönderme (hangi yöntem, veri türü?)
- Ana bulgular (en güçlü 1–2 sonuç, sayısal veriler varsa verin)
- Temel sonuç/katkı/geliştirme (1 cümle)
- Uzunluk: 150–250 sözcük (yayın isteğine göre).
- Tens / stil: Genelde geniş zaman + geçmiş zamanda “We propose… / We found…” veya “This study proposes… It shows…”. Türkçe metinleri edilgen yapıda, geniş zaman veya görülen geçmiş zaman: …maktadır, …mektedir, + …mıştır.
- İpucu: Özet yalnızca makalede bulunan bilgilerle sınırlı olmalı (yeni veri eklemeyin).
- Giriş (Introduction) — huninin geniş kısmı
Amaç: okuyucuya alanı tanıt, boşluğu göster, çalışmanın yerini ilan et.
Bölüm 2.1 — Establishing a territory (alanı belirleme)
- İlk paragrafta konunun geniş çerçevesini ver (niçin önemli, genel bağlam).
- Kısa literatür referanslarıyla “bu alanda kimler ne yapmış” örnekleri.
- Cümle örneği: “In the past decade much research has focused on…” → Türkçe: “Son on yılda … üzerine yoğun çalışmalar yapılmıştır.”
Bölüm 2.2 — Establishing a niche (boşluğu ortaya koyma)
- Açık şekilde “ne bilinmiyor?” veya “mevcut yaklaşımlar neden yetersiz?” sorusunu koy.
- Boşluğu destekleyen 2–3 kaynak göster (eleştiri/karşı argüman).
- Cümle örneği: “It remains unclear why…” → “Bunun nedeninin halen belirsiz olduğu görülmektedir.”
Bölüm 2.3 — Occupying the niche (çalışmayı konumlandırma)
- Bu çalışmanın amacı/araştırma sorusu(ları) net olarak: “Bu çalışmanın amacı … idi.”
- Kısa olarak hangi yöntem(ler) kullanılacağı, hangi veri setleriyle çalışılacağı ve beklenen katkı (novelty).
- Son paragrafta makalenin yapısını (bölümlerin sırası) kısaca belirt: “Bu makale şöyle yapılandırılmıştır…”
Yazım ipuçları:
- Girişte gereksiz teknik ayrıntıya girme; sadece yüksek seviyede yönlendir.
- Net soru/amaç cümlesi bulunsun (The purpose of this study was to… → “Bu çalışmanın amacı …’dır.”).
- Literatür Taraması (Literature Review)
- Amaç: konuyu derinleştirmek, benzer yaklaşımları özetlemek, boşluğu daha sağlam göstermek.
- Yapı:
- Tematik alt başlıklarla gruplandır (ör. “Görüntü işleme yaklaşımları”, “Veri füzyonu yöntemleri”, “Saha ölçümleri ve sensörler”).
- Her alt bölümde 5–12 önemli çalışmayı tartış: yöntem, avantaj/eksiklik, performans.
- Tablo: karşılaştırmalı çalışmalar (yazar, yıl, yöntem, veri, performans) ekle — okuyucu hızlıca görsün.
- İpucu: Literatür eleştirisel olmalı; sadece listeleme değil “niçin sizin yaklaşımınız farklı/iyi” vurgusu yapılmalı.
- Yöntem (Methodology)
Amaç: çalışmanın nasıl yürütüldüğünü net, tekrarlanabilir şekilde anlatmak.
4.1 Çalışma Tasarımı / Mimari
- Genel sistem mimarisini veya deney tasarımını soyut bir şema ile göster.
- Her bileşenin kısa tanımı (ör. veri toplama, ön-işleme, model mimarisi, değerlendirme modülü).
4.2 Veri (Data)
- Veri kaynakları (hangi coğrafi bölge, saha çalışması mı, açık veri mi, kaç örnek?), veri toplama yöntemi (sensörler, görsel, anket).
- Veri büyüklüğü, etiketleme prosedürü, veri kalitesi kontrolleri.
- Gerekirse veri ön işleme adımları (normalizasyon, augmentasyon, eksik veri imputation).
4.3 Model / Metod
- Kullanılan algoritmalar (ör. CNN: MobileNet v2; T/F: transfer learning; XGBoost; istatistiksel testler).
- Parametreler, eğitim-rutinleri, çapraz-doğrulama, hiperparametre seçimi.
- Deney senaryoları (baseline karşılaştırmaları, ablation study).
4.4 Değerlendirme Metodları
- Başarı metrikleri (accuracy, precision, recall, F1, AUC, RMSE vb.).
- İstatistiksel testler (t-test, ANOVA) ve güven aralıkları.
- Deney tekrarı sayısı ve rastgelelik tohumları (random seeds).
Yazım ipuçları:
- Yöntemi o kadar detaylı yaz ki bir başkası aynı prosedürü tekrarlayabilsin.
- Model mimarilerini mümkünse görsel/şema halinde ver.
- Bulgular (Results)
- Amaç: deneylerden elde edilen nesnel çıktıları sunmak.
- İçerik:
- Özet tablo(lar) (performans metrikleri karşılaştırması).
- Önemli grafikler (ROC, loss/accuracy epoch grafiği, hata dağılımları).
- Örnek çıktılar (ör. modelin doğru ve yanlış sınıflandırdığı örnek görselleri).
- Sunum: Tablo ve şekil alt yazıları (caption) açıklayıcı olsun; şekil/tablolar metin içinde referansla tartışılsın.
- İpucu: Sayısal sonuçları yalnızca verip bırakmayın; kısaca ne anlama geldiklerini belirtin.
- Tartışma (Discussion)
- Amaç: bulguları yorumlamak, literatürle ilişkilendirmek, açıklamalar sunmak.
- Yapı:
- Introduction of discussion: Bulguların kısa özeti ve ana iddia: “The findings of this study clearly show that…” → “Bu çalışmanın bulguları açıkça göstermektedir ki…”
- Evaluation / Explanations: Bulgular neden böyle? Hangi mekanizmalar işledi? Literatürde benzer bulgular var mı, farklılık neden?
- Alternatif açıklamalar ve sınırlılıklar: One explanation for… → başka açıklamalar, modelin sınırlılıkları, veri kısıtları.
- Uygulama ve politika çıkarımları: Eğer uygulamaya dönükse (çiftçi/kurum önerileri).
- İpucu: Tartışma, sonuçları abartmamalı; etkiyi gerçekçi çerçevede sunun.
- Sonuç (Conclusion)
- İçerik (kısa):
- Çalışmanın ana katkısı (1–2 cümle).
- Ana bulguların pratik/teorik anlamı.
- Öneriler / ileri çalışmalar (future work).
- İpucu: Tekrarlı bilgiden kaçının; öz, vurucu ve yönlendirici olun.
- Teşekkür (Acknowledgements)
- Finansman kaynakları (projeler, hibe numaraları), saha destekçileri, veri sağlayıcılar, önemli katkıda bulunanlar (danışmanlar) yazılır.
- Etik onay/İzin gerekiyorsa kısa not (ör. “This study was approved by …”).
- Kaynakça (References)
- Yayın stiline uygun eksiksiz ve doğru biçimde. DOI mümkünse ekleyin [1, 2].
- Literatür taramasındaki ana kaynakları, yöntem referanslarını ve araç/kitapları mutlaka ekleyin. APA. Cite, scholar : alıntı yap.
- İpucu: Referans yönetimi için Zotero / Mendeley / EndNote kullan; PDF’lerle eşleştir.
- Ekler (Appendices) / Veri ve Kod Erişimi
- Uzun tablolar, anket formları, ek grafikler veya tam hiperparametre listesi burada verilir.
- Eğer mümkünse veri seti ve kodun bulunduğu repository linki (GitHub) ekle (reproducibility).
- Not: Açık veri / kod etik ve lisans koşullarına bağlı olmalı.
Yazma Sırası (Pratik Algoritma)
- Başlık & kısa amaç yaz.
- Giriş taslağı oluştur (alan, boşluk, amaç).
- Literatür taraması — tabloyu oluştur.
- Yöntem bölümünü eksiksiz yaz (veri ve model).
- Deneyleri yap / sonuçları topla.
- Results bölümünü yaz (tablolar, figürler).
- Discussion yaz — sonuçları literatürle bağla.
- Conclusion yaz.
- Abstract son olarak yaz.
- Teşekkür ve referansları düzenle.
- Appendix ve repo linklerini ekle.
- Son kontrol & dil / format -> gönderime hazırla.
Yazım Stilleri ve Teknik İpuçları
- Tens: Yöntem ve sonuçlar için genelde geçmiş zaman (we used, we observed), genel gerçekler için geniş zaman. Türkçede “Bu çalışmada … yapıldı / elde edildi.”
- Aktif vs Pasif: Akademide aktif cümleler (We propose, We found) daha etkilidir; aşırı pasiflikten kaçının.
- Tablo/Şekil referansları: Metinde “Şekil 1’de … gösterilmiştir.” şeklinde referans verin.
- Kısaltmalar: İlk kullanımda parantez içinde açılım (YSA (Yapay Sinir Ağları)).
- Etik ve izinler: İnsan/ hayvan/veri gizliliği varsa etik onay numarasını yazın.
- Dilim ve okunurluk: Her paragrafta bir ana fikir olsun; başlıklar kısa ve açıklayıcı.
Ön Gönderim Kontrol Listesi (Checklist)
- Hedef yayının formatına uygun şablon kullanıldı mı?
- Başlık, abstract ve anahtar kelimeler var mı?
- Girişte net bir araştırma sorusu/amaç var mı?
- Literatürde boşluk ve katkı açıklandı mı?
- Yöntem yeterince detaylı mı (reproducible)?
- Sonuçlar doğru metriklerle sunuldu mu? (istatistik var mı?)
- Tüm figürler/tablolar caption ve numaralandırılmış mı?
- Kaynaklar stil (IEEE/APA) ile uyumlu mu? DOI var mı?
- Etik onayı/finansman belirtildi mi?
- Ek dosyalar (veri/kod) linklendi mi?
- Dilbilgisi ve yazım kontrolü yapıldı mı?
Son Öneriler (Hızlı Püf Noktaları)
- Abstract ve conclusion birbirini tutmalı; çelişki olmasın.
- Tablolar kısa ve öz; uzun açıklamalar metinde verilsin.
- Bulguları abartmayın; istatistiksel anlamlılık yoksa iddiaları sınırlayın.
- Yazdıklarınızı 24 saat sonra tekrar okuyun — hatalar kolay fark edilir.
- Bir uzmana okutun (danışman, meslektaş) teknik/akademik geribildirim için.
**********************************************************************************************************************************************************************************************************************
8. HAFTA DOKÜMANI
8.Bölüm-GözdenGecirmeTeknikleri9.Bölüm-Yazılım Metrikleri
LABORATUVAR :
**********************************************************************************************************************************************************************************************************************
Kalite Lab**********************************************************************************************************************************************************************************************************************
KISA SINAV SONUÇLARI:
02.10.2025
09.10.2025
16.10.2025
23.10.2025
30.10.2025
06.11.2025
İlk Yorumu Siz Yapın