Merhaba Arkadaşlar,
Mobilhanemde yeni bir eğitim serisine başlıyoruz. Bu eğitim serisinde Yazılım Testlerine dair hemen hemen herşeyi vermeye çalışacağız. ISTQB Certified Tester Foundation Level sertifikasını almak isteyen veya Yazılım Testi ile ilgilenen herkese yardımcı olacağını düşündüğüm derslerin ilk yazısı ile başlayalım.Yazılımda kalite nedir? Yazılım ürünlerinde kalitenin önemi ve yazılım testi konuları ile başlayacağımız bu eğitim serisinde Yazılım Geliştirme Yaşam Döngüsü,Yazılım Testi konularına da giriş yapacağız.
Yazılımda Kalite
Yazılım kalitesi gereksinimlerin ve müşteri isteklerinin karşılanması ve yazılım geliştirilirken standartlara bağlılık, uygunluk ile güvenilirlik ve müşteri kullanırken destek verilmesi olarak tanımı yapılabilir. Yazılım üründen beklenilen işlevselliğin olabilmesi için kalite tanımında verilen ve referans olarak kabul edilen durumlara dikkat edilmesi gereklidir. Bu standartlara dikkat edilmesi yazılım ürünümüzde ki kalitenin seviyesinin belirleyecektir.
Yazılımda kalitenin tanımını sadeleştirecek olursak tahmin edileceği gibi hataların sıfıra yakın duruma gelmesi olarak açıklayabiliriz. Tabi ki sadece hataların minimum seviyede tutulması olarak görmemeliyiz. Bir yazılım ürünümüz olsun. Bu ürün bilgisayar, tablet, telefon gibi araçlar ile kullanıcılar(müşteriler) tarafından kullanılacağından kullanıcının herhangi bir işlemini doğru bir şekilde sağlayabilmesi kullanıcılar için önemlidir. Kullanıcı ürünü istediği gibi kullanabiliyor ve ihtiyaçlarına yanıt alabiliyorsa üründen memnun kalacaktır. Yani ürün geliştirilirken gereksinimleri karşılamış ve hatası en az seviyede tutulmuş ise kalite kavramını sağlamış olacaktır. İşte burada yazılım ürünlerini kaliteli bir şekilde ortaya çıkarabilmek için Yazılım Testi devreye girecektir. Kullanıcı gibi düşünerek yapılan ve diğer test seviyelerinin uygulandığı testler ile ürüne ait gereksinimlerin karşılanması, güvenilirliğin olması, uyumluluğun sağlanması, ürünün işlevselliği, hataların önceden bulunması mümkün olacaktır.
Yazılım Geliştirme Yaşam Döngüsü (Software Development Life Cycle) – SDLC ve Kalite
Bir yazılım ürününün geliştirilmesi ve son kullanıcının yani müşterilerin bu ürünleri gerçek ortamda kullanımı boyunca geçirdiği bütün aşamalar yazılım geliştirme yaşam döngüsü olarak belirtilebilir. Yazılım süreç modellerinde Test genelde diğer aşamalardan sonra yapılan bir aktivite olarak görülmektedir. Yazılımda kalitenin sağlanması için testlerin yazılım geliştirme yaşam döngüsünün başından itibaren sürece dahil edilmesi zaman ve maliyet açısından projeler için faydalı olacaktır. Yazılım geliştirme süreci belirli şartlara göre ayrılmış birçok aşamadan oluşur. Bunlar;
Planlama: yaşam döngüsünün ilk aşaması olan bu bölümde talepler, istekler belirlenir ve yapılabilirlikleri araştırılır ve bunlara göre bir plan oluşturulur.
Analiz: İsteklerin taleplerin gereksinimlere dönüştüğü aşamada genel de iş analistleri tarafından gerçekleştirilir.
Tasarım: Gereksinimlerin netleştirilmesiyle başlayan bu aşamada sistem, ürün tasarımları yapılır. Sistemin bu gereksinimleri karşılayıp karşılayamayacağı çalışmaları gerçekleştirilir.
Gerçekleştirme: Kodlama ve test işlemlerinin yapıldığı aşamadır.
Teslim ve Bakım: Önceki aşamaların tamamlanması ile müşterilere kullanıcılara sunulan bu aşamada sistem de hataların giderilmesi, önleyici aktivitelerin alınması gibi bakım işlemleri yapılır.
Bunlar yazılım geliştirme sürecinin ana adımları olarak da nitelendirilebilir. Bu adımların kullanıldığı farklı yazılım geliştirme modelleri bulunur. Bir sonraki derste bu modelleri bulabilirsiniz.Yazılım ürünü geliştirilirken kullanılan yazılım süreç modellerinin amaçları olası hatalar öngörülerek etkin ve uygun şekilde gerçekleştirilmesidir. Bu modeller doğru ve etkin uygulanarak yazılım projeleri zamanında ve maliyeti aşmadan tamamlanabilir. Ancak geliştirilen ürünlerin tanımlanmış ve netleştirilmiş gereksinimleri karşılayıp karşılamadığı ve hata sayısı minimize edilmesi yani Yazılımda Kalitenin sağlanması bu süreç modellerinde uygulanan test süreçleri ile sağlanır. Bu açıdan yazılım testleri yazılım geliştirme süreci içerisinde en önemli aşamalardan biridir. Yazılım testi ve yazılım test süreçleri detaylı olarak sonraki derslerimizde verilecektir.
Yazılım Testi ve Kalite
Test Nedir?
Kullanıcı gereksinimlerinin karşılanıp karşılanmadığı ve sistemin işlevselliğinin kontrol edildiği aktivitelerdir. Hataların bulunması, kalite ile ilgili güvenilirlik, karar verme için bilgi sağlama ve hataları önleme testin hedefleri olarak sıralanabilir. Yazılım testi ile ilgili daha fazlası için tıklayınız. Yazılım testleri, yazılım geliştirme yaşam döngüsü içerisinde olması gereken ve geliştirilen ürüne ait doğruluğun, kaliteli olup olmadığının, güvenilirliğin, kullanılabilirliğinin, uyumluluğunun, işlevsel olup olmadığı gibi faktörleri denetleyen, onaylayan ve kontrol eden aktivitelerdir. Bu aktiviteler tıpkı yazılım geliştirme sürecinde olduğu gibi belirli aşamalardan oluşmaktadır. Bu aşamalar sonraki bölümde verilmiştir.
Yazılım Test Süreci Nedir?
Bir ürünün test edilebilmesi için belirli ve sıralı bir şekilde tanımlanmış test aktivitelerinin oluşturduğu bir topluluk olarak açıklayabiliriz. Yazılım test süreci aşamaları sonraki derslerimizde detaylı olarak ele alınacaktır. Testlerde en belirgin aşama testin yürütüldüğü bir diğer tabirle testlerin manuel ya da otomasyon yoluyla koşulduğu aşamadır. Fakat test koşumu öncesinde ve sonrasında gerçekleştirilen işlemlerde bulunmaktadır. Bu işlemler arasında planlama, test koşullarının seçilmesi, test senaryolarının tasarlanması ve koşturulması, sonuçların kontrol edilmesi, çıkış kriterlerinin değerlendirilmesi ve raporlanması, testi sonuçlandırma ve kapatma yer alır.
Aşamaları aşağıdaki gibi;
Test planlama
Test analizi ve tasarımı
Test uygulaması ve yürütülmesi
Hata yönetimi ve hata raporlama
Testin tamamlanması ve sonuç raporlama
Yazılım Sektöründe Yazılım Testi
2000 li yılların başında yazılım sektöründe adı pek fazla kullanılmayan Test,yazılım mühendisliği altında geçen bir kavramdan fazlası değildi. Çünkü testin gerekli olduğu riskli durumlar az denilecek kadardı. Fakat teknolojinin ilerlemesiyle birlikte karmaşıklaşan yazılımlar, rekabetin yükseldiği bu ortamda önem kazanan müşteri memnuniyeti riskleri artırmaya başladı. Özellikle internetin yaygınlaşması ve teknolojinin ilerlemesiyle web tabanlı uygulamaların sayısı artmaya başladı. Mobil uygulamaların da artmasıyla her cihazın birbirine entegre olmasını gerektirdiği bu ortamda hatalarında artması ve haliyle maliyetlere yansıma riskleri oluşmaya başladı. Bu riskler artınca yazılım sektöründe rekabeti kaçırmamak için müşteri memnuniyetine ve dolayısıyla hatasız ürünler oluşturmayı isteyen organizasyonlar maliyeti düşürebilecekleri bir yol olabildiğini gördüler. Yazılımda kalitenin önemine işaret eden gelişmeler, yazılım geliştirme süreçlerine Yazılım testlerini dahil etmeye doğru itti.Yazılım geliştirme süreçlerine Yazılım Testi dahil etmeye başlayan şirketlerin sayısı gittikçe artmaya başladı. Çünkü Teste önem verilmesi Yazılımda kalite kriterleri sağlanmış yazılım ürünlerine sahip olmayı kolaylaştırmaktadır.
Ek olarak bu bölümde Yazılım testi alanında dünyanın en saygın organizasyonlarından olan International Software Testing Qualifications Board (ISTQB) tarafından yayınlanan Yazılım Test Kariyer 2019-2020 raporu ile ilgili bilgileri bulabileceğiniz bir link paylaşıyorum. Bu raporda sektörde çalışan Yazılım Test Uzmanları referans alınarak Türkiye’deki test kariyeri, test uzmanları maaşları, test uzmanlarının yazılım sürecindeki etkileri gibi durumları anket yoluyla değerlendirilmiş ve geçmişteki durum ile gelecekteki durumun analizleri yapılmıştır.
Son olarak Yazılım testi ile;
Kaliteli ürünlerin oluşmasını,
Memnun müşteri sayısının artmasını,
Geliştirilen ürün maliyetlerinin düşürülmesini,
Ürün ile ilgili güvenilirliğin sağlanmasını,
Hataları minimuma indirilmiş ürünler çıkarılmasını vb. birçok faydası sağlanmış olacaktır.
Konu hakkında soru , cevap ve görüşlerinizi alt taraftaki yorum alanından veya Soru&Cevap sitemizden bizlere iletebilirsiniz.
81
İs hayatınızda başarılar diliyorum. Kaleminize bilginize sağlık efendim.
Değerli bilgiler ve makale için teşekkür ederiz. Gökhan Bey
Gökhan hocam yazınızı okudum çok güzel olmuş elinize sağlık.