Yazılım Test Metodolojileri: Kalite Güvence Modelleri
Yazılım Test Metodolojisi Nedir?
Yazılım Test Metodolojisi, Test Edilen Uygulamanın müşteri beklentilerini karşıladığını doğrulamak için kullanılan stratejiler ve test türleri olarak tanımlanır. Test Metodolojileri, AUT'yi doğrulamak için işlevsel ve işlevsel olmayan testleri içerir. Test Metodolojilerine örnekler: Birim Testi, Entegrasyon Testi, Sistem Testi, Performans testi vb. 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 halk arasında Geliştirme Metodolojileri ve Test Metodolojileri terimini kullanır. Dolayısıyla Test Metodolojileri, yukarıdaki Test Metodolojileri tanımına karşılık olarak Waterfall, Agile ve diğer QA modellerine de atıfta bulunabilir. Çeşitli test türlerine ilişkin tartışma okuyuculara değer katmaz. Bu nedenle farklı kalkınma modellerini tartışacağız.
Şelale Modeli
Nedir?
içinde şelale ModeliGereksinim Analizi, Tasarım vb. gibi çeşitli aşamalardan geçen yazılım geliştirme süreci – sırayla.
Test Yaklaşımı Nedir?
Şelale modelinde ilk aşama, teste başlamadan önce tüm proje gereksinimlerinin eksiksiz olarak 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ı taslağı hazırlar.
Ancak yazılımın tasarımı tamamlandıktan sonra ekip, geliştirilen yazılımın beklendiği gibi davrandığından emin olmak için test senaryolarının yürütülmesine geçecektir.
Bu metodolojide test ekibi ancak önceki aşama tamamlandığında bir sonraki aşamaya geçer.
Avantajlar | Dezavantajlar |
---|---|
Bu yazılım Mühendisliği modelinin planlanması ve yönetimi çok basittir. Dolayısıyla gereksinimlerin açıkça tanımlandığı ve önceden belirtildiği projeler şelale modeli kullanılarak kolaylıkla test edilebilir. | Şelale modelinde bir önceki aşama tamamlandıktan sonra bir sonraki aşamaya 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 parça şelale modelinin birden fazla 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 edilir ve tüm sistem birlikte test edilir
Test Yaklaşımı nedir?
Yineleme tamamlanır tamamlanmaz tüm sistem teste tabi tutulur. Testlerden elde edilen geri bildirimler anında alınır ve bir sonraki döngüye dahil edilir. Ardışık yinelemelerde gereken test süresi, geçmiş yinelemelerden kazanılan deneyime bağlı olarak azaltılabilir.
Avantajlar | Dezavantajlar |
---|---|
Yinelemeli geliştirmenin temel avantajı, test geri bildiriminin her döngünün sonunda hemen alınabilmesidir. | Bu model, her döngünün sonunda teslimatlar, çabalar vb. hakkında geri bildirim verilmesi gerektiğinden iletişim masraflarını önemli ölçüde artırır. |
Çevik metodoloji
Nedir?
Geleneksel yazılım geliştirme metodolojileri, yazılım gereksinimlerinin proje boyunca sabit kaldığı varsayımıyla ç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 olmaz. Yinelemeli model bu sorunu ele alsa da, yine de şelale modeline dayanmaktadır.
Çevik metodolojide yazılım, artımlı, hızlı döngüler halinde geliştirilir. Süreçler ve araçlardan ziyade müşteriler, geliştiriciler ve müşteri arasındaki etkileşimler vurgulanmaktadır. Çevik metodoloji, kapsamlı planlama yerine değişime yanıt vermeye odaklanır.
Test Yaklaşımı Nedir?
Çevik geliştirme yöntemlerinde artımlı test kullanılır ve bu nedenle projenin her sürümü kapsamlı bir şekilde test edilir. Bu, sistemdeki herhangi bir hatanın bir sonraki sürümden önce düzeltilmesini sağlar.
Avantajlar | Dezavantajlar |
---|---|
Gereksinimlere uyum sağlamak amacıyla projede herhangi bir zamanda değişiklik yapılması mümkündür. | 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. |
Bu artımlı testler riskleri en aza indirir. |
Ekstrem programlama
Nedir?
Ekstrem 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. RevMüşteriden alınan birkaç puan birleştirilir ve geliştiriciler bir sonraki göreve geçer.
Ekstrem programlamada geliştiriciler genellikle çiftler halinde çalışırlar.
Aşırı 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:- eklemek Test Durumu Henüz geliştirilmeyen yeni işlevselliği doğrulamak için test paketine
- Tüm testleri çalıştırın; işlevsellik henüz kodlanmadığından eklenen yeni test senaryosunun başarısız olması gerektiği açıktır.
- Özelliği/işlevselliği uygulamak için bazı kod yazın
- Test paketini yeniden çalıştırın. Bu sefer, işlevsel olarak kodlandığı için yeni test senaryosunun geçmesi gerekiyor
Avantajlar | Dezavantajlar |
---|---|
Aklında belirsiz bir yazılım tasarımı olan müşteriler aşırı programlamayı kullanabilir | Yazılım geliştirme ekibi ve müşteriler arasındaki toplantılar zaman gereksinimini artırır. |
Küçük sürümlerin sürekli testleri ve sürekli entegrasyonu, yazılım kodunun yüksek kalitede teslim edilmesini sağlar |
Hangi Yazılım Metodolojisini seçmelisiniz?
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 kendine göre avantajları ve dezavantajları vardır.
Belirli bir metodolojinin seçimi, projenin doğası, müşteri gereksinimleri, proje takvimi 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 etmeye 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 yalnızca yazılım kodunu test etmek amacıyla kurulmamalıdır. Büyük resim dikkate alınmalı ve projenin ana hedefi test metodolojisi ile tatmin edilmelidir. Bu saygın listeye bakın yazılım test servis sağlayıcıları projenizin hedeflerine uygun etkili test stratejileri oluşturmanıza yardımcı olabilecek kişi.
Çizelgeleme
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ış teslimatlar
Ekibin tüm üyelerini aynı fikirde tutmak için iyi tanımlanmış teslimatlar sağlanmalıdır. Teslimatlar herhangi bir belirsizlik olmaksızın doğrudan içerik içermelidir.
Test yaklaşımı
Planlama tamamlandıktan ve tanımlanmış teslimatlar hazır hale getirildikten sonra 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ı konusunda ekibe bilgi vermelidir.
Raporlama
Şeffaf raporlamayı başarmak çok zordur ancak bu adım, projede kullanılan test yaklaşımının etkinliğini belirler.