Yazılım Test Metodolojisi nedir?
Yazılım Test Metodolojisi, Test Edilen Uygulamanın müşteri beklentilerini karşıladığını onaylamak için kullanılan stratejiler ve test türleri olarak tanımlanır. Test Metodolojileri, AUT'yi doğrulamak için fonksiyonel ve fonksiyonel olmayan testleri içerir. Test Metodolojilerine örnek olarak Birim Testi, Entegrasyon Testi, Sistem Testi, Performans Testi vb. Verilebilir. Her test metodolojisinin tanımlanmış bir test hedefi, test stratejisi ve çıktıları vardır.
Not : Yazılım Testi herhangi bir Geliştirme Metodolojisinin ayrılmaz bir parçası olduğundan, birçok şirket Geliştirme Metodolojileri ve Test Metodolojileri terimini ortaklaşa kullanır. Bu nedenle, Test Metodolojileri, yukarıdaki Test Metodolojileri tanımına aykırı olarak Waterfall, Agile ve diğer QA modellerine de atıfta bulunabilir. Çeşitli test türleri üzerine tartışma okuyuculara değer katmaz. Bu nedenle, farklı geliştirme modellerini tartışacağız.
Bu eğitimde öğreneceksiniz-
- Şelale Modeli
- Yinelemeli geliştirme
- Çevik metodoloji
- Aşırı programlama
- Hangi Yazılım Metodolojisini seçmeli?
- Yazılım test metodolojileri nasıl kurulur?
Şelale Modeli
Nedir?
Şelale modelinde yazılım geliştirme, Gereksinim Analizi, Tasarım vb . Gibi çeşitli aşamalardan sırayla ilerler .
Bu modelde, sonraki aşama yalnızca önceki aşama tamamlandığında başlar.
Test Yaklaşımı Nedir?
Şelale modelindeki ilk aşama, teste başlamadan önce tüm proje gereksinimlerinin tamamen tanımlandığı gereksinimler aşamasıdır. Bu aşamada, test ekibi testin kapsamı, test stratejisi hakkında beyin fırtınası yapar ve ayrıntılı bir test planı hazırlar.
Yalnızca yazılımın tasarımı tamamlandıktan sonra, ekip, geliştirilen yazılımın beklendiği gibi davranmasını sağlamak için test senaryolarının yürütülmesine geçecektir.
Bu metodolojide, test ekibi yalnızca önceki aşama tamamlandığında bir sonraki aşamaya geçer.
Avantajlar
Bu yazılım Mühendisliği modelinin planlanması ve yönetilmesi çok basittir. Böylelikle gereksinimlerin açıkça tanımlandığı ve önceden belirtildiği projeler şelale modeli kullanılarak kolaylıkla test edilebilir.
Dezavantajları
Şelale modelinde, bir sonraki aşamaya yalnızca önceki aşama tamamlandıktan sonra başlayabilirsiniz. Dolayısıyla, bu model planlanmamış olayları ve belirsizliği barındıramaz.
Bu metodoloji, gereksinimlerin sık sık değiştiği projeler için uygun değildir.
Yinelemeli geliştirme
Nedir?
Bu modelde, büyük bir proje küçük parçalara bölünür ve her bölüm şelale modelinin birden çok yinelemesine tabi tutulur. Bir yinelemenin sonunda, yeni bir modül geliştirilir veya mevcut bir modül geliştirilir. Bu modül yazılım mimarisine entegre edilmiştir ve tüm sistem birlikte test edilir
Test Yaklaşımı nedir?
Yineleme tamamlanır tamamlanmaz tüm sistem teste tabi tutulur. Testten alınan geri bildirim hemen kullanılabilir ve bir sonraki döngüye dahil edilir. Ardışık yinelemede gereken test süresi, geçmiş yinelemelerden elde edilen deneyime bağlı olarak azaltılabilir.
Avantajlar
Yinelemeli geliştirmenin ana avantajı, test geri bildiriminin her döngünün sonunda hemen kullanılabilir olmasıdır.
Dezavantajları
Bu model, her döngünün sonunda, çıktılar, çaba vb. Hakkında geri bildirim verilmesi gerektiğinden, iletişim genel giderlerini önemli ölçüde artırır.
Çevik metodoloji
Nedir?
Geleneksel yazılım geliştirme metodolojileri, yazılım gereksinimlerinin proje boyunca sabit kaldığı gerekçesiyle çalışır. Ancak karmaşıklığın artmasıyla, gereksinimler çok sayıda değişikliğe uğrar ve sürekli olarak gelişir. Bazen müşterinin kendisi ne istediğinden emin değildir. Yinelemeli model bu sorunu ele alsa da, yine de şelale modeline dayanmaktadır.
Çevik metodolojide, yazılım artımlı, hızlı döngülerde geliştirilir. Müşteriler, geliştiriciler ve müşteri arasındaki etkileşimler, süreçler ve araçlardan çok vurgulanır. Çevik metodoloji, kapsamlı planlama yerine değişime yanıt vermeye odaklanır.
Test Yaklaşımı Nedir?
Artımlı test, çevik geliştirme yöntemlerinde kullanılır ve bu nedenle, projenin her sürümü kapsamlı bir şekilde test edilir. Bu, sistemdeki tüm hataların bir sonraki sürümden önce düzeltilmesini sağlar.
Avantajlar
Gereksinimlere uymak için her an projede değişiklik yapmak mümkündür.
Bu artımlı test, riskleri en aza indirir.
Dezavantajları
Sürekli müşteri etkileşimi, müşterinin kendisi, yazılım geliştirme ve test ekipleri de dahil olmak üzere tüm paydaşlar üzerinde ek zaman baskısı anlamına gelir.
Aşırı programlama
Nedir?
Aşırı programlama, kısa geliştirme döngülerine inanan bir tür çevik metodolojidir. Bir proje, basit mühendislik görevlerine bölünmüştür. Programcılar basit bir yazılım parçasını kodlar ve geri bildirim için müşteriye geri döner. Müşteriden gelen inceleme noktaları dahil edilir ve geliştiriciler bir sonraki göreve geçer.
Aşırı programlama geliştiricilerinde genellikle çiftler halinde çalışırlar.
Extreme Programlama, müşteri gereksinimlerinin sürekli değiştiği yerlerde kullanılır.
Test Yaklaşımı Nedir?
Ekstrem programlama, aşağıda açıklanan Test odaklı bir geliştirmeyi takip eder -
- Henüz geliştirilmemiş olan yeni işlevselliği doğrulamak için test paketine bir Test Senaryosu ekleyin
- Tüm testleri çalıştırın ve işlevsellik henüz kodlanmadığı için eklenen yeni test senaryosu başarısız olmalıdır.
- Özelliği / işlevselliği uygulamak için biraz kod yazın
- Test paketini tekrar çalıştırın. Bu sefer, işlevsel olarak kodlandığı için yeni test senaryosu geçmelidir.
Avantajlar
Akıllarında belirsiz bir yazılım tasarımı olan müşteriler, aşırı programlama kullanabilir.
Sürekli test ve küçük sürümlerin sürekli entegrasyonu, yazılım kodunun yüksek kalitede teslim edilmesini sağlar
Dezavantajları
Yazılım geliştirme ekibi ve müşteriler arasındaki toplantılar zaman gereksinimlerini artırır.
Hangi Yazılım Metodolojisini seçmeli?
Yazılım geliştirme ve buna karşılık gelen testler için tonlarca metodoloji mevcuttur. Her test tekniği ve metodolojisi belirli bir amaç için tasarlanmıştır ve göreceli avantajları ve dezavantajları vardır.
Belirli bir metodolojinin seçimi, bir projenin niteliği, müşteri gereksinimi, proje programı vb. Gibi birçok faktöre bağlıdır.
Test açısından bakıldığında, bazı metodolojiler girdiyi geliştirme yaşam döngüsünün başlarında test etmeyi zorlarken, diğerleri sistemin çalışan bir modeli hazır olana kadar bekler.
Yazılım test metodolojileri nasıl kurulur?
Yazılım test metodolojileri sadece yazılım kodunu test etmek için kurulmamalıdır. Büyük resim dikkate alınmalı ve projenin ana hedefi test metodolojisi ile tatmin edilmelidir.
Planlama
Gerçekçi planlama, başarılı test metodolojisinin uygulanmasının anahtarıdır ve program, ekibin her üyesinin ihtiyaçlarını karşılamalıdır.
Tanımlanmış çıktılar
Ekibin tüm üyelerini aynı sayfada tutmak için, iyi tanımlanmış çıktılar sağlanmalıdır. Çıktılar, herhangi bir belirsizlik olmaksızın doğrudan içerik içermelidir.
Test yaklaşımı
Programlama tamamlandıktan ve tanımlanmış çıktılar kullanıma sunulduğunda, test ekibi doğru test yaklaşımını formüle edebilmelidir. Tanım belgeleri ve geliştirici toplantıları, proje için kullanılabilecek en iyi test yaklaşımı hakkında ekibe belirtmelidir.
Raporlama
Şeffaf raporlama yapmak çok zordur, ancak bu adım projede kullanılan test yaklaşımının etkinliğini belirler.