Günümüzde, teknolojinin sürekli gelişmesiyle yazılım sektörü de büyük bir atılım göstermeye ve kendi içinde yeni dallar oluşturmaya başladı. Daha doğrusu teknoloji artık yazılım sektörüne endeksli olarak büyüyor da diyebiliriz. Sektördeki bu büyümenin rekabeti de arttırdığını söylemek hiç de zor değil.

Yazılım sektöründe firmalar hızlı bir şekilde değer kazanabildiği gibi aynı şekilde piyasadan kısa sürede çekilmek zorunda kalabiliyor. Rekabetin ve tüketimin bu kadar yüksek olduğu bir ortamda şirketlerin ayakta kalabilmek için ürün kalitelerini koruyup memnuniyet oranlarını sürekli yüksek tutmaları gerekiyor. Ürün kalitesinden bahsettiğimiz anda da ürünün hatadan arındırılmış olması önkoşul olarak karşımıza çıkıyor. Bu önemli aşamada yazılım test mühendislerine de büyük işler düşüyor. Çünkü bir şirketin ürünü güncel ve kaliteli tutabilmesi onu sürekli profesyonel bir şekilde test etmesinden geçiyor.  Yazılım test mühendisliği neden önemlidir sorusunu birkaç maddede böylece açıklayabiliriz.

  • Yazılım testi, yüksek ürün maliyetinden ve mali zarardan korur.

Bu maddeyi bir örnekle açıklayabiliriz.  Şirketinizin yüksek kullanıcılı bir yazılım ürününe sahip olduğunu varsayalım. Uygulamanıza yeni bir özellik (güncelleme) sağlıyorsunuz.  Bu güncellemeyle birlikte sistemde bir hata (bug) oluşuyor ve binlerce kullanıcınız bu durumdan ciddi bir şekilde etkileniyor. Etkilenen kullanıcılarınız müşteriniz olmayı bırakıp aynı özelliklere sahip yeni bir uygulama kullanmaya başlıyor. Bu varsayım gerçekleşmiş olsaydı şirketinizde çok ciddi mali kayıplara sebep olacaktı.

Buna ek olarak muhtemelen o müşterileri geri kazanmak şirketiniz için çok zor olacağı gibi sektörde bıraktığınız kötü izlenim yeni müşteriler kazanmanızı da zorlaştıracaktı.

Diğer açıdan bakacak olsaydık eğer, yani yaptığınız güncellemeyi son müşteriye sunmadan önce profesyonel bir yazılım test ekibi test etmiş olsaydı, muhtemelen hata çok daha erken fark edilerek düzeltilmesi için ilgili yazılım ekibine tekrar yönlendirilecekti. Hata çözülmüş bir şekilde yapılan güncelleme sayesinde ise müşteri kayıpları yaşanmayacaktı. Böylece yüksek zararlardan korunmuş olunacaktı.

  • Üründe oluşabilecek güvenlik açıklarını minimuma indirir.

En önemli noktalardan bir tanesi elbette yazılım ürününün güvenliğidir. Kişisel ve finansal bilgilerin (kredi kartı vs.) kullanılıp saklandığı uygulamalar güvenlik açısından çok dikkat edilmesi gereken uygulamalardır. Bu tarz uygulamalarda kullanıcı, bilgilerinin güvenli bir şekilde saklandığından emin olmak ister. Çünkü güvenlik sistemlerindeki küçük açıklar bile hackerlar tarafından kötüye kullanılabilmektedir. Özellikle bankacılık uygulamaları hackerların bu açıkları kullanarak büyük finansal zararlara sebebiyet verdikleri alanlardır. Bu nedenle bu uygulamaların güvenliği her zaman profesyonel test ekipleri tarafından test edilmelidir. Bazı durumlarda da kötü niyetli yazılım mühendisleri tarafından uygulamalarda arka kapı diye tabir ettiğimiz bilinçli açıklar bırakılabilmektedir. Böyle durumların önüne geçebilmek için de yazılım ekibinden bağımsız olarak çalışan test mühendisleri ile çalışılmalıdır.

  • Yazılım testi ürün kalitesini arttırır.

Ürününüzün kalitesini istediğiniz düzeye çekebilmeniz ve piyasaya planladığınız kalitede sunabilmeniz için yazılım testi büyük önem arz etmektedir. Bu konuya da şöyle bir örnek verebiliriz. Şirketinizin geliştirmiş olduğu uygulama çok sayıda müşteri tarafından kullanılabileceği için birçok farklı tarayıcıdan giriş sağlanabilir. Fakat uygulama her tarayıcıda istenildiği gibi çalışmayabilir ve uyumluluk sorunları yaşanabilir. Bu durumda ürününüzün kalitesi beklenenden düşük demektir. Sorun yaşayan kullanıcılarınız ürün kalitesini beğenmediği takdirde müşteriniz olmayı reddedecektir. Yazılım test mühendisleri yine bu noktada devreye girerek oluşabilecek sorunları engelleyebilmektedir. Çünkü profesyonel yazılım ekiplerinde, uygulamaları farklı tarayıcılar üzerinden çeşitli test araçları kullanarak yüzlerce hatta binlerce senaryo ile test etme imkanı vardır. Bu kapsamda gerçekleştirilen testler ile olası hatalar kolayca bulunabilir ve ortaya çıkabilecek hata sayısı minimuma düşürülüp maksimum kalite sağlanabilir.

  • Müşteri memnuniyetini sağlar.

Şirket sahipleri için asıl amaç her zaman maksimum müşteri memnuniyetine ulaşmaktır. Çünkü müşteri memnuniyeti sektörde sürekliliği sağlar. Müşteri memnuniyeti yüksek ürünlerin reklamı kulaktan kulağa hızlı bir biçimde yayılabilmektedir.  Memnuniyeti kazanmak ise gerçekten çok zordur, hele ki ilk izlenimde kullanıcı tarafından uygulama beğenilmediyse! Memnuniyeti arttırmak için ise ürünün müşterinin bakış açısıyla test edilmesi gerekir. Bu nedenle, genellikle şirkette üründen sorumlu iş birimi tarafından, UAT(Kullanıcı Kabul Testi) adı verilen testler uygulanarak, ürünün son kullanıcıya sunumundan önce son kullanıcı gözüyle işlevselliği doğrulanmalıdır. Bu testin başarılı olması halinde ürün pazara sunulur.  Bu sayede ilk izlenimde oluşacak kötü durumlar engellenmiş ve yüksek müşteri memnuniyeti sağlanmış olacaktır. Ayrıca yapılan performans testleri, ürünün farklı koşullarda verdiği tepkiyi ölçümleyerek geliştirme aşamasında gerekli önlemlerin alınmasını sağlar. Ürünün bu testlerden başarıyla geçmesinden sonra pazara sunulması ile müşteri memnuniyetini olumsuz etkileyebilecek durumların önüne geçilebilmektedir.

Maksimum müşteri memnuniyetine ulaşmak için yapılan testler uzun vadede şirkete büyük kazançlar sağlayacaktır.

 

Altan Behiç Temiz

Yazılım Test Mühendisi