“No amount of testing can prove a software right, a single test can prove a software wrong.” –Amir Ghahrai

Yazılım Testi Nedir?

Yazılım testi en genel tanımıyla bir yazılımın gereksinimleri sorunsuz karşıladığını ve kalitesini kontrol etmek amacıyla yapılan aktivitelerdir. Yazılım test dünyasında ürünün fonksiyonlarının doğru çalışmasından; performansına, kullanım kolaylığına kadar birçok metriği ölçen test çeşitleri bulunmaktadır.

Neden Test Etmeliyiz?

Hatasız Kod Olmaz! 🙂

Maliyet-Zaman-Kalite! Aslında bir yazılımın bütün aşamalarında tek hedef bu üçlüden maksimum kazancı sağlamaktır. Bu noktada testin önemi büyüktür.

Bir hatayı, ürün müşteriyle buluşana kadar geçen sürede ne kadar önceki aşamalarda bulursak maliyet o kadar az olacaktır.

Zaman, yazılım projelerini planlarken en önemli unsurlardan biridir. Her müşteri ürünün en hızlı şekilde teslimini ister 🙂 Yazılımın test aşamaları uygulanan proje yönetim modellerine göre bazı projelerde daha planlama aşamalarında başlar. Bu da eksiklerin en başta fark edilip düzeltilmesiyle zamandan kazanç sağlar.

Ürünün hızlı teslimini isteyen müşteriler aynı zamanda maksimum kalitede olmasını bekler. Bir projeye başlandığında yazılım geliştiriciler kendilerine yöneltilen istekler doğrultusunda kodlamaya başlarlar ancak çoğu zaman efektif bir kullanım için gerekli olan ayrıntıları ya da beklenmeyen durumlarda sistemin verdiği tepkileri ölçmeyi atlarlar. Bu da yazılımın kalitesini doğrudan etkiler.

Testin Önemini Gösteren Ciddi Kayıplara Neden Olan Tarihteki Hatalara Örnekler

Knights $440 Milyon Dolar Kayıp (1 Ağustos 2012)

Olay, bir teknisyenin yeni Perakende Akış Programı (RLP) kodunu, Knight’ın hisse senedi siparişleri için otomatik yönlendirme sistemi olan sekiz SMARS bilgisayar sunucusundan birine kopyalamayı unutmasıyla gerçekleşmiştir. Bu sistemin satışları belirleyen bir sistem olması sebebiyle fiyatlardaki ve taleplerdeki bilgilerin karışması şirkete milyon dolarlar kaybettirmiştir.

Therac-25 Tedavi Cihazındaki Hata (1982 – 1986)

Therac-25 1982’de Atomic Energy of Canada Limited (AECL) tarafından üretilen bilgisayar kontrollü bir radyasyon terapi makinesiydi. Programlamadaki hatalar sebebiyle hastalara normalden 100 kat fazla radyasyon vererek hastaların ölümüne sebep olmuştur. Bu olay güvenlik açısından kritik öneme sahip sistemlerin yazılım kontrolünün tehlikelerini vurgulamış ve sağlık bilişimi ve yazılım mühendisliğinde standart bir vaka çalışması haline gelmiştir.

Mariner 1 Uzay Roketi ( 28 Temmuz 1962 )

Bugün değeri 135 milyon dolar olan Mariner 1 Uzay Roketi 1962 yılında bir kağıda kurşun kalemle yazılan formülün bilgisayar ortamına yanlış geçirilmiş ve bu hata roketin fırlatma sırasında yörüngesinin dışına çıkmasına ve kontrol ekibi tarafından Atlantik Okyanusu’nda yok edilmesine neden olmuştur.

Yazılım Test Mühendisliğine giriş yazımın ilkinde kısaca Yazılım Testi nedir ve neden önemlidir konularına değinmek istedim 🙂

Bir sonraki yazımda “Test Mühendisi Kimdir?” içeriğini okuyabilirsiniz 🙂

https://en.wikipedia.org/wiki/Therac-25

https://en.wikipedia.org/wiki/Knight_Capital_Group

https://www.udemy.com/course/software-testing-masterclass-from-novice-to-expert/

Tags:

Comments are closed