Bilişim Teknolojileri ve Yazılım 5. Sınıf Konu anlatımı

Ünite 06 Yazılım Tasarımı ve Programlama Konu 2/4

Algoritma Test Etme ve Geri Bildirim Alma

Algoritmaları adım adım test etme, sıra ve mantık hatalarını ayıklama ve geri bildirimlerle geliştirmeyi içeren ders notları.

Kazanımlar

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

  1. a Geliştirdiği algoritmayı test eder.
  2. b Hataları ayıklayarak algoritmayı kullanıma hazır hâle getirir.

Konu araçları5 araç

Konu bölümleri

Algoritma Test Etme ve Adım Adım Takip

Oluşturulan bir algoritmanın doğru sonuç verdiğinden emin olmak için test sürecinden geçirilmesi gerekir.

Test Etme Süreci;

  • Test etme, algoritmanın belirlenen kurallara ve hedeflere uygunluğunu denetleme sürecidir.
  • Algoritma adımları kâğıt üzerinde adım adım takip edilerek çalıştırılır.
  • Süreç boyunca beklenen çıktı ile elde edilen gerçek çıktı karşılaştırılır.

Dikkat Bir algoritmanın yazıldığı an ilk denemede mükemmel ve hatasız çalışacağı düşüncesi bir yanılgıdır.

Farklı Senaryolar ve Durumları Test Etme

Algoritmaların her koşulda doğru çalışabilmesi için farklı senaryolarla denenmesi zorunludur.

Test Edilen Durumlar;

  • Olumlu durum, normal koşullarda beklenen sonucun elde edildiği senaryodur.
  • Olumsuz durum, beklenmeyen aksilikler ve eksiklikler karşısındaki davranışı test eder.
  • Sınır durum, değerlerin kural sınırında olduğu anları kontrol etmeyi sağlar.

Dikkat Algoritmanın yalnızca tek bir olumlu durumda denenmesi, onun hatasız çalıştığını kanıtlamaz.

Hata Ayıklama (Debugging) ve Hata Türleri

Test sırasında fark edilen kusurlar hata ayıklama süreciyle giderilir.

Hata Türleri ve Ayıklama;

  • Hata ayıklama, tespit edilen mantık, sıra ve komut hatalarını bulup düzeltme işlemidir.
  • Sıra hatası, adımların yanlış sıralanması sonucu hedefe ulaşılamaması durumudur.
  • Kuru çayın su konmadan ocağa konup yanması tipik bir sıralama hatası örneğidir.

Dikkat Hata yapmanın başarısızlık olduğu ve tespit edilen hataların düzeltilemeyeceği düşüncesi yanlıştır.

Geri Bildirim Alma ve Esnek Tutum

Dışarıdan alınan görüşler algoritmanın kalitesini artırmanın en etkili yoludur.

Geri Bildirim Süreci;

  • Geri bildirim, akran veya öğretmenlerden alınan değerlendirme ve iyileştirme önerileridir.
  • Alınan görüşler algoritmayı esnek tutum ile daha kullanışlı hâle getirir.
  • Hata ayıklama sürecinde pes etmeden sebat göstermek ve eleştirel düşünmek esastır.
Detaylı konu anlatımı

Algoritma Test Etme ve Adım Adım Takip

Test Etme

Test etme, geliştirilen bir algoritmanın veya yazılımın belirlenen kurallara ve hedeflere uygun şekilde çalışıp çalışmadığını denetleme sürecidir. Oluşturulan algoritma veya akış şemasının doğru çalışıp çalışmadığı, beklenen çıktıları verip vermediği adım adım çalıştırılarak kontrol edilir.

Algoritmayı test ederken bilgisayar gibi davranarak adımlar sırasıyla takip edilir. Yazılan adımlar atlanmadan uygulanır ve her işlem sonucunda elde edilen gerçek sonuç ile beklenen sonuç karşılaştırılır.

Adım Adım Takip Mekanizması

Kâğıt üzerinde veya akış şemasında test yaparken başlangıç simgesinden itibaren yön okları izlenir. Karar kutularında koşulun doğru veya yanlış çıkma durumlarına göre ayrılan yollar denenir. Değişkenlerin değerleri ve sabitler her adımda kontrol edilir.

Farklı Senaryolar ve Durumları Test Etme

Senaryo Temelli Test Etme

Bir algoritmanın doğruluğunu anlamak için tek bir durum yeterli değildir; farklı senaryolar ve durumlar denenmelidir. Bir senaryo, algoritmanın hangi koşullarda uygulanacağını anlatan örnek durumdur.

Test sürecinde olumlu durum, olumsuz durum ve sınır durum olmak üzere üç temel koşul incelenir. Olumlu durum normal şartlarda beklenen çıktıyı verirken, olumsuz durum aksilikler karşısında algoritmanın davranışını gösterir. Sınır durum ise değerlerin kural sınırında olduğu anları sınar.

Okula Gitme Senaryosu Örneği

Derse giriş saatinin 08.30 olduğu bir senaryoda, hazırlanma süresi 20 dakika ve yürüyüş süresi 15 dakika olarak hesaplanır. Olumlu durumda 07.55'te uyanan öğrenci tam zamanında okula varır. Alarm ertelendiğinde oluşan 5 dakikalık gecikme olumsuz senaryodur ve derse geç kalınmasına yol açar. 08.30'da tam kapıda bulunmak ise sınır durumudur.

Hata Ayıklama (Debugging) ve Hata Türleri

Hata Ayıklama (Debugging)

Hata ayıklama, test sürecinde veya geri bildirimler sonucu tespit edilen mantık, sıra veya adım eksikliklerini belirleyip algoritmayı düzelterek kullanıma hazır hâle getirme işlemidir. Yazılım literatüründe bu işleme debugging adı da verilir.

Bir algoritmada adımların sırasının yanlış veya eksik olması, sonucun hatalı çıkmasına ya da algoritmanın istenen hedefe ulaşamamasına yol açar. Hata ayıklarken önce hatanın hangi adımda olduğu bulunur, hatanın nedeni belirlenir ve düzeltme yapıldıktan sonra algoritma yeniden test edilir.

Sıra ve Mantık Hataları Örnekleri

Çay demleme sürecinde Tarif A adımlarında su konup çay eklenirken; sıra hatası içeren Tarif B adımlarında demliğe önce çay konup ocağa yerleştirilir. Su konmadan ısınan kuru çayın yanması sıralama hatasından kaynaklanır. Benzer şekilde karışık komut oyununda 'Otur' adımının ayakta yapılan hareketlerin arasına girmesi de bir mantık ve sıra hatasıdır.

Geri Bildirim Alma ve Esnek Tutum

Geri Bildirim Alma

Geri bildirim, geliştirilen algoritma hakkında akranlardan, öğretmenlerden veya kullanıcılardan alınan değerlendirme ve önerilerdir. İnsanlar kendi yazdıkları algoritmaları incelerken zihinlerindeki niyeti bildikleri için gözden kaçan hataları fark edemeyebilirler.

Akran ve öğretmen geri bildirimleri, algoritmadaki eksik veya belirsiz adımları fark etmeyi sağlar. Alınan geri bildirimler doğrultusunda algoritmayı esnek bir tutumla güncelleyerek daha verimli ve kullanışlı hâle getirmek mümkündür.

Sebat Gösterme ve Eleştirel Düşünme

Hata yapmak öğrenme sürecinin doğal ve vazgeçilmez bir parçasıdır. Hata ayıklama sürecinde pes etmeden sebat göstermek ve eleştirel düşünmek esastır. Hatalar birer başarısızlık değil, algoritmayı geliştirmek için sunulan değerli fırsatlardır.

Konuyu anlama alıştırmaları

Algoritma Test Etme ve Adım Adım Takip

Karşılaştır: Bir algoritmayı doğrudan çalıştırıp sonuca bakmak ile adımları tek tek kâğıt üzerinde kontrol etmek arasındaki farkı belirle.

Farklı Senaryolar ve Durumları Test Etme

Düşün: Bir otobüs sefer saatleri algoritmasında olumlu, olumsuz ve sınır durumların ne olabileceğini değerlendir.

Hata Ayıklama (Debugging) ve Hata Türleri

Günlük Hayattan Bul: İşlem sırası bozulduğunda sonucun tamamen hatalı çıktığı bir günlük yaşam örneği incele.

Geri Bildirim Alma ve Esnek Tutum

Sen Olsan?: Hazırladığın algoritmada bir arkadaşın sıralama hatası bulduğunda nasıl davranırsın?

Özet

  • Test Etme: Geliştirilen bir algoritmanın belirlenen kurallara ve hedeflere uygunluğunu adım adım denetleme sürecidir.
  • Hata Ayıklama: Algoritmada tespit edilen mantıksal, sıralama veya komut hatalarını bulup düzeltme işlemidir.
  • Sıra Hatası: İşlem adımlarının yanlış dizilmesi nedeniyle algoritmanın hatalı sonuç vermesi durumudur.
  • Olumlu Senaryo: Normal koşullar altında algoritmanın beklenen doğru çıktıyı verdiğini doğrulayan test durumudur.
  • Olumsuz Senaryo: Beklenmeyen aksilikler ve olumsuz koşullar karşısında algoritmanın tepkisini ölçen test durumudur.
  • Sınır Durumu: Bir değerin veya kuralın tam sınır noktasında algoritmanın çalışma doğruluğunu sınayan durumdur.
  • Geri Bildirim: Akran veya öğretmenlerden alınan önerilerle algoritmayı daha verimli hâle getirme sürecidir.

Düşün ve yorumla

Geliştirilen bir algoritmada hatayla karşılaşıldığında vazgeçmek yerine sebat göstermek günlük yaşamda sorun çözerken nasıl bir katkı sağlar?

…soru

Kavrama testi

Ne kadar anladın?

Kavrama testiyle kendini dene. Yarım bıraktığın test kaldığın yerden devam eder.