İçeriğe geç
Ders MerkeziDP Pano
5. Sınıf · 28. Hafta 19–23 Nisan 2027 6. Tema · Yazılım Tasarımı ve Programlama

Algoritmamı Test Ediyorum

Akış şemasıyla gösterdiğimiz algoritmayı tamamlıyor, ardından farklı durumlarla test ederek doğru çalışıp çalışmadığını kontrol ediyoruz.

  • Problem Belirleme ve Algoritma Oluşturma
  • Algoritma Test Etme ve Geri Bildirim Alma
Öğrenme çıktıları

BTY.5.6.1 Problem çözümü için algoritmik düşünebilme

  • ç) İşlem adımlarını akış şeması ile gösterir.

BTY.5.6.2 Algoritma oluşturmada test edebilme - hata ayıklayabilme

  • a) Geliştirdiği algoritmayı test eder.
23 Nisan Ulusal Egemenlik ve Çocuk Bayramı
Dikkat Çekme

Düşünelim, konuşalım

  1. 1
    Bir tarifi ilk kez uygulayan biri nerede hata yapabilir?
    Öğretmen için: olası cevaplar

    Olası cevaplar: "Malzemeyi yanlış koyar", "sırayı karıştırır", "ölçüleri anlamaz", "fırını açmayı unutur".

    Varılacak nokta: Algoritma kâğıtta doğru görünse de denendiğinde hatalar ortaya çıkar; bu yüzden test ederiz.

    Cevap gelmezse: "Tarifte 'biraz tuz' yazıyorsa ilk kez pişiren ne kadar koyar?" diye sorun. Gerekirse: "Kimi az, kimi çok. Belirsiz adımlar ancak denenince fark edilir; test bunu yakalar."

  2. 2
    Bir oyunda "bug" (hata) gördünüz mü?
    Öğretmen için: olası cevaplar

    Olası cevaplar: "Evet, karakter duvarın içinden geçti", "oyun dondu", "puan yanlış saydı".

    Varılacak nokta: Programın yanlış çalışmasına yol açan kusura hata (bug), hatayı bulup düzeltmeye hata ayıklama denir.

    Cevap gelmezse: Kendi örneğinizi anlatın: "Bir oyunda karakter duvarın içinden geçebiliyordu." Gerekirse: "Programcı bu durumu hiç denememişti. Bu tür kusurlara hata (bug) diyoruz."

  3. 3
    Algoritmayı kim test etmeli: yazan mı, başkası mı?
    Öğretmen için: olası cevaplar

    Olası cevaplar: "Yazan", "başkası", "ikisi de".

    Varılacak nokta: İkisi de test etmeli; başkası, yazanın aklına gelmeyen durumları bulur.

    Cevap gelmezse: "Kendi yazdığınız yazıdaki hatayı mı, arkadaşınızınkini mi daha kolay görürsünüz?" diye sorun. Gerekirse: "Genellikle arkadaşınızınkini. Algoritmayı başkasına denetmek de bizim düşünmediğimiz durumları ortaya çıkarır."

  4. 4
    Bir köprü açılmadan önce neden test edilir?
    Öğretmen için: olası cevaplar

    Olası cevaplar: "Çökmesin diye", "insanlar güvende olsun", "ağırlığı taşıyor mu bakmak için".

    Varılacak nokta: Test, gerçek kullanımdan önce bir şeyin doğru çalıştığını kanıtlamaktır; yazılımlar da kullanıcıya ulaşmadan test edilir.

    Cevap gelmezse: "Test edilmemiş bir köprüden ilk siz geçmek ister misiniz?" diye sorun. Gerekirse: "İstemeyiz. Köprü önce ağır yüklerle denenir. Algoritmayı da kullanmadan önce farklı durumlarla deneriz."

Konu

Test etmek

Test, algoritmanın farklı durumlarda doğru sonucu verip vermediğini denemektir. İyi bir test; normal durumu, sınır durumları (ör. 0, en büyük değer) ve beklenmedik durumları dener.

Bulunan hataya hata (bug), hatayı bulup düzeltmeye hata ayıklama (debug) denir.

Konu

Üç tür test durumu

Normal durum

En sık karşılaşılan durum: "Yağmur var" ya da "Yağmur yok".

Sınır durumu

Kuralın tam kenarı: köprü sınırı 10 ton ise tam 10 ton.

Beklenmedik durum

Algoritmayı yazarken düşünülmemiş durum: "Kar yağıyor", "sayı negatif".

Konu

Tüm yolları dene

Karar kutusunda iki farklı cevabı da seçerek algoritmanın her yolunu test edin. "Tek mi çift mi?" şemasında 0 ve negatif sayıları da deneyin.

Bu etkileşimli bölüm için tarayıcıda JavaScript açık olmalıdır.

Konu

Test tablosu

TestGirdiBeklenen çıktıGerçekleşenSonuç
1Yağmur varŞemsiye alınır…✓ / ✗
2Yağmur yokŞemsiye alınmaz…✓ / ✗
3Kar yağıyor?…Yeni durum!
Konu

Algoritmayı başkasına test ettirmek iyi bir fikirdir: yazan kişi kendi düşündüğü durumları dener, başkası ise aklımıza gelmeyen durumları bulur. Buna geri bildirim almak denir.

Etkinlik 1

Algoritmamı Test Ediyorum

30 dk Eşli etkinlik

Eşler birbirinin algoritmasını test tablosuyla dener ve geri bildirim verir.

  1. Arkadaşınızın akış şemasını alın.
  2. En az üç test yazın (biri beklenmedik durum).
  3. Sonuçları tabloya işleyin ve geri bildirim verin.
EBA materyali Akış Şeması Şablonu EBA'da aç
EBA materyali Boş Akış Şeması Şablonu EBA'da aç
Pekiştirme

Kendimizi sınayalım

  1. Algoritmadaki hatayı bulup düzeltmeye ne denir?

    • Test
    • Hata ayıklama
    • Sıkıştırma
    • Biçimlendirme
  2. Köprü sınırı 10 ton ise hangisi bir **sınır durumu** testidir?

    • 2 ton
    • 10 ton
    • Kırmızı kamyon
    • Gece
  3. Test tablosunda beklenen ve gerçekleşen çıktı farklıysa ne anlaşılır?

    • Algoritmada hata vardır
    • Test gereksizdir
    • Algoritma kusursuzdur
    • Tablo yanlıştır
Özet

Bugün neler öğrendik?

  • Test, algoritmayı farklı durumlarla denemektir: normal, sınır, beklenmedik.
  • Test tablosu: girdi – beklenen – gerçekleşen.
  • Hata = bug, hata ayıklama = debug.
  • test
  • hata
  • hata ayıklama
  • test tablosu

Gelecek derse hazırlık

Testte bulduğunuz hataları düzeltmek için bir plan yapın.

Ders notu

Defterime yazıyorum

Sınavdan önce tekrar etmek için defterine yaz. Başlığı ve tarihi unutma!

5. Sınıf Bilişim · 28. Hafta: Algoritmamı Test EdiyorumTarih: ....../....../20....

1. Test etmek

Test, algoritmanın farklı durumlarda doğru sonucu verip vermediğini denemektir. Bir algoritmayı yazmak yetmez; yazdığımız algoritmanın gerçekten doğru çalıştığını kanıtlamamız gerekir. Köprüler açılmadan, uygulamalar yayınlanmadan önce test edilir.

2. Test durumları

DurumAnlamıÖrnek
Normal durumEn sık karşılaşılan durumYağmur var / yağmur yok
Sınır durumuKuralın tam kenarıKöprü sınırı 10 ton ise tam 10 ton
Beklenmedik durumYazarken düşünülmemiş durumKar yağıyor, sayı negatif, sayı 0

Dikkat: İyi bir test, algoritmanın her yolunu dener: karar kutusunda hem Evet hem Hayır cevabı denenmelidir.

3. Test tablosu

Testleri düzenli yapmak için test tablosu kullanırız. Tabloda her test için girdi, beklenen çıktı ve gerçekleşen çıktı yazılır. Beklenen ile gerçekleşen aynıysa test başarılıdır; farklıysa algoritmada hata vardır.

TestGirdiBeklenen çıktıGerçekleşenSonuç
1Yağmur varŞemsiye alınırŞemsiye alındıBaşarılı
2Yağmur yokŞemsiye alınmazŞemsiye alınmadıBaşarılı
3Kar yağıyorŞemsiye/bere alınırAlgoritma bilmiyorYeni durum

4. Hata ve hata ayıklama

Hata (bug)
Algoritmanın ya da programın yanlış çalışmasına yol açan kusur.
Hata ayıklama (debug)
Hatayı bulup düzeltme işi.
Test tablosu
Girdi, beklenen ve gerçekleşen çıktıların karşılaştırıldığı tablo.

Örnek: "Tek mi çift mi?" algoritmasını yalnız 7 ile test eden biri, 0 ya da negatif sayı girilince ne olacağını hiç görmez. Farklı girdiler hatayı ortaya çıkarır.

5. Geri bildirim almak

Algoritmayı başkasına test ettirmek iyi bir fikirdir. Yazan kişi kendi düşündüğü durumları dener; başkası ise bizim aklımıza gelmeyen durumları bulur. Arkadaşımızın söylediği görüşlere geri bildirim denir ve algoritmayı geliştirmek için kullanılır.

  • Test ederken nazik oluruz: kişiyi değil algoritmayı değerlendiririz.
  • Bulduğumuz hatayı hangi girdide oluştuğuyla birlikte yazarız.
Unutma!
  • Test, algoritmayı farklı durumlarla denemektir: normal, sınır, beklenmedik.
  • Test tablosu: girdi – beklenen çıktı – gerçekleşen çıktı.
  • Hata = bug; hatayı bulup düzeltmek = hata ayıklama (debug).
Kendimi deniyorum
  1. Algoritmayı neden test ederiz?
  2. Normal, sınır ve beklenmedik durum testlerine birer örnek ver.
  3. Test tablosunun sütunlarını yaz ve ne işe yaradığını açıkla.
  4. Beklenen çıktı ile gerçekleşen çıktı farklıysa ne anlarız?
  5. Hata ve hata ayıklama kavramlarını açıkla.
  6. Algoritmayı başkasına test ettirmek neden faydalıdır?
Kendimi deniyorum — cevap anahtarı (yalnız öğretmen)

5. Sınıf Bilişim · 28. Hafta: Algoritmamı Test Ediyorum — Kendimi deniyorum cevap anahtarı

  1. Algoritmayı neden test ederiz?

    Algoritmanın farklı durumlarda doğru sonucu verdiğini kanıtlamak ve hataları kullanılmadan önce bulmak için.

  2. Normal, sınır ve beklenmedik durum testlerine birer örnek ver.

    Normal: yağmur var ya da yağmur yok. Sınır: köprü sınırı 10 ton ise tam 10 ton. Beklenmedik: kar yağıyor, sayı negatif ya da 0.

  3. Test tablosunun sütunlarını yaz ve ne işe yaradığını açıkla.

    Test, girdi, beklenen çıktı, gerçekleşen çıktı, sonuç. Testleri düzenli yapmaya ve beklenen ile gerçekleşen sonucu karşılaştırarak hatayı bulmaya yarar.

  4. Beklenen çıktı ile gerçekleşen çıktı farklıysa ne anlarız?

    Algoritmada bir hata vardır; algoritma o girdide yanlış çalışıyordur ve düzeltilmesi gerekir.

  5. Hata ve hata ayıklama kavramlarını açıkla.

    Hata (bug): algoritmanın ya da programın yanlış çalışmasına yol açan kusur. Hata ayıklama (debug): hatayı bulup düzeltme işi.

  6. Algoritmayı başkasına test ettirmek neden faydalıdır?

    Yazan kişi yalnız kendi düşündüğü durumları dener; başkası onun aklına gelmeyen durumları ve hataları bulur.

Video

Haftanın videosu

Bu hafta için hazır bir video yok. Kendi seçtiğiniz bir videoyu ekleyebilirsiniz.

Bağlantı yalnız bu tarayıcıda saklanır, sunucuya gönderilmez. Video, siz Oynat'a basana kadar yüklenmez (youtube-nocookie.com). Okul ağı YouTube'u engelliyorsa video açılmaz; EBA bağlantıları aşağıdadır.

Yalnız öğretmen

Ders hazırlığı ve materyaller

Dersten önce

  • "Algoritmamı Test Ediyorum" ara değerlendirme formunu EBA'dan açın.

Önerilen ders akışı

  1. 5 dk Dikkat çekme
  2. 10 dk Test etmek + üç tür durum
  3. 10 dk Tüm yolları dene + test tablosu
  4. 30 dk Etkinlik: Algoritmamı Test Ediyorum
  5. 5 dk Pekiştirme

Ölçme ve değerlendirme

Test tabloları kontrol listesi ile.

Kendi içeriklerim

Her bölümün altındaki "Bu bölüme görsel ekle" ile kendi görsellerinizi ekleyin, aşağıdaki düğmeyle görselleri sunuma ayrı slayt olarak katın; "Defterime yazıyorum" bölümünde kendi ders notunuzu yazın.

Yükleniyor…

Görseller ve notlar sunucuya gönderilmez; yalnız bu tarayıcıda saklanır. Tarayıcı verisi silinirse kaybolur: düzenli olarak Dışa aktar ile yedek alın, dosyayı başka tahtada İçe aktar ile açın. Öğrenci fotoğrafı ya da kişisel bilgi içeren görsel eklemeyin (KVKK).

Sınıf ortamı

İşaretlerseniz bilgisayar gerektiren etkinliklerdeki "tahta ve kâğıtla" alternatifleri açık gelir. Simülasyonlar tek bir tahta ekranında sınıfça yapılabilecek şekilde tasarlandı. Tercih bu tarayıcıda hatırlanır.

Maarif Modeli: 6. tema künyesi

Kaynak: Bilişim Teknolojileri ve Yazılım Dersi Öğretim Programı (TYMM). Tema toplam 24 ders saati.

Alan becerileri
BTYAB2. Bilgi İşlemsel Düşünme (BTYAB2.1. Algoritmik Düşünme, BTYAB2.4. Test Etme-Hata Ayıklama)BTYAB3. Yazılım Geliştirme (BTYAB3.2. Yazılım Geliştirme Sürecinde Kullanılan Bileşen/Yapı/Yöntemlerinden Yararlanma, BTYAB3.3. Yazılım Geliştirme Sürecini Yönetme)
Eğilimler
E1.2. BağımsızlıkE1.4. Kendine İnanma (Öz Yeterlilik)E2.5. OyunseverlikE3.3. YaratıcılıkE3.6. AnalitiklikE3.7. SistematiklikE3.8. Soru SormaE3.10. Eleştirel Bakma
Sosyal-duygusal öğrenme becerileri
SDB1.1. Kendini Tanıma (Öz Farkındalık)SDB1.2. Kendini Düzenleme (Öz Düzenleme)SDB2.1. İletişimSDB2.2. İş BirliğiSDB3.2. EsneklikSDB3.3. Sorumlu Karar Verme
Değerler
D1. AdaletD3. ÇalışkanlıkD5. DuyarlılıkD9. MerhametD10. Mütevazılık
Okuryazarlık becerileri
OB1. Bilgi OkuryazarlığıOB2. Dijital Okuryazarlık
Disiplinler arası ilişkiler
Görsel SanatlarMatematikSosyal BilgilerTürkçe

Zenginleştirme (erken kavrayanlar için)

  • Kurt–kuzu–ot bulmacasının daha çok öge ve kural içeren bir sürümünü çözüp çözüm yolunu anlatma.
  • Okuldaki bir soruna (kütüphane düzeni, duyuru) yazılım fikri geliştirme.
  • Aynı problemi iki farklı algoritmayla çözüp karşılaştırma.

Destekleme (zorlananlar için)

  • Akış şeması ve Frayer diyagramıyla algoritmayı görselleştirme.
  • Günlük bir problemi (okula hazırlanma) algoritma adımlarına bölme.
  • Küçük gruplarda tek bir bloğu ekleyerek görev tamamlama; başarıyı hemen görme.