Yazılım mühendisliği bilgisayar programlarının tasarımını, geliştirilmesini, testini ve bakımını ele alan mühendislik dalıdır. Diğer mühendislik alanlarına göre çok yeni olan yazılım mühendisliğinde çalışmalar hızla devam etmekte ve yeni yöntemler, yeni teknikler geliştirilmekte, bu yöntem ve teknikler, bilgisayar yazılımları ile desteklenmekte ve yazılım mühendisliği bu çalışmalar ile yavaş yavaş belli bir olgunluğa ulaşmaktadır.
Geliştirilen yazılımın en az derecede hata içermesi ve kendinden beklenenleri (gereksinimleri) en üst seviyede karşılaması için yazılım test eylemleri, yazılım geliştirme sürecide en erken safhada başlamalıdır. Testçiler, erken safhalarda başlayan test eylemleri ile muhtemel hataları yazılım geliştirme sürecinin en erken safhalarından itibaren bulmayı ve bulunan hataların düzeltilmesini amaçlarlar.
Yazılım dünyasındaki en iyi pratikler incelendiğinde görülecektir ki testte tespit edilen hataların sebepleri, yüksek oranda gereksinim analizi ile tasarım safhasına dayanmaktadırlar. Bunun temel sebepleri belirtimlerin açık, net, anlaşılır, tutarlı yazılmaması, yeterince detaylandırılmaması ve yazılan belirtimlerin tasarıma tam olarak aktarılamaması, ya da yazılan gereksinimden fazla tasarım modüllerinin oluşturulmasıdır. Bu gibi nedenlerden kaynaklanan hataların, kodlamada ya da yazılım testleri sırasında tespit edilmesi düzeltici faaliyetleri gerektirir.
Yazılım test süreci önce planlanan, sonra icra edilip sonuçları kayıt altına alınarak belgelendirilen bir dizi eylemden oluşur. Bu süreç, geliştirilen yazılımdaki hataların varlığına odaklanılır. Bir test süreci planlama, tasarım, koşturma, hata raporlama, sonlandırma ve belgelendirme adımlarından oluşur.
“Yazılım Test Mühendisliğine Giriş” adlı bu kitabımız gerek içeriği gerekse konuların sıralanması ile üniversitelerde verilen “Yazılım Mühendisliği” derslerine iyi bir yardımcı kitap özelliğindedir. Ayrıca bilişim ve yazılım alanlarında çalışan profesyoneller içinde ciddi bir mesleki kitap niteliğindedir. Standartlara uygun yazılımların tasarlanması için yazılım belgelendirme ve yazılım test süreci oldukça önemli süreçlerdir.