Yazılım Testinde Çevik Metodoloji
Testte Çevik Metodoloji Nedir?
Çevik Metodoloji, çevikliği teşvik eden bir uygulama anlamına gelir sürekli yineleme Projenin yazılım geliştirme yaşam döngüsü boyunca geliştirme ve test etme. Yazılım testinde Agile modelinde, Waterfall modelinden farklı olarak hem geliştirme hem de test faaliyetleri eş zamanlı olarak yürütülür.

Çevik Yazılım Geliştirme Nedir?
The Çevik Yazılım Geliştirme metodoloji, bir iş ihtiyacına yönelik vizyonu yazılım çözümlerine dönüştürmek için en basit ve etkili süreçlerden biridir. Çevik, sürekli planlama, öğrenme, iyileştirme, ekip işbirliği, evrimsel gelişim ve erken teslimatı kullanan yazılım geliştirme yaklaşımlarını tanımlamak için kullanılan bir terimdir. Değişime esnek yanıtları teşvik eder.
Çevik yazılım geliştirme, dört temel değere vurgu yapar.
- Süreçler ve araçlar üzerinden bireysel ve ekip etkileşimleri
- Kapsamlı dokümantasyon yerine çalışan yazılım
- Sözleşme müzakereleri hakkında müşteri işbirliği
- Bir planı takip ederek değişime yanıt verme
Çevik Model ve Şelale Modeli
Agile ve Waterfall modeli yazılım geliştirme süreci için iki farklı yöntemdir. Yaklaşımları farklı olsa da, gereksinime ve projenin türüne bağlı olarak her iki yöntem de zaman zaman faydalıdır.
Çevik Model | Şelale Modeli |
---|---|
Yazılım testi tanımında çevik metodoloji: Çevik metodolojiler, yazılım tasarımına artımlı ve yinelemeli bir yaklaşım önerir. | Şelale Modeli: Yazılımın geliştirilmesi başlangıç noktasından bitiş noktasına kadar sıralı bir şekilde akar. |
The Çevik süreç Yazılım testinde tasarımcıların üzerinde çalıştığı bireysel modellere bölünür | Tasarım süreci bireysel modellere bölünmez |
Müşteri, ürüne erkenden ve sık sık bakıp karar verme ve projede değişiklik yapma fırsatlarına sahiptir. | Müşteri ürünü ancak proje sonunda görebilir |
Testlerdeki çevik model, şelale modeline kıyasla yapılandırılmamış olarak kabul edilir | Şelale modelleri plan odaklı olduğundan daha güvenlidir. |
Küçük projeler çok hızlı bir şekilde uygulanabilir. Büyük projeler için geliştirme süresini tahmin etmek zordur. | Her türlü proje tahmin edilebilir ve tamamlanabilir. |
Hata projenin ortasında düzeltilebilir. | Ancak sonunda ürünün tamamı test edilir. Gereksinim hatası bulunursa veya herhangi bir değişiklik yapılması gerekiyorsa proje baştan başlamalıdır. |
Geliştirme süreci yinelemelidir ve proje kısa (2-4) haftalık yinelemelerle yürütülür. Planlama çok azdır. | Geliştirme süreci aşamalıdır ve aşama yinelemeden çok daha büyüktür. Her aşama bir sonraki aşamanın ayrıntılı açıklamasıyla sona erer. |
Dokümantasyona göre daha az öncelik verilir yazılım geliştirme | Dokümantasyon en önemli önceliktir ve hatta personeli eğitmek ve yazılımı başka bir ekiple yükseltmek için bile kullanılabilir. |
Her yinelemenin kendi test aşaması vardır. Her yeni işlev veya mantık yayınlandığında regresyon testinin uygulanmasına olanak tanır. | Ayrı parçalar tam olarak işlevsel olmadığından ancak geliştirme aşamasından sonra test aşaması gerçekleştirilir. |
Çevik testlerde yineleme sona erdiğinde ürünün gönderilebilir özellikleri müşteriye teslim edilir. Yeni özellikler sevkiyattan hemen sonra kullanılabilir. Müşterilerle iyi bir iletişim kurduğunuz zaman faydalıdır. | Geliştirilen tüm özellikler, uzun uygulama aşamasından sonra tek seferde teslim edilir. |
Test uzmanları ve geliştiriciler birlikte çalışır | Test uzmanları geliştiricilerden ayrı çalışır |
Her sprint sonunda kullanıcı kabulü gerçekleştirilir | Kullanıcı kabulü yapılan projenin sonunda. |
Geliştiricilerle yakın iletişim kurmayı ve gereksinimleri ve planlamayı birlikte analiz etmeyi gerektirir. | Geliştirici gereksinim ve planlama sürecine dahil olmaz. Genellikle testler ve kodlama arasında zaman gecikmeleri olur |
Ayrıca Kontrol Edin: - Çevik ve Şelale: Metodolojiler Arasındaki Farkı Bilin
Çevik Süreç
Aşağıdakileri kontrol edin Çevik metodoloji Başarılı sistemleri hızlı bir şekilde teslim etme süreci.
Çeşitli var Çevik yöntemler Çevik testlerde mevcuttur ve bunlar aşağıda listelenmiştir:
Saldırı
SCRUM, özellikle ekip tabanlı bir geliştirme ortamında görevlerin nasıl yönetileceğine odaklanan çevik bir geliştirme yöntemidir. Temel olarak Scrum, bir ragbi maçı sırasında meydana gelen aktiviteden türetilmiştir. Scrum, geliştirme ekibinin güçlendirilmesine inanır ve küçük ekiplerde (örneğin 7 ila 9 üyeli) çalışmayı savunur. Agile ve Scrum üç rolden oluşmakta olup sorumlulukları şu şekilde açıklanmaktadır:
-
Scrum Master
- Scrum Master ekibi kurmaktan, sprint toplantılarından sorumludur ve ilerlemenin önündeki engelleri kaldırır
-
Ürün sahibi
-
Ürün Sahibi, ürün biriktirme listesini oluşturur, biriktirme listesine öncelik verir ve her yinelemede işlevselliğin sunulmasından sorumludur.
-
-
Scrum Takımı
-
Takım kendi işini yönetir ve sprint veya döngüyü tamamlamak için işi organize eder
-
Ürün Yedekleme
Bu, her sürüm için tamamlanacak gereksinim sayısına (kullanıcı hikayeleri) ilişkin ayrıntılarla birlikte gereksinimlerin takip edildiği bir havuzdur. Ürün Sahibi tarafından korunmalı ve önceliklendirilmeli ve scrum ekibine dağıtılmalıdır. Ekip ayrıca yeni bir gereksinimin eklenmesini, değiştirilmesini veya silinmesini talep edebilir.
Scrum Uygulamaları
Uygulamalar ayrıntılı olarak açıklanmaktadır:
Scrum Metodolojilerinin süreç akışı:
süreç akışı scrum testi aşağıdaki gibidir:
- Bir scrum'un her yinelemesi şu şekilde bilinir: Sprint
- Ürün biriktirme listesi, son ürünü elde etmek için tüm detayların girildiği bir listedir.
- Her biri sırasında SprintÜrün birikim listesinin en önemli kullanıcı hikayeleri seçilir ve dönüştürülür Sprint .
- Takım tanımlanmış sprint biriktirme listesi üzerinde çalışır
- Ekip günlük işleri kontrol ediyor
- Sprint sonunda ekip ürün işlevselliğini sunar
Ekstrem Programlama (XP)
Ekstrem Programlama tekniği, müşterilerden sürekli değişen talepler veya gereksinimler olduğunda veya sistemin işlevselliğinden emin olmadıklarında çok faydalıdır. Ürünün kısa geliştirme döngülerinde sık sık "sürülmesini" savunur, bu da doğal olarak sistemin üretkenliğini artırır ve aynı zamanda her türlü müşteri gereksiniminin kolayca uygulanabileceği bir kontrol noktası sunar. XP, müşteriyi hedefte tutan yazılımlar geliştirir.
İş gereksinimleri hikayeler halinde toplanır. Bütün bu hikayeler otopark adı verilen bir yerde saklanıyor.
Bu tür metodolojide sürümler, yineleme adı verilen 14 günlük bir zaman aralığına sahip daha kısa döngülere dayanır. Her yineleme, kodlama, birim testi ve sistem testi gibi aşamaları içerir; her aşamada uygulamada bazı küçük veya büyük işlevler oluşturulacaktır.
eXtreme programlamanın aşamaları:
Agile XP yönteminde 6 aşama mevcuttur ve bunlar aşağıda açıklanmıştır:
Planlama
-
Paydaşların ve sponsorların belirlenmesi
-
Altyapı Gereksinimleri
-
Güvenlik ilgili bilgi ve toplama
-
Hizmet Seviyesi Anlaşmaları ve koşulları
Analiz
-
Otoparktaki Hikayelerin Yakalanması
-
Otoparktaki hikayelere öncelik verin
-
Tahmin için hikayelerin temizlenmesi
-
Yinelemeyi Tanımla SPAN(Zaman)
-
Hem Geliştirme hem de Kalite Güvence ekipleri için kaynak planlaması
Tasarım
-
Görevlerin dökümü
-
Her görev için Test Senaryosu hazırlığı
-
Regresyon Otomasyon Çerçevesi
infaz
-
kodlama
-
Manuel test senaryolarının yürütülmesi
-
Kusur Raporu oluşturma
-
Manuelin Otomasyon regresyon test senaryolarına dönüştürülmesi
-
Orta Yineleme incelemesi
-
Yineleme sonu incelemesi
Sarma
-
Küçük Sürümler
-
Demolar ve incelemeler
-
İhtiyaca göre yeni hikayeler geliştirin
-
Yineleme sonu inceleme yorumlarına dayalı Süreç İyileştirmeleri
Kapatma
-
Pilot Fırlatma
-
Eğitim
-
Üretim Lansmanı
-
SLA Garanti güvencesi
-
RevSOA stratejisini görüntüle
-
Üretim Desteği
Çalışmayı günlük olarak takip etmek için iki storyboard mevcuttur ve bunlar referans olarak aşağıda listelenmiştir.
-
Hikaye Kartonu
-
Bu, günlük XP aktivitelerini takip etmek için tüm hikayeleri çubuk notlar şeklinde bir panoda toplamanın geleneksel bir yoludur. Bu manuel aktivite daha fazla çaba ve zaman gerektirdiğinden çevrimiçi forma geçmek daha iyidir.
-
-
Çevrimiçi Hikaye Panosu
-
Hikayeleri saklamak için çevrimiçi araç Storyboard kullanılabilir. Birkaç takım bunu kullanabilir farklı amaçlar için.
-
Kristal Metodolojiler
Kristal Metodolojisi üç kavrama dayanmaktadır
-
kiralama: Bu aşamada yer alan çeşitli faaliyetler arasında bir geliştirme ekibi oluşturmak, bir ön fizibilite analizi yapmak, bir başlangıç planı geliştirmek ve geliştirme metodolojisine ince ayar yapmak yer alır.
-
Döngüsel teslimat: Ana geliştirme aşaması iki veya daha fazla teslimat döngüsünden oluşur;
- Ekip, sürüm planını günceller ve hassaslaştırır
- Bir veya daha fazla program test entegrasyonu yinelemesi yoluyla gereksinimlerin bir alt kümesini uygular
- Entegre ürün gerçek kullanıcılara ulaştırılıyor
- RevProje planına ve benimsenen geliştirme metodolojisine bakış
- Sarmak: Bu aşamada gerçekleştirilen faaliyetler, kullanıcı ortamına dağıtımdır, dağıtım sonrası incelemeler ve yansımalar gerçekleştirilir.
Dinamik Yazılım Geliştirme Yöntemi (DSDM)
DSDM bir Hızlı Uygulama Geliştirme (RAD) yazılım geliştirme yaklaşımını destekler ve çevik bir proje teslim çerçevesi sağlar. DSDM'nin önemli yanı kullanıcıların aktif olarak katılımının sağlanması ve ekiplere karar verme yetkisinin verilmesidir. Ürünün sık sık teslim edilmesi, DSDM'nin aktif odak noktası haline gelir. DSDM'de kullanılan teknikler şunlardır:
- Zaman Boxing
- MoSCoW Kuralları
- Prototip
DSDM projesi 7 aşamadan oluşuyor
- ön proje
- Fizibilite çalışması
- İş Çalışması
- Fonksiyonel Model Yinelemesi
- Yinelemeyi tasarlayın ve oluşturun
- Uygulama
- Proje sonrası
Özellik Odaklı Geliştirme (FDD)
Bu yöntem, özelliklerin "tasarlanması ve oluşturulması" etrafında odaklanır. Yazılım mühendisliğindeki diğer Agile yöntemlerinin aksine, FDD, özellik başına ayrı ayrı gerçekleştirilmesi gereken çok özel ve kısa çalışma aşamalarını tanımlar. Alan incelemesi, tasarım denetimi, oluşturmaya yükseltme, kod denetimi ve tasarımı içerir. FDD, hedefteki aşağıdaki şeyleri koruyarak ürün geliştirir
- Etki Alanı Nesne Modellemesi
- Özelliğe göre geliştirme
- Bileşen/Sınıf Sahipliği
- Özellik Ekipleri
- Denetimler
- Konfigürasyon yönetimi
- Normal Yapılar
- İlerlemenin ve sonuçların görünürlüğü
Yalın Yazılım Geliştirme
Yalın yazılım geliştirme yöntemi “Tam zamanında üretim” ilkesine dayanmaktadır. Yazılım geliştirme hızını arttırmayı ve maliyeti düşürmeyi amaçlamaktadır. Yalın geliştirme yedi adımda özetlenebilir.
- Atıkların Ortadan Kaldırılması
- Öğrenmeyi güçlendirmek
- Taahhüdü erteleyin (mümkün olduğunca geç karar vermek)
- Erken teslimat
- Ekibi güçlendirmek
- bina Integrity
- Bütünü optimize edin
Kanban
Kanban Japoncada, ürünün tamamlanma yolundaki her aşamada yapılması gereken tüm bilgileri içeren bir kart anlamına gelen kelimeden ortaya çıkmıştır. Bu çerçeve veya yöntem, özellikle Agile konseptlerinde yazılım test yönteminde oldukça benimsenmiştir.
Scrum ve Kanban
Saldırı | Kanban |
---|---|
Scrum tekniğinde testin bir sprintte tamamlanabilmesi için parçalara ayrılması gerekir. | Belirli bir öğe boyutu öngörülmemiştir |
Öncelikli bir ürün biriktirme listesi belirler | Önceliklendirme isteğe bağlıdır |
Scrum takımı yineleme için belirli miktarda çalışmayı taahhüt eder | Taahhüt isteğe bağlıdır |
Burndown grafiği belirlendi | Belirli bir öğe boyutu öngörülmemiştir |
Her sprint arasında hücum panosu sıfırlanır | Bir Kanban panosu kalıcıdır. İş akışı durumundaki öğe sayısını sınırlar |
Devam eden yinelemeye öğe eklenemez | Kapasite mevcut olduğunda öğe ekleyebilir |
Devam Eden Çalışma dolaylı olarak sınırlandırılmıştır | Devam Eden Çalışma doğrudan sınırlı |
Zaman sınırlı yinelemeler öngörülmüştür | Zaman sınırlı yinelemeler isteğe bağlıdır |
Ayrıca Kontrol Edin: - Kanban Vs. Scrum: Fark Nedir?
Çevik ölçümler
Agile'ın etkili kullanımı için toplanabilecek metrikler şunlardır:
-
Sürükleme Faktörü
-
Sprint hedefine katkıda bulunmayan saatlerdeki çaba
-
Sürükleme faktörü, paylaşılan kaynakların sayısı azaltılarak, katkı sağlamayan iş miktarı azaltılarak iyileştirilebilir
-
Yeni tahminler sürükleme faktörünün yüzdesi kadar arttırılabilir -Yeni tahmin = (Eski tahmin+sürükleme faktörü)
-
-
Hız
-
Sprint'in gönderilebilir işlevselliğine dönüştürülen biriktirme listesi (kullanıcı hikayeleri) miktarı
-
-
Eklenen Birim Testi Sayısı
-
Günlük derlemeyi tamamlamak için geçen zaman aralığı
-
Bir yinelemede veya önceki yinelemelerde tespit edilen hatalar
-
Üretim hatası sızıntısı