Yazılım Testi Temel Seviye Ders Programı Özeti - kapak
Teknoloji#yazılım testi#istqb#test otomasyonu#statik test

Yazılım Testi Temel Seviye Ders Programı Özeti

Bu özet, uluslararası yazılım testi uzmanlığına yönelik temel seviye ders programının amaçlarını, kapsamını, test süreçlerini, tekniklerini ve yönetimini akademik bir yaklaşımla sunmaktadır.

efendimerve24 Mart 2026 ~31 dk toplam
01

Sesli Özet

10 dakika

Konuyu otobüste, koşarken, yolda dinleyerek öğren.

Sesli Özet

Yazılım Testi Temel Seviye Ders Programı Özeti

0:0010:05
02

Flash Kartlar

25 kart

Karta tıklayarak çevir. ← → ile gez, ⎵ ile çevir.

1 / 25
Tüm kartları metin olarak gör
  1. 1. ISTQB® Temel Seviye Sertifikasyon programının ana amacı nedir?

    Bu programın temel amacı, uluslararası yazılım test uzmanı nitelikleri için bir çerçeve oluşturmaktır. Çeşitli paydaşlara, yani üye kurullar, sertifikasyon kurumları, eğitim kurumları, sertifika adayları ve yazılım mühendisliği topluluğuna yönelik olarak hazırlanmıştır. Bu sayede yazılım testi alanında ortak bir dil ve standartlaşma hedeflenir.

  2. 2. ISTQB® Temel Seviye Sertifikası kimler için tasarlanmıştır?

    Temel seviye sertifikası, test uzmanları, analistler, mühendisler, danışmanlar, yöneticiler, yazılımcılar ve geliştirme ekibi üyeleri dahil olmak üzere yazılım testiyle ilgilenen herkes için tasarlanmıştır. Ayrıca proje yöneticileri ve kalite yöneticileri gibi temel bir yazılım testi anlayışına sahip olmak isteyen profesyoneller için de uygundur.

  3. 3. Yazılım testi nedir ve temel amacı nedir?

    Yazılım testi, yazılım kalitesini değerlendiren ve hataların riskini azaltan bir faaliyetler bütünüdür. Temel amacı, yazılımın beklenen gereksinimleri karşılayıp karşılamadığını kontrol etmek, kusurları bulmak ve yazılımın güvenilirliğini artırmaktır. Bu süreç, yazılımın doğru ve hatasız çalıştığından emin olmayı hedefler.

  4. 4. Doğrulama (Verification) ve Sağlama (Validation) kavramlarını açıklayınız.

    Doğrulama (Verification), "Ürünü doğru mu inşa ediyoruz?" sorusuna odaklanır ve yazılımın belirtilen gereksinimlere uygunluğunu kontrol eder. Sağlama (Validation) ise "Doğru ürünü mü inşa ediyoruz?" sorusuna odaklanır ve yazılımın kullanıcı ihtiyaçlarını ve beklentilerini karşılayıp karşılamadığını değerlendirir. Her ikisi de yazılım kalitesini güvence altına almak için kritik süreçlerdir.

  5. 5. Dinamik test ve Statik test arasındaki temel fark nedir?

    Dinamik test, yazılımı çalıştırarak davranışını ve çıktısını gözlemlemeyi içerir; yani kodun yürütülmesiyle gerçekleştirilir. Statik test ise yazılımı çalıştırmadan, kod, dokümantasyon veya mimari gibi çalışma ürünlerini manuel inceleme veya araçlarla değerlendirir. Statik testler genellikle geliştirme yaşam döngüsünün daha erken aşamalarında hataları tespit etmeyi amaçlar.

  6. 6. Yazılım testinin yedi temel prensibinden ilk ikisini açıklayınız.

    İlk prensip "Test hataların varlığını gösterir, yokluğunu değil" der; yani testler sadece hataların olduğunu kanıtlar, yazılımın tamamen hatasız olduğunu garanti edemez. İkinci prensip ise "%100 test imkansızdır" der; çünkü tüm girdi kombinasyonları ve koşullar altında test yapmak pratik olarak mümkün değildir. Bu prensipler, testin doğasını ve sınırlılıklarını vurgular.

  7. 7. Yazılım testinin yedi temel prensibinden "Erken Test" prensibini açıklayınız.

    Erken test prensibi, test aktivitelerinin yazılım geliştirme yaşam döngüsünün mümkün olan en erken aşamalarında başlaması gerektiğini belirtir. Gereksinim analizi ve tasarım aşamalarında yapılan testler, hataların daha az maliyetle ve daha kolay düzeltilmesini sağlar. Bu yaklaşım, projenin ilerleyen aşamalarında ortaya çıkabilecek büyük sorunların önüne geçerek zaman ve maliyet tasarrufu sağlar.

  8. 8. Yazılım testinin yedi temel prensibinden "Hataların Yoğunlaşması" prensibini açıklayınız.

    Hataların yoğunlaşması prensibi (Pareto prensibi olarak da bilinir), yazılımdaki hataların büyük bir kısmının genellikle belirli modüllerde veya fonksiyonlarda yoğunlaştığını ifade eder. Bu durum, test uzmanlarının test eforlarını bu riskli alanlara odaklaması gerektiğini gösterir. Bu sayede, sınırlı test kaynakları daha verimli kullanılarak daha fazla hata tespit edilebilir.

  9. 9. Yazılım testinin yedi temel prensibinden "Test Bağlama Göre Değişir" prensibini açıklayınız.

    Bu prensip, farklı yazılım türleri ve projeler için farklı test yaklaşımlarının ve tekniklerinin uygulanması gerektiğini belirtir. Örneğin, güvenlik açısından kritik bir yazılımın test stratejisi, bir web sitesinin test stratejisinden farklı olacaktır. Testin kapsamı, derinliği ve kullanılan yöntemler, test edilen yazılımın bağlamına, risklerine ve gereksinimlerine göre uyarlanmalıdır.

  10. 10. Yazılım Geliştirme Yaşam Döngüsü (YGYD) modellerinin test aktiviteleri üzerindeki etkisi nedir?

    YGYD modeli, test aktivitelerinin kapsamını, zamanlamasını, dokümantasyon ayrıntı düzeyini, teknik seçimini, otomasyon kapsamını ve test uzmanının rol ve sorumluluklarını doğrudan etkiler. Sıralı (şelale), döngüsel (iteratif) ve artımlı (çevik) gibi farklı modeller, testin ne zaman başlayacağını, ne sıklıkla yapılacağını ve hangi yöntemlerin kullanılacağını belirler.

  11. 11. "Shift-left" prensibi yazılım testinde ne anlama gelir ve hangi uygulamaları içerir?

    "Shift-left" prensibi, testlerin yazılım geliştirme yaşam döngüsünün mümkün olan en erken aşamalarına kaydırılması gerektiğini savunur. Bu yaklaşım, analiz gözden geçirmeleri, kod yazılmadan önce test senaryolarının oluşturulması ve statik analiz gibi uygulamaları içerir. Amaç, hataları erken tespit ederek düzeltme maliyetlerini düşürmek ve ürün kalitesini artırmaktır.

  12. 12. DevOps yaklaşımının test otomasyonuna katkıları nelerdir?

    DevOps, yazılım geliştirme ve operasyon arasında sinerji oluşturarak hızlı geri bildirim, sürekli entegrasyon ve sürekli teslimat süreçlerini destekler. Bu yaklaşım, test otomasyonunu temel bir bileşen olarak benimser. Otomatik testler sayesinde, kod değişiklikleri hızlıca doğrulanır, geri bildirim döngüleri kısalır ve yazılımın daha sık ve güvenli bir şekilde dağıtılması sağlanır.

  13. 13. Bileşen Testi (Component Testing) nedir ve temel hedefi nedir?

    Bileşen testi, yazılımın en küçük bağımsız birimleri veya modülleri üzerinde yapılan testlerdir. Temel hedefi, bu bileşenlerin ayrı ayrı doğru çalıştığını ve belirtilen gereksinimleri karşıladığını doğrulamaktır. Genellikle geliştiriciler tarafından yapılır ve birim testleri olarak da adlandırılabilir.

  14. 14. Sistem Testi (System Testing) nedir ve temel hedefi nedir?

    Sistem testi, entegre edilmiş tüm yazılım sisteminin bir bütün olarak test edilmesidir. Temel hedefi, sistemin belirtilen gereksinimleri karşılayıp karşılamadığını, fonksiyonel ve fonksiyonel olmayan özelliklerinin beklendiği gibi çalışıp çalışmadığını doğrulamaktır. Bu testler genellikle bağımsız bir test ekibi tarafından yapılır ve gerçek dünya senaryolarını simüle eder.

  15. 15. Kabul Testi (Acceptance Testing) nedir ve temel hedefi nedir?

    Kabul testi, yazılımın son kullanıcılar, müşteriler veya diğer yetkili paydaşlar tarafından, iş gereksinimlerini ve beklentilerini karşılayıp karşılamadığını doğrulamak amacıyla yapılan resmi bir test seviyesidir. Temel hedefi, sistemin iş süreçlerine uygunluğunu ve kullanıma hazır olup olmadığını belirlemektir. Bu testin başarılı olması, yazılımın dağıtıma hazır olduğu anlamına gelir.

  16. 16. Fonksiyonel Testler ve Fonksiyonel Olmayan Testler arasındaki farkı açıklayınız.

    Fonksiyonel testler, yazılımın "ne yaptığını" yani belirli işlevleri doğru bir şekilde yerine getirip getirmediğini doğrular. Örneğin, bir butona tıklandığında beklenen eylemin gerçekleşip gerçekleşmediği. Fonksiyonel olmayan testler ise yazılımın "nasıl çalıştığını" değerlendirir; performans, güvenlik, kullanılabilirlik, güvenilirlik gibi özelliklere odaklanır.

  17. 17. Onaylama Testi (Confirmation Testing) ve Regresyon Testi (Regression Testing) arasındaki fark nedir?

    Onaylama testi (yeniden test), bir hatanın düzeltildikten sonra bu hatanın gerçekten giderildiğini doğrulamak için yapılır. Regresyon testi ise yazılımda yapılan değişikliklerin (hata düzeltmeleri, yeni özellikler vb.) mevcut ve daha önce doğru çalışan işlevselliği olumsuz etkilemediğini teyit etmek amacıyla yapılır. Her ikisi de değişiklik sonrası test stratejisinin önemli parçalarıdır.

  18. 18. Statik testlerin dinamik testlere göre avantajları nelerdir?

    Statik testler, yazılımı çalıştırmadan hataları tespit ettiği için geliştirme yaşam döngüsünün çok erken aşamalarında uygulanabilir. Bu, hataların daha az maliyetle ve daha kolay düzeltilmesini sağlar. Ayrıca, dinamik testlerin gözden kaçırabileceği belirli hata türlerini (örneğin, kod standartlarına uymama, güvenlik açıkları) bulabilir ve kod kalitesini artırır.

  19. 19. Gözden Geçirme Süreçlerinin (Reviews) temel amacı ve faydaları nelerdir?

    Gözden geçirme süreçlerinin temel amacı, yazılım çalışma ürünlerindeki (kod, dokümantasyon, gereksinimler) kusurları erken aşamada tespit etmek ve potansiyel kalite sorunlarını önlemektir. Faydaları arasında erken ve sık paydaş geri bildirimi sağlaması, iletişim ve bilgi paylaşımını artırması, geliştirme maliyetlerini düşürmesi ve ürün kalitesini yükseltmesi yer alır.

  20. 20. Kara Kutu Test Tekniklerinden "Denklik Paylarına Ayırma" (Equivalence Partitioning) tekniğini açıklayınız.

    Denklik Paylarına Ayırma, bir girdi alanını veya koşul kümesini, benzer şekilde işlenmesi beklenen geçerli ve geçersiz "denklik paylarına" bölme tekniğidir. Her paydan sadece bir temsilci değer seçilerek test senaryoları oluşturulur. Bu, test senaryosu sayısını azaltırken test kapsamını korumaya yardımcı olur ve gereksiz tekrarlardan kaçınmayı sağlar.

  21. 21. Kara Kutu Test Tekniklerinden "Sınır Değer Analizi" (Boundary Value Analysis) tekniğini açıklayınız.

    Sınır Değer Analizi, denklik paylarının sınırlarında veya hemen dışında bulunan değerlerin test edilmesine odaklanan bir tekniktir. Hataların genellikle bu sınır değerlerde ortaya çıkma olasılığının daha yüksek olduğu varsayımına dayanır. Örneğin, bir yaş aralığı 18-65 ise, 17, 18, 65 ve 66 gibi değerler test edilir. Bu, hata tespit etkinliğini artırır.

  22. 22. Beyaz Kutu Test Teknikleri neye odaklanır ve hangi test türlerini kapsar?

    Beyaz kutu test teknikleri, yazılımın iç yapısına, koduna ve işlemlerine odaklanır. Test uzmanları, kodun nasıl çalıştığını bilerek test senaryolarını tasarlar. Bu teknikler genellikle komut kapsamı (statement coverage) ve dal kapsamı (branch coverage) gibi test türlerini kapsar. Amacı, kodun tüm yollarının ve mantıksal dallanmalarının test edildiğinden emin olmaktır.

  23. 23. Tecrübeye Dayalı Test Teknikleri nelerdir ve ne zaman kullanılır?

    Tecrübeye dayalı test teknikleri, test uzmanlarının bilgi, beceri ve deneyimlerini kullanarak test senaryoları oluşturmasını içerir. Hata tahminleme (error guessing), keşif testi (exploratory testing) ve kontrol listesine dayalı test (checklist-based testing) bu kapsamdadır. Genellikle zaman kısıtlı olduğunda veya resmi test tekniklerinin uygulanmasının zor olduğu durumlarda kullanılır.

  24. 24. Test Planlaması yaparken hangi temel unsurlar göz önünde bulundurulmalıdır?

    Test planlaması yaparken testin hedefleri, kapsamı, test edilecek öğeler, test yaklaşımı, test seviyeleri, test ortamı gereksinimleri, test çizelgesi, kaynaklar (insan, araç), riskler, giriş ve çıkış kriterleri gibi temel unsurlar göz önünde bulundurulmalıdır. Ayrıca paydaşlar, iletişim planı ve test edilebilirliğin belirlenmesi de önemlidir.

  25. 25. Test Eforu Tahminleme tekniklerinden iki tanesini belirtiniz.

    Test eforu tahminleme tekniklerinden ikisi "oranlara dayalı tahminleme" ve "üç noktalı tahminleme"dir. Oranlara dayalı tahminleme, geçmiş projelerdeki benzer aktivitelerin oranlarını kullanarak yapılır. Üç noktalı tahminleme ise en iyimser, en olası ve en kötümser senaryoları değerlendirerek daha gerçekçi bir tahmin aralığı sunar.

03

Bilgini Test Et

15 soru

Çoktan seçmeli sorularla öğrendiklerini ölç. Cevap + açıklama.

Soru 1 / 15Skor: 0

ISTQB® tarafından hazırlanan temel seviye ders programının ana amacı nedir?

04

Detaylı Özet

11 dk okuma

Tüm konuyu derinlemesine, başlık başlık.

📚 ISTQB® Sertifikalı Test Uzmanı - Temel Seviye Çalışma Materyali

Kaynak Bilgisi: Bu çalışma materyali, ISTQB® Temel Seviye Ders Programı metinleri ve ilgili ders kaydı transkriptlerinden derlenmiştir.


🚀 Giriş ve Genel Bakış

Bu çalışma materyali, uluslararası yazılım test uzmanı nitelikleri için temel bir çerçeve sunan ISTQB® (Uluslararası Yazılım Test Yeterlilik Kurulu) Temel Seviye Ders Programı'nı kapsamaktadır. Program, yazılım testinin temel kavramlarını, prensiplerini, süreçlerini ve yönetimini anlamak isteyen profesyoneller için tasarlanmıştır. Amacı, yazılım kalitesini değerlendirmek ve yazılım geliştirme yaşam döngüsü boyunca hataların riskini azaltmaktır.

🎯 Hedef Kitle ve Kariyer Yolu

Bu ders programı, test uzmanları, test analistleri, test mühendisleri, test danışmanları, test yöneticileri, yazılımcılar ve geliştirme ekibi üyeleri gibi yazılım testiyle uğraşan herkes için uygundur. Ayrıca proje yöneticileri, kalite yöneticileri, ürün sahipleri ve BT yöneticileri gibi temel bir yazılım testi anlayışına sahip olmak isteyen profesyoneller de hedeflenmektedir. Temel Seviye sertifikası, ISTQB'nin ileri ve uzman seviye programlarına geçiş için bir basamak görevi görür.

Beklenen İş Çıktıları

Temel Seviye sertifikası alan bir profesyonelden beklenen 14 temel iş çıktısı şunlardır:

  • Testin ne olduğunu ve neden faydalı olduğunu anlamak.
  • Yazılım testinin temel kavramlarını kavramak.
  • Testin bağlamına göre uygun test yaklaşımını ve aktivitelerini tanımlamak.
  • Dokümantasyon kalitesini değerlendirmek ve iyileştirmek.
  • Testin etkinliğini ve verimliliğini artırmak.
  • Test sürecini yazılım geliştirme yaşam döngüsüyle uyumlu hale getirmek.
  • Test yönetimi prensiplerini anlamak.
  • Net ve anlaşılır hata raporları yazmak ve iletmek.
  • Testle ilgili öncelik ve eforu etkileyen faktörleri anlamak.
  • Disiplinler arası bir ekibin üyesi olarak çalışmak.
  • Test otomasyonuyla ilgili riskleri ve faydaları bilmek.
  • Test için gerekli becerileri tanımlamak.
  • Riskin test üzerindeki etkisini anlamak.
  • Testin ilerleme durumu ve test kalitesi hakkında etkin rapor sunmak.

🧠 Öğrenme Hedefleri ve Bilişsel Seviyeler

Sınav kapsamındaki öğrenme hedefleri, iş çıktılarını destekler ve bilişsel seviyelere göre sınıflandırılır:

  • K1: Hatırla (Bilgiyi hatırlama)
  • K2: Anla (Kavramları açıklama, karşılaştırma)
  • K3: Uygula (Bilgiyi yeni durumlara uygulama)

📝 Sınav Kapsamı ve Akreditasyon

Sınav, ders programının giriş ve ekler hariç tüm bölümlerini kapsar. Referans gösterilen standartların (örn. IEEE, ISO) içerikleri, sadece ders programında bahsedildiği ölçüde sınava dahildir. ISTQB® Üye Kurulları, ders materyali bu ders programına uygun olan eğitim kurumlarını akredite edebilir.


1️⃣ Konu 1: Yazılım Testinin Temelleri

📚 Yazılım Testi Nedir?

Yazılım testi, yazılım kalitesini değerlendiren ve kullanım sırasında oluşabilecek hataların riskini azaltan bir aktiviteler bütünüdür. Hata bulmayı ve yazılım geliştirme sırasında üretilen eserlerin kalitesini değerlendirmeyi amaçlar. Test, hem doğrulama (sistemin gereksinimleri karşılayıp karşılamadığını kontrol etme) hem de sağlama (sistemin kullanıcı ve paydaş ihtiyaçlarını karşılayıp karşılamadığını kontrol etme) süreçlerini içerir.

  • Dinamik Test: Yazılımın çalıştırılmasını içerir.
  • Statik Test: Yazılımı çalıştırmadan kod, dokümantasyon gibi çalışma ürünlerinin incelenmesini içerir (örn. gözden geçirmeler, statik analiz).

🎯 Test Hedefleri

Genel test hedefleri şunlardır:

  • Çalışma ürünlerini (gereksinimler, kod vb.) değerlendirmek.
  • Arızaları tetiklemek ve hataları bulmak.
  • Yazılımın kalite kriterlerini karşılayamama riskini azaltmak.
  • Belirtilen gereksinimlerin yerine getirildiğini doğrulamak.
  • Paydaşlara sağlıklı kararlar alabilmeleri için bilgi sunmak.
  • Test nesnesinin kalitesi hakkında güven oluşturmak.

↔️ Yazılım Testi ve Hata Ayıklama

Test etme ve hata ayıklama farklı aktivitelerdir.

  • Test Etme: Hataları bulmaya veya arızaları tetiklemeye odaklanır.
  • Hata Ayıklama: Tetiklenen arızaların nedenlerini (hataları) bulma, analiz etme ve giderme sürecidir. Onaylama testleri ve regresyon testleri hata ayıklama sonrası yapılır.

💡 Yazılım Testi Neden Gereklidir?

Test, bir kalite kontrol mekanizması olarak belirlenen kapsam, zaman, kalite ve bütçe kısıtları dahilinde hedeflere ulaşmaya yardımcı olur.

  • Hataların maliyet etkin bir şekilde bulunmasını sağlar.
  • YGYD'nin çeşitli aşamalarında kalitenin doğrudan değerlendirilmesini sunar.
  • Kullanıcıların dolaylı olarak temsil edilmesini sağlar.
  • Sözleşmeye bağlı veya yasal gereksinimleri karşılamak için gereklidir.

⚖️ Test Etme ve Kalite Güvence (KG)

  • Kalite Kontrol (KK): Ürün odaklı, düzeltici bir yaklaşımdır. Test, KK'nin önemli bir ayağıdır.
  • Kalite Güvence (KG): Süreç odaklı, önleyici bir yaklaşımdır. İyi bir sürecin doğru uygulanıp uygulanmadığına odaklanır. KG, hem geliştirme hem de test süreci için geçerlidir ve herkesin sorumluluğundadır.

⚠️ İnsan Hataları, Hatalar, Arızalar ve Kök Nedenler

  • İnsan Hatası (Yanlışlık): İnsanların yaptığı hatalar.
  • Yazılım Hatası (Kusur/Hata): İnsan hatalarından kaynaklanan, yazılımdaki eksiklik veya yanlışlık.
  • Arıza (Başarısızlık): Bir hatanın çalıştırılması sonucu sistemin beklenen işlevini yerine getirememesi.
  • Kök Neden: Bir problemin ortaya çıkmasının temel sebebi. Kök neden analizi ile belirlenir ve benzer sorunların önlenmesine yardımcı olur.

7️⃣ Test Prensipleri

  1. Test hataların varlığını gösterir, yokluğunu değil.
  2. %100 test imkansızdır.
  3. Erken test, zaman ve para tasarrufu sağlar.
  4. Hatalar yazılımın belli alanlarında yoğunlaşır (Pareto Prensibi).
  5. Antibiyotik direnci: Aynı testler tekrarlandıkça yeni hata bulmada etkinliği azalır.
  6. Test, projenin bağlamına göre değişiklik gösterir.
  7. Hatasızlık yanılgısı: Bulunan tüm hatalar çözülse bile yazılım kullanıcı ihtiyaçlarını karşılamayabilir.

🔄 Test Aktiviteleri, Çalışma Ürünleri ve Roller

Test süreci, planlama, gözetim ve kontrol, analiz, tasarım, uyarlama, koşum ve tamamlama gibi ana aktivite gruplarından oluşur. Bu aktiviteler, test planı, test senaryoları, hata raporları gibi çeşitli test çalışma ürünleri üretir. Test sürecinde test yönetimi (planlama, gözetim, tamamlama) ve test etme (analiz, tasarım, koşum) olmak üzere iki ana rol bulunur.

🤝 Test Etme Sürecinde Gerekli Beceriler ve İyi Uygulamalar

Test uzmanları için kritik beceriler arasında test bilgisi, titizlik, iletişim, analitik düşünce, teknik ve alan bilgisi yer alır.

  • Tüm Ekip Yaklaşımı: Ekip üyelerinin ortak hedeflere ulaşmak için iş birliği yapması, kaliteden herkesin sorumlu olması.
  • Testin Bağımsızlığı: Farklı bakış açıları sunarak hataları daha etkili bulmayı sağlar. Bağımsızlık seviyeleri (yazar, ekip arkadaşı, kurum içi test uzmanı, dış test uzmanı) değişebilir.

2️⃣ Konu 2: Yazılım Geliştirme Yaşam Döngüsü Boyunca Test

🌐 YGYD Bağlamında Test

Testler, seçilen Yazılım Geliştirme Yaşam Döngüsü (YGYD) modeline (sıralı, döngüsel, artımlı) uyarlanmalıdır. YGYD, test aktivitelerinin kapsamını, zamanlamasını, dokümantasyon ayrıntı düzeyini, teknik seçimini ve test uzmanının rolünü etkiler.

İyi Test Uygulamaları

  • Her geliştirme aktivitesine karşılık gelen bir test aktivitesi olmalı.
  • Farklı test seviyeleri belirli hedeflere sahip olmalı.
  • Test analizi ve tasarımı erken başlamalıdır.
  • Test uzmanları dokümantasyon gözden geçirme süreçlerine dahil olmalı.

📈 Geliştirmeyi Yönlendiren Test Yaklaşımları

  • Test Güdümlü Geliştirme (TDD): Kod yazılmadan önce testler yazılır.
  • Kabul Testi Güdümlü Geliştirme (ATDD): Kabul kriterlerinden testler türetilir ve kod yazılmadan önce oluşturulur.
  • Davranış Güdümlü Geliştirme (BDD): Uygulamanın istenen davranışı, doğal dilde yazılan test senaryolarıyla ifade edilir.

⚙️ DevOps ve Test Etme

DevOps, geliştirme ve operasyon arasında sinerji oluşturarak hızlı geri bildirim, sürekli entegrasyon (CI) ve sürekli teslimat (CD) ile test otomasyonunu destekler. Test otomasyonu, regresyon riskini azaltır ve kod kalitesi hakkında hızlı geri bildirim sağlar.

⬅️ Shift-Left Yaklaşımı

Testlerin YGYD'nin erken aşamalarında yapılmasını öneren "erken test" prensibidir. Analiz gözden geçirmeleri, kod yazılmadan önce test senaryolarının oluşturulması ve statik analiz gibi uygulamaları içerir.

📊 Geçmişe Dönük Öğeler ve Süreç İyileştirmesi

Proje veya döngü sonunda yapılan toplantılardır. Amaç, başarılı olanları sürdürmek ve başarısız olanları iyileştirmek için dersler çıkarmaktır. Sürekli iyileştirme için kritik öneme sahiptir.

🪜 Test Seviyeleri

Test aktivitelerinin gruplandırılmasıdır.

  • Bileşen Testi (Birim Testi): Bileşenleri ayrı ayrı test eder.
  • Bileşen Entegrasyon Testi: Bileşenler arasındaki arayüzleri ve etkileşimleri test eder.
  • Sistem Testi: Sistem veya ürünün genel davranışına ve yeteneklerine odaklanır.
  • Sistem Entegrasyon Testi: Test edilen sistem ile diğer sistemler arasındaki arayüzleri test eder.
  • Kabul Testi: Sistemin kullanıcıya sunulmaya hazır olduğunu doğrular (örn. Kullanıcı Kabul Testi - KKT).

🧪 Test Çeşitleri

Gereksinimlerle ilgili test aktivitesi gruplarıdır.

  • Fonksiyonel Testler: Bileşen veya sistemin yerine getirmesi gereken fonksiyonları değerlendirir.
  • Fonksiyonel Olmayan Testler: Sistem veya bileşenin fonksiyonel gereksinimleri dışındaki özelliklerini (örn. performans, kullanılabilirlik, güvenlik) değerlendirir.
  • Kara Kutu Testi: Gereksinim bazlıdır, test nesnesine dışarıdan bakarak testleri elde eder.
  • Beyaz Kutu Testi: Yapı bazlıdır, sistemin iç yapısından (kod, mimari) testleri elde eder.

🔁 Onaylama ve Regresyon Testleri

  • Onaylama Testi: Bir hatanın başarıyla giderildiğini doğrulamak için yapılır.
  • Regresyon Testi: Bir değişikliğin (düzeltme veya yeni özellik) mevcut işlevselliği olumsuz etkilemediğini teyit eder. Genellikle otomatiktir.

🛠️ Bakım Testleri

Mevcut bir sistemde yapılan değişiklikler (düzeltici, uyarlayıcı, geliştirici) sonrası sistemin doğru çalıştığını kontrol eder. Kapsamı, değişikliğin risk derecesine ve boyutuna bağlıdır.


3️⃣ Konu 3: Statik Testler

🔍 Statik Testin Temelleri

Statik test, yazılımı çalıştırmadan kod, süreç, mimari veya diğer çalışma ürünlerini manuel inceleme (gözden geçirme) veya araç yardımıyla (statik analiz) değerlendirir. Kaliteyi yükseltmek, hataları tespit etmek ve okunabilirlik, bütünlük gibi özellikleri değerlendirmek hedeflenir.

📄 Statik Testlerle İncelenebilen Çalışma Ürünleri

Gereksinimler, kaynak kod, test planları, test senaryoları, proje dokümantasyonu, sözleşmeler ve modeller gibi okunup anlaşılabilecek her türlü çalışma ürünü incelenebilir.

🌟 Statik Testin Önemi

  • YGYD'nin erken aşamalarında hataları tespit ederek "erken test" prensibini destekler.
  • Dinamik testle tespit edilemeyecek hataları (örn. ulaşılamayan kod) bulabilir.
  • Çalışma ürünlerinin kalitesini değerlendirir ve paydaşlar arasında ortak bir anlayış oluşturur.
  • Hataları erken bulduğu için maliyet etkinliği sağlar.

🆚 Statik Test ve Dinamik Test Arasındaki Farklar

Birbirlerini tamamlarlar. Statik test hataları doğrudan bulurken, dinamik test arızaları tetikler ve hatalar analiz yoluyla belirlenir. Statik testler çalıştırılamayan alanlara uygulanabilirken, dinamik testler yalnızca çalıştırılabilir alanlara uygulanabilir.

🗣️ Geri Bildirim ve Gözden Geçirme Süreci

Erken ve sık paydaş geri bildirimleri, potansiyel kalite problemlerinin erken iletilmesini sağlar. Gözden geçirme süreci; planlama, başlangıç, bireysel gözden geçirme, iletişim ve analiz, düzeltme ve raporlama faaliyetlerini içerir.

👥 Gözden Geçirmede Roller ve Sorumluluklar

Yönetici, yazar, moderatör, katip, gözden geçirici ve gözden geçirme lideri gibi roller bulunur.

📋 Gözden Geçirme Çeşitleri

  • Gayri Resmi Gözden Geçirme: Tanımlanmış bir süreç izlenmez, resmi çıktı gerektirmez.
  • Üzerinden Geçme (Walkthrough): Yazarın öncülüğünde yapılır, kaliteyi değerlendirme ve eğitim amaçlıdır.
  • Teknik Gözden Geçirme: Teknik açıdan nitelikli gözden geçiriciler tarafından, moderatör eşliğinde yapılır.
  • Teftiş (Inspection): En resmi gözden geçirme çeşididir, maksimum sayıda anomali bulmayı hedefler.

4️⃣ Konu 4: Test Analizi ve Tasarımı

🛠️ Test Tekniklerine Genel Bakış

Test teknikleri, test analizinde (ne test edilecek) ve test tasarımında (nasıl test edilecek) test uzmanına destek sağlar. Kara kutu, beyaz kutu ve tecrübeye dayalı olarak sınıflandırılırlar.

Kara Kutu Test Teknikleri

Test nesnesinin iç yapısına bakılmaksızın davranışının analizine dayanır.

  • Denklik Paylarına Ayırma (DPA): Verileri denklik paylarına ayırarak her paydan bir değerle test yapar.
  • Sınır Değer Analizi (SDA): Denklik paylarının sınır değerlerini test eder (2 değerli ve 3 değerli versiyonları vardır).
  • Karar Tablosu Testleri: Koşul kombinasyonlarının farklı çıktılar üretmesini gösterir, karmaşık mantık için etkilidir.
  • Durum Geçişi Testleri: Bir sistemin olası durumlarını ve geçerli durum geçişlerini modeller.

Beyaz Kutu Test Teknikleri

Test nesnesinin iç yapısının ve işlemlerinin analizine dayanır.

  • Komut Testleri ve Komut Kapsama Yüzdesi: Çalıştırılabilir komutların ne kadarının test edildiğini ölçer.
  • Dal Testi ve Dal Kapsamı: Kod içindeki tüm koşulsuz ve koşullu dalların test edilmesini sağlar. Dal kapsamı, komut kapsamını içerir.
  • Beyaz Kutu Testinin Önemi: Kodun tamamının dikkate alınmasını sağlar, objektif kapsam ölçümü sunar.

🧠 Tecrübeye Dayalı Test Teknikleri

Test uzmanlarının bilgi ve deneyimlerini etkin bir şekilde kullanır.

  • Hata Tahminleme: Test uzmanının geçmiş bilgilere dayanarak olası hataları tahmin etmesi.
  • Keşif Testi: Test uzmanının test nesnesi hakkında bilgi edinirken eş zamanlı olarak testleri tasarlaması, koşması ve değerlendirmesi.
  • Kontrol Listesine Dayalı Testler: Bir kontrol listesinde bulunan test koşullarını kapsayacak şekilde testler tasarlanır.

🤝 İş Birliğine Dayalı Test Yaklaşımları

Hataların iş birliği ve iletişim yoluyla önlenmesine odaklanır.

  • İş Birliğine Dayalı Kullanıcı Hikayesi Yazımı: Ekip üyelerinin (analiz, geliştirme, test) ortak bir vizyonla kullanıcı hikayeleri oluşturması.
  • Kabul Kriterleri: Bir kullanıcı hikayesinin kabul edilmesi için karşılaması gereken koşulları içerir.
  • Kabul Testi Güdümlü Yazılım Geliştirme (ATDD): Kullanıcı hikayesini uygulamadan önce test senaryoları oluşturulur.

5️⃣ Konu 5: Test Aktivitelerini Yönetme

📋 Test Planlama

Bir test projesi için hedefleri, kaynakları ve süreçleri belirler. Test bağlamı, varsayımlar, paydaşlar, iletişim, risk kaydı, test yaklaşımı, bütçe ve zaman çizelgesi gibi unsurları içerir.

  • Test Uzmanının Katkısı: Risk analizi, efor tahmini, test edilebilirliğin belirlenmesi.
  • Giriş ve Çıkış Kriterleri: Bir aktivitenin başlangıç ve bitiş koşullarını tanımlar.
  • Tahminleme Teknikleri: Oranlara dayalı, dışdeğerleme, Wideband Delphi, üç noktalı tahminleme.
  • Test Senaryosu Önceliklendirme: Risk, kapsam veya gereksinim önceliklerine göre yapılır.
  • Test Piramidi: Farklı test seviyelerinin (birim, entegrasyon, UI) farklı ayrıntı ve otomasyon seviyelerine sahip olduğunu gösterir.
  • Test Çeyrekleri: Test seviyelerini, test çeşitlerini ve aktivitelerini Çevik geliştirme bağlamında gruplandırır (iş odaklı/teknoloji odaklı, ekibi destekleyen/ürünü eleştiren).

📊 Risk Yönetimi

Organizasyonların hedeflere ulaşma olasılığını artırmasına olanak sağlar.

  • Risk Tanımı: Olumsuz bir etkiye neden olacak potansiyel bir olaydır (olasılık ve etki ile karakterize edilir).
  • Proje Riskleri: Projenin yönetimi ve kontrolüyle ilgilidir (örn. gecikme, bütçe aşımı).
  • Ürün Riskleri: Ürünün gereksinimleriyle ilgilidir (örn. eksik fonksiyonellik, güvenlik açıkları).
  • Ürün Riski Analizi: Test eforunu kalan ürün riskini en aza indirecek şekilde yönlendirmeyi amaçlar.
  • Ürün Risk Kontrolü: Belirlenen risklere karşı alınan önlemleri (risk azaltma, risk gözetimi) içerir.

📈 Test Gözetimi, Test Kontrol ve Test Tamamlama

  • Test Gözetimi: Test ilerlemesini değerlendirmek için bilgi toplar.
  • Test Kontrolü: Test gözetiminden elde edilen bilgileri kullanarak düzeltici aksiyonlar sağlar.
  • Test Tamamlama: Test projesinde elde edilen deneyimi ve çalışma ürünlerini toplar.
  • Test Metrikleri: Proje ilerlemesi, test ilerlemesi, ürün kalitesi, hata, risk ve kapsam gibi alanlarda kullanılır.
  • Test Raporları: Test bilgilerini özetler ve paydaşlara iletir (ilerleme raporları, tamamlama raporları).
  • Testin Durumunun Bildirilmesi: Sözlü iletişim, gösterge panelleri, elektronik kanallar veya resmi raporlar aracılığıyla yapılır.

🗄️ Yapılandırma Yönetimi (YY)

Test planı, test senaryosu, test sonucu gibi çalışma ürünlerini yapılandırma öğeleri olarak tanımlamak, kontrol etmek ve takip etmek için bir disiplin sağlar. İzlenebilirliği ve versiyon kontrolünü destekler.

🐞 Hata Yönetimi

Hataların keşfedilmesinden kapatılmasına kadar olan iş akışını ve raporlama standartlarını içerir. Hata raporları, sorunu çözmek için yeterli bilgi sağlamalı ve çalışma ürününün kalitesini izlemek için bir araç olmalıdır.


6️⃣ Konu 6: Test Araçları

💻 Yazılım Testleri için Araç Desteği

Test araçları, yönetim, statik test, test tasarımı ve uygulama, test koşumu ve kapsam, fonksiyonel olmayan test, DevOps, iş birliği ve ölçeklenebilirlik gibi birçok test aktivitesini destekler ve kolaylaştırır.

🤖 Test Otomasyonunun Faydaları ve Riskleri

Faydaları:

  • Tekrarlayan manuel işleri azaltarak zaman tasarrufu.
  • Daha fazla tutarlılık ve tekrarlanabilirlik.
  • Daha objektif değerlendirme ve kapsam ölçümleri.
  • Test hakkında daha kolay bilgi erişimi.
  • Daha erken hata tespiti ve hızlı pazara sürüm süresi.
  • Test uzmanlarına daha derin testler için zaman kazandırma.

Riskleri:

  • Araçların faydaları konusunda gerçekçi olmayan beklentiler.
  • Yanlış zaman, maliyet ve efor tahminleri.
  • Manuel testlerin daha uygun olduğu durumlarda otomasyon kullanma.
  • Eleştirel düşünmeyi araçlara bırakma eğilimi.
  • Satıcıya bağımlılık veya açık kaynaklı araçların bakım sorunları.
  • Geliştirme platformuyla uyumsuzluk veya düzenleyici gereksinimlere uymama.

Kendi çalışma materyalini oluştur

PDF, YouTube videosu veya herhangi bir konuyu dakikalar içinde podcast, özet, flash kart ve quiz'e dönüştür. 1.000.000+ kullanıcı tercih ediyor.

Sıradaki Konular

Tümünü keşfet
Veri Yolu Monitörü ve Görev Bilgisayarı

Veri Yolu Monitörü ve Görev Bilgisayarı

Bu podcast'te, veri iletişiminin güvenilirliğini sağlayan Veri Yolu Monitörü'nün işlevlerini ve bu kritik bileşenin, Operasyonel Uçuş Programı ile birlikte Görev Bilgisayarı içindeki rolünü detaylıca inceliyorum.

Özet Görsel
Bilgisayar Bilimlerinin Temel Kavramları

Bilgisayar Bilimlerinin Temel Kavramları

Bu içerik algoritmalar, yazılım türleri, dosya ve klasör yönetimi ile işletim sisteminin işlevleri gibi bilgisayar bilimlerinin temel kavramlarını akademik bir yaklaşımla incelemektedir.

6 dk 25 15
Swift Kontrol Akış Yapıları ve Yapay Zeka Destekli iOS Uygulamaları

Swift Kontrol Akış Yapıları ve Yapay Zeka Destekli iOS Uygulamaları

Bu içerik, yapay zeka destekli mobil uygulama geliştirmede Swift'in if/else, switch ve döngü gibi kontrol akış yapılarını detaylıca ele almaktadır. Mantıksal karar alma ve veri işleme süreçleri incelenmiştir.

9 dk Özet 25 15 Görsel
BlackArch Linux ile Ağ Saldırıları ve Güvenlik Analizi

BlackArch Linux ile Ağ Saldırıları ve Güvenlik Analizi

Bu içerik, BlackArch Linux kullanarak gerçekleştirilen ağ içi ve ağ dışı saldırı tekniklerini, temel protokolleri ve ilgili araçları akademik bir yaklaşımla incelemektedir.

6 dk Özet 25 15 Görsel
İletişim Teknolojilerinin Gelişim Süreci ve İnternet

İletişim Teknolojilerinin Gelişim Süreci ve İnternet

Bu özet, iletişim teknolojilerinin tarihsel gelişimini, bilgisayar ağlarının ve internetin ortaya çıkışını, günümüzdeki etkilerini ve bilgi çağının getirdiği dönüşümleri akademik bir perspektifle incelemektedir.

7 dk 25 15
R-L Yükleri ve Doğrultucu Devre Analizleri

R-L Yükleri ve Doğrultucu Devre Analizleri

Bu özet, R-L yüklerinin Kirchhoff Voltaj Kanunu ile analizini, akım tepkisi bileşenlerini ve R-L-DC kaynak, anti-paralel diyot, kapasitör filtreli ve kontrollü yarım dalga doğrultucu devrelerini incelemektedir.

6 dk Özet 25 15 Görsel
Bash Script Temelleri: Sistem Otomasyonuna Giriş

Bash Script Temelleri: Sistem Otomasyonuna Giriş

Bu içerik, Bash scriptlerinin temel kavramlarını, yapılarını, kontrol akış mekanizmalarını ve gelişmiş kullanım yöntemlerini akademik bir yaklaşımla ele almaktadır. Sistem otomasyonu ve verimlilik artışı için kritik bir araçtır.

7 dk Özet 25 15
Yapay Zeka Destekli Metin Analizi ve Soru Üretimi

Yapay Zeka Destekli Metin Analizi ve Soru Üretimi

Bu özet, yapay zekanın dosya içeriklerini analiz ederek soru üretme ve bu soruları çeşitli stratejilerle sunma yeteneklerini akademik bir bakış açısıyla incelemektedir.

7 dk Özet 25 15 Görsel