• Yapay zekadan makale özeti

    • Bu video, bir eğitmen tarafından sunulan yazılım testi konulu kapsamlı bir eğitim dersidir. Videoda Kate adında bir hemşire karakteri de kullanılarak akıl sağlığı hastane yönetim sistemi örneği üzerinden test senaryoları anlatılmaktadır.
    • Ders, yazılım testinin temel kavramlarını, test türlerini ve test süreçlerini detaylı şekilde ele almaktadır. İçerikte doğrulama testi, kusur testi, yazılım incelemeleri, birim testi, bileşen testi, sistem testi, test odaklı geliştirme (TDD), gereksinim tabanlı test, performans testleri ve kullanıcı testleri gibi konular açıklanmaktadır.
    • Videoda ayrıca test senaryolarının nasıl tasarlanacağı, girdi-çıktı modeli, eşdeğerlik bölümlerinin belirlenmesi, arayüz hatalarının tespit edilmesi ve farklı test stratejileri gibi pratik bilgiler de sunulmaktadır. Dersin sonunda final projesi ve vize sınavı hakkında bilgiler verilmektedir.
    00:02Yazılım Testi Giriş
    • Yazılım testi, bir programın yapması amaçlanan şeyi yaptığını göstermeyi ve kullanılmadan önce hatalarını keşfetmeyi amaçlar.
    • Yazılım testi sırasında genellikle yapay veriler kullanılarak bir program yürütülür, ancak gerçek insanlar ve gerçek verilerle de test yapılabilir.
    • Program testi, statik doğrulama tekniklerini içeren daha genel bir doğrulama ve onaylama sürecinin bir parçasıdır.
    01:41Yazılım Testi Hedefleri
    • Program testinin hedefi, yazılımın gereksinimlerini karşıladığını ve bu durumu geliştiriciye ve müşteriye göstermektir.
    • Her gereksinim için en az bir test yapılması gerekir, aksi takdirde o gereksinimin karşılanıp karşılanmadığını bilemeyiz.
    • Test yapmadığınızda çok basit hataların ciddi sonuçlara yol açabileceğini deneyimlersiniz.
    03:25Test Türleri
    • Yazılım davranışının yanlış, istenmeyen veya spesifikasyondan uymadığı durumları keşfetmek için test yapılır.
    • Hata testi, sistem çökmeleri, istenmeyen etkileşimler, yanlış hesaplamalar ve veri bozulması gibi istenmeyen sistem davranışlarını ortadan kaldırmakla ilgilidir.
    • Test senaryoları kusurları ortaya çıkarmak için tasarlanabilir ve normalde sistemin beklediği girdileri de verebilirsiniz.
    05:04Doğrulama ve Kusur Testi
    • Doğrulama testinde sistemin beklenen kullanımını yansıtan belirli bir test senaryosu seti kullanarak doğru şekilde çalışmasını bekleriz.
    • Kusur testinde ise test senaryoları kusurları ortaya çıkarmak için tasarlanmıştır.
    • Başarılı bir doğrulama testi, sistemin amaçlandığı gibi çalıştığını gösterirken, başarılı bir hata testi sistemin hatalı çalışmasına neden olan ve sistemdeki bir kusur ortaya çıkaran bir testtir.
    06:36Program Testinin Girdi-Çıktı Modeli
    • Program testinde normal ve normal olmayan çeşitli test verileri sisteme verilir.
    • Amacımız sistemin doğru çalışmadığı kısımları ve anormal davranış gösterdiği durumları ortaya çıkarmaktır.
    • Her türlü olası girdi vermek önemlidir çünkü anormal davranışlara sebep olan girdiler sistemdeki kusurları ortaya çıkarır.
    08:10Doğrulama ve Sağlama
    • Doğrulama, ürünü müşterinin istediği gibi geliştirip geliştirmediğimizi kontrol etmektir.
    • Sağlama ise doğru ürünü geliştirdiğimizi, yazılımın kullanıcının gerçek ihtiyaç duyduğu şeyi yaptığını doğrulamaktır.
    • Doğrulama ve sağlamanın amacı sistemin amaca uygun olduğuna dair güven oluşturmaktır ve bu müşteri ve geliştirici açısından önemlidir.
    09:22Güven Seviyesi ve Testler
    • Yazılımın güven seviyesi, yazılımın bir kuruluş için ne kadar kritik olduğuna, maddi kayıplara veya sağlık problemlerine sebep olup olmayacağına bağlıdır.
    • Kullanıcı beklentileri ve pazarlama ortamı da güven seviyesini etkiler, bazen ürünün pazara erken sürülmesi kusurları bulmaktan daha önemli olabilir.
    • Yazılım incelemeleri statik sistem temsilinin analizi ile ilgili olup, statik doğrulama araç tabanlı belge ve kod analizi ile tamamlanabilir.
    11:01Yazılım İncelemeleri
    • Sistem test verileri ile çalıştırılır ve operasyonel davranışı gözlemlenir.
    • Yazılım incelemeleri, anormallikleri ve kusurları keşfetmek amacıyla kaynak temsilini inceleyen insanlar içerir.
    • Yazılım incelemeleri, kaynak kodu insanlar tarafından analiz edildiği için sistemin çalışması gerektirmeyen, statik bir süreçtir.
    13:26Yazılım İncelemelerinin Avantajları ve Dezavantajları
    • Yazılım incelemeleri, otomatik yazılım testlerine göre daha maliyetli bir yöntemdir.
    • İncelemeler, test sırasında hatalar diğer hataları maskelemesini önler ve bir sistemin eksik sürümleri ek maliyet olmadan incelenebilir.
    • İncelemeler, program hatalarını aramanın yanı sıra standartlara uyum, taşınabilirlik, sürdürülebilirlik gibi programın daha geniş kalite özelliklerini dikkate alabilir.
    15:54Yazılım Test Süreci
    • Yazılım test süreci, ilk olarak test durumlarının tasarlanması ile başlar.
    • Test durumları tasarlanarak test verisi oluşturulur, program test verisi ile çalıştırılır ve test sonuçları test durumları ile karşılaştırılır.
    • Test sürecinin son aşamasında test raporları oluşturulur.
    17:06Test Aşamaları
    • Geliştirme testi, sistemi geliştiren ekip tarafından gerçekleştirilen tüm test faaliyetlerini içerir.
    • Sürüm testi, ayrı bir test ekibinin kullanıcılara sunulmadan önce sistemin eksiksiz bir sürümünü test etmesidir.
    • Public test veya beta sürüm, kullanıcıların veya potansiyel kullanıcıların sistemi kendi ortamlarında test etmesidir.
    18:35Test Türleri
    • Birim testi, nesnelerin veya yöntemlerin işlevselliğini test etmeye odaklanır.
    • Bileşen testi, bileşen arayüzlerini test etmeye odaklanır.
    • Sistem testi, bileşen etkileşimlerini test etmeye odaklanır.
    20:00Nesne Sınıfı Testi
    • Bir nesne ile ilişkili tüm işlemleri test etmek, tüm nesne niteliklerini ayarlama ve sorgulama, nesneyi tüm olası durumlarda uygulamak bir sınıfın eksiksiz test kapsamını içerir.
    • Kalıtım, test edilecek bilgiler yerelleştirilmediğinden nesne sınıfı testlerini tasarlamasını zorlaştırır.
    • Nesne sınıfı testlerinde, nesnenin tüm metodları ve durum geçişleri test edilmelidir.
    22:20Otomatik Test
    • Birim testi mümkün olduğunda otomatikleştirilmelidir, böylece testler manuel müdahale olmadan çalıştırılır ve kontrol edilir.
    • Otomatik test, sürekli program sürümleri geliştirmeye yönelik hızlı programlama yöntemlerinde çok önemlidir.
    • Otomatik birim testinde program testleri için bir test otomasyon çerçevesi kullanılır ve test sonuçları rapor edilir.
    24:30Test Senaryoları ve Stratejileri
    • Bir test senaryosu üç bileşenden oluşur: test edilecek nesneyi veya yöntemi çağıran bölüm, çağrının sonucu beklenen sonuçla karşılaştırılan onaylama bölümü ve test sonuçlarının değerlendirilmesi.
    • Birim test etkinliği, test senaryoları beklendiği gibi kullanıldığında test edilen bileşenin yapması gerekeni göstermelidir ve kusurlar test senaryoları ile ortaya çıkarılmalıdır.
    • İki tür test senaryosu vardır: normal işleyişin yansıtan ve bileşenin beklendiği gibi çalıştığını gösteren, diğer taraftan anormal girdilerle yaygın sorunların düzgün işlendiğini kontrol eden.
    26:58Test Stratejileri
    • Bölümleme testi, ortak özelliklere sahip ve aynı şekilde işlenmesi gereken girdi gruplarını belirleyerek her biri içinden test seçmeyi içerir.
    • Kılavuza dayalı test, test yönergelerini kullanarak test senaryolarını seçmeyi ve programcıların sıklıkla yaptıkları hata türlerine ilişkin deneyimlerini yansıtmayı içerir.
    • Eşdeğerlik bölümleri, girdi verileri ve çıktı sonuçları için farklı sınıflara ayrılır ve her bölümden test senaryoları seçilmelidir.
    28:30Test Yönergeleri
    • Dizi test yönergeleri, tek değerli dizileri, farklı boyutlarda dizileri, dizinin ilk, orta ve son öğelerine erişim testlerini ve uzunluktaki dizilerle test etmeyi içerir.
    • Genel test yönergeleri, tüm hata mesajlarını oluşturmaya zorlayan girişleri seçmeyi ve girişlerin ara belleklerinin taşmasına neden olabilecek tasarım girdilerini içerir.
    • Test sadece programdaki hataların varlığını gösterebilir, kalan hatanın olmadığını gösteremez ve geliştirme testi yazılım geliştirme ekibinin sorumluluğundadır.
    31:58Bileşen ve Sistem Testi
    • Bileşen testi, birkaç etkileşimli nesneden oluşan bileşik bileşenlerin bileşen arayüzünün özelliklerine göre davrandığını göstermeye odaklanır.
    • Arayüz hataları, arayüzün yanlış kullanımı, arayüzün yanlış anlaşılması ve zamanlama hataları olmak üzere üç ana kategoriye ayrılır.
    • Sistem testi, geliştirme sırasında sistem sürümünü oluşturmak için bileşenleri entegre etmeyi ve ardından entegre sistemi test etmeyi içerir.
    35:39Sistem Testi
    • Sistem testinin odak noktası bileşenler arasındaki etkileşimleri test etmektir.
    • Sistem testi, bileşenlerin uyumlu olup olmadığını, doğru etkileşimde bulunup bulunmadığını ve doğru verileri doğru zamanda arayüzleri üzerinden aktardıklarını kontrol eder.
    • Sistem testi, bir sistemin ortaya çıkan davranışını test eder ve bireysel bir süreçten ziyade toplu bir süreçtir.
    35:58Sistem Testi Süreci
    • Sistem ve bileşen testi sırasında ayrı ayrı geliştirilen ve kullanıma hazır sistemlerdeki yeniden kullanılabilir bileşenler, yeni geliştirilen bileşenlerle entegre edilebilir.
    • Farklı ekip üyeleri veya alt ekipler tarafından geliştirilen bileşenler bu aşamada entegre edilebilir.
    • Bazı şirketlerde sistem testi, tasarımcıların ve programcıların katılımı olmaksızın ayrı bir test ekibini içerebilir, bu da farklı bir bakış açısı sağlayabilir.
    36:57Kullanım Senaryosu Testi
    • Sistem etkileşimlerini tanımlamak için geliştirilen kullanım durumları, sistem testi için bir temel olarak kullanılabilir.
    • Her kullanım senaryosu genellikle birkaç sistem bileşenini içerir ve test edilmesi bu etkileşimleri oluşmaya zorlar.
    • Kullanım senaryosu ile ilişkili sıra diyagramları, test edilen bileşenleri ve etkileşimleri belgeler.
    37:30Hava Durumu Verilerini Toplama Sıra Çizelgesi
    • Hava bilgi sistemi, raporlama sistemi tarafından rapor oluşturma isteği alır ve uydu sistemine gönderir.
    • Uydu sistem, hava istasyonuna hava durumunu raporlama isteği gönderir ve hava istasyonu uydu sistemine geri bildirim gönderir.
    • Hava istasyonu, kendi içindeki haberleşme sistemine özeti bana geri dönder isteği gönderir ve bu süreç tamamlanır.
    39:40Test Politikaları
    • Kapsamlı sistem testi imkansız olduğundan gerekli sistem testi kapsamını tanımlayan test politikaları geliştirilebilir.
    • Test politikalarına örnek olarak menüler aracılığı ile erişilen tüm sistem işlevlerinin test edilmesi gerekiyor.
    • Web tabanlı sistemleri test etmek için Selenium gibi araçlar kullanılarak tarayıcıyı program aracılığıyla kontrol edebilirsiniz.
    41:23Test Odaklı Geliştirme (TDD)
    • Test odaklı geliştirme (TDD), test ve kod geliştirmeyi aralıklı bıraktığınız program geliştirme yaklaşımıdır.
    • Test odaklı geliştirme sürecinde, testler kodlar önce yazılı ve testleri geçmek geliştirmenin kritik itici gücüdür.
    • TDD, ekstrem programlama ve çevik yöntemlerin bir parçası olarak tanıtıldı, ancak plan odaklı geliştirme süreçlerinde de kullanılabilir.
    43:47TDD Süreci
    • TDD'de önce yeni özellik için test yazılır, sonra testi yürütecek kod yazılır ve test çalıştırılır.
    • Testi geçemezseniz kodunuzu yeniden yazarsınız, testi geçene kadar bu döngü devam eder.
    • TDD sürecinde gerekli olan işlevsellik artışını belirleyerek başlayıp, küçük ve birkaç satır kodla uygulanabilir işlevsellikler için test yazılır.
    46:00TDD'nin Faydaları
    • Test odaklı geliştirme ile yazdığınız her kod segmentinin en az bir ilişki testi vardır.
    • Regresyon testi paketi, program geliştirildikçe aşamalı olarak geliştirilir ve yeni kod eklenince mevcut sistemin bozulup bozulmadığını kontrol eder.
    • Regresyon testi, manuel bir test sürecinde pahalıdır, ancak otomatik test ile basit ve anlaşılırdır.
    48:41Sürüm Testi
    • Sürüm testi, geliştirme ekibinin dışında kullanılması amaçlanan bir sistemin belirli bir sürümünü test etme sürecidir.
    • Sürüm testi sürecinin birincil amacı, sistemin tedarikçisini kullanım için yeterince iyi olduğuna ikna etmektir.
    • Sürüm testi, sistemin belirtilen işlevselliğini, performansını ve güvenilirliğini sağladığını ve normal kullanım sırasında başarısız olmadığını göstermelidir.
    49:05Sürüm Yayın Testi ve Sistem Testi
    • Serbest fragma testi, sistem spesifikasyonundan türetildiği kara kutu test sürecidir.
    • Sürüm yayın testi (sistem testi yayın) ayrı bir ekip tarafından yapılır ve geliştirme ekibi tarafından yapılan sistem testinden farklıdır.
    • Sürüm yayın testinin amacı, sistemin gereksinimlerini karşılayıp karşılamadığını ve harici kullanım için yeterince iyi olup olmadığını kontrol etmektir.
    50:03Gereksinim Tabanlı Test Örnekleri
    • Gereksinim tabanlı test, her bir gereksinimi incelemeye ve bunun için bir test geliştirmeyi içerir.
    • Akıl sağlığı hastane yönetim sisteminde, hastanın ilaca alerjisi olduğu biliniyorsa, reçete yazarken uyarı mesajı verilmesi gerekmektedir.
    • Alerji uyarısını görmezden gelmeyi seçen sistem kullanıcısının neden göz ardı ettiğini belirtmesi gerekmektedir.
    50:35Alerji Test Senaryoları
    • Bilinen alerjisi olmayan bir hastaya ilacın reçetesi sırasında uyarı mesajı verilmemesi gerekmektedir.
    • Bilinen alerjisi olan hastaya ilacın reçetesi sırasında uyarı mesajı verilmesi gerekmektedir.
    • İki veya daha fazla ilaca karşı alerjisi olan hastaya ilacın reçetesi sırasında her ilacın ayrı ayrı uyarı verilmesi gerekmektedir.
    52:12Sistem Test Senaryoları
    • Sistemde oturum açarak kimlik doğrulama, hasta kayıtlarının indirilmesi ve yüklenmesi gibi senaryolar test edilir.
    • Kate, akıl sağlığı konusunda uzmanlaşmış bir hemşire olarak hastaları evde ziyaret etmekten sorumludur.
    • Kate, ev ziyaretleri için akıl hastane yönetim sisteminde oturum açar ve ziyaret edilecek hastalarla ilgili özet bilgilerle birlikte programı yazdırır.
    53:23Kate ve Jim Senaryosu
    • Kate, depresyon tedavisi gören Jim'in kaydına bakar ve reçete edilen ilacı kontrol eder.
    • Jim'in uykusuzluk yan etkisini not eder ve ilacını değiştirmek için kliniği ziyaret etmesini önerir.
    • Kate, klinikte randevu almak için sistemde uyarı girmesini kabul eder ve görüşmeyi bitirdikten sonra kayıtları yeniden şifreler.
    54:30Performans ve Kullanıcı Testleri
    • Performans testleri, sistem performansı kabul edilemez hale gelene kadar yükün sürekli olarak arttırıldığı bir dizi testin planlanmasıdır.
    • Stres testi, sistemin hata davranışını test etmek için kasıtlı olarak aşırı yüklendiği bir tür performans testidir.
    • Kullanıcı testi, kullanıcıların veya müşterilerin sistem hakkında girdi ve tavsiye sağladıkları test sürecinde bir aşamadır ve sistem güvenilirliği, performansı, kullanılabilirliği ve sağlamlığı üzerinde büyük etkiye sahiptir.
    55:54Kullanıcı Testi Türleri
    • Alfa testi, yazılımın kullanıcıları, yazılımı geliştiricinin sitesinde test etmek için geliştirme ekibi ile birlikte çalışır.
    • Beta testi, kullanıcıların deney yapmalarına ve sistem geliştiricileri ile keşfettikleri sorunları ortaya çıkarmalarına olanak sağlayan bir yazılım sürümüdür.
    • Kabul testleri, müşteriler sistem geliştiricilerinden kabul edilmeye ve müşteri ortamında devreye alınmaya hazır olup olmadığına karar vermek için bir sistemi test eder.
    57:02Kabul Testi Süreci
    • Kabul testi sürecinde önce kabul kriterleri tanımlanır, sonra kabul testleri planlanır.
    • Kabul testlerinin türetilmesi, çalıştırılması, test sonuçlarının değerlendirilmesi ve sistemin reddedilmesi veya kabul edilmesi aşamaları vardır.
    • Çevik yöntemlerde kullanıcı ve müşteri geliştirme ekibinin bir parçasıdır ve sistemin kabul edilebilirliğine ilişkin kararlar vermekten sorumludur.
    58:30Test Stratejileri ve Önemli Noktalar
    • Yazılımı test ederken, diğer sistemlerdeki kusurları keşfetmede etkili olan test senaryosu türlerini seçmek için deneyim ve yönergeler kullanılmalıdır.
    • Mükemmel olan her yerde otomatik testler yazılmalı ve sistemde her değişiklik yapıldığında çalıştırılabilen bir programın içine yerleştirilmelidir.
    • Test mühendisliği, yazılım testlerini yapmak için bir uzmanlık alanıdır ve oldukça derin ve önemli bir alandır.
    59:47Dersin Sonuçları
    • Final projesi için öğrencilere genel bilgi düzeylerine göre değerlendirilecek ve yapabileceklerine inanılıyor.
    • Vize sınavı LMS sistemi üzerinden oluşturulmuş olup, 40 soru olacak ve her soru 2,5 puan değerinde olacaktır.
    • Her soruda dört seçenek bulunacak ve doğru yanlış şeklinde değerlendirilecek, herhangi bir sorun için Discord kanalından yardım istenebilir.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor