Yazılım Testinde Çevik Metodoloji

Ç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 Metodoloji
Çevik Metodoloji

Ç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.

  1. Süreçler ve araçlar üzerinden bireysel ve ekip etkileşimleri
  2. Kapsamlı dokümantasyon yerine çalışan yazılım
  3. Sözleşme müzakereleri hakkında müşteri işbirliği
  4. 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.

Çevik Süreç Modeli
Çevik Süreç Modeli

Ç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 Yöntemi
Scrum Yöntemi
  • 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 Uygulamaları
Scrum Uygulamaları

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.

Aşırı Programlama
Aşırı Programlama

İş 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

  1. 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.
  2. Döngüsel teslimat: Ana geliştirme aşaması iki veya daha fazla teslimat döngüsünden oluşur;
    1. Ekip, sürüm planını günceller ve hassaslaştırır
    2. Bir veya daha fazla program test entegrasyonu yinelemesi yoluyla gereksinimlerin bir alt kümesini uygular
    3. Entegre ürün gerçek kullanıcılara ulaştırılıyor
    4. RevProje planına ve benimsenen geliştirme metodolojisine bakış
  3. 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:

  1. Zaman Boxing
  2. MoSCoW Kuralları
  3. Prototip

DSDM projesi 7 aşamadan oluşuyor

  1. ön proje
  2. Fizibilite çalışması
  3. İş Çalışması
  4. Fonksiyonel Model Yinelemesi
  5. Yinelemeyi tasarlayın ve oluşturun
  6. Uygulama
  7. 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

  1. Etki Alanı Nesne Modellemesi
  2. Özelliğe göre geliştirme
  3. Bileşen/Sınıf Sahipliği
  4. Özellik Ekipleri
  5. Denetimler
  6. Konfigürasyon yönetimi
  7. Normal Yapılar
  8. İ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.

  1. Atıkların Ortadan Kaldırılması
  2. Öğrenmeyi güçlendirmek
  3. Taahhüdü erteleyin (mümkün olduğunca geç karar vermek)
  4. Erken teslimat
  5. Ekibi güçlendirmek
  6. bina Integrity
  7. 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ı