Çevik Test - Scrum
Scrum savunucuları Whole Team Approachher ekip üyesinin her proje faaliyetinde yer alması gerektiği anlamında. Scrum ekibi, proje çıktılarına karşı hesap verebilirlikle kendi kendini organize eder. Karar verme ekibe bırakılır ve bu da herhangi bir gecikme olmaksızın doğru zamanda uygun önlemlerin alınmasını sağlar. Bu yaklaşım aynı zamanda tek bir faaliyetle sınırlandırmak yerine takım yeteneğinin doğru kullanımını teşvik eder. Test uzmanları, test konusundaki uzmanlıklarına katkıda bulunan tüm proje ve geliştirme faaliyetlerine de katılırlar.
Tüm ekip Test Stratejisi, Test Planlama, Test Spesifikasyonu, Test Yürütme, Test Değerlendirme ve Test Sonuçları Raporlama konularında birlikte çalışır.
İşbirliğine Dayalı Kullanıcı Hikayesi Oluşturma
Testçiler, Kullanıcı Hikayesi Oluşturma'ya katılır. Test uzmanları, sistemin olası davranışına ilişkin fikirlerine katkıda bulunur. Bu, müşterinin ve / veya son kullanıcının sistemi gerçek ortamda anlamasına ve böylece sonuç olarak gerçekte ne istedikleri konusunda netlik kazanmasına yardımcı olur. Bu, gereksinimlerin daha hızlı dondurulmasına neden olur ve ayrıca daha sonra gereksinimlerde değişiklik olasılığını azaltır.
Test uzmanları ayrıca müşteri tarafından kabul edilen her senaryo için Kabul Kriterlerini oluşturur.
Test uzmanları, test edilebilir kullanıcı hikayelerinin oluşturulmasına katkıda bulunur.
Sürüm Planlama
Tüm proje için Sürüm Planlaması yapılır. Bununla birlikte, Scrum çerçevesi, sprintlerin gerçekleştirilmesi sırasında daha fazla bilgi elde edildiğinden yinelemeli karar vermeyi içerir. Bu nedenle, projenin başlangıcındaki Sürüm Planlama oturumunun tüm proje için ayrıntılı bir yayın planı üretmesine gerek yoktur. İlgili bilgiler mevcut olduğundan sürekli olarak güncellenebilir.
Her sprint-ucunun bir sürüme sahip olması gerekmez. Sürüm, bir grup sprintten sonra olabilir. Bir sürümün ana kriteri, müşteriye iş değeri sağlamaktır. Ekip, bir girdi olarak yayın planlamasıyla birlikte sprint uzunluğuna karar verir.
Sürüm Planlama, test yaklaşımının ve sürüm için test planının temelidir. Test uzmanları Test Eforunu tahmin eder ve sürüm için Test yapmayı planlar. Sürüm planları değiştiğinde, test uzmanları değişiklikleri ele almalı, daha geniş sürüm bağlamını dikkate alarak yeterli bir test temeli edinmelidir. Test uzmanları ayrıca tüm sprintlerin sonunda gerekli olan test çabasını sağlar.
Sprint Planlama
Sprint planlaması her sprintin başında yapılır. Sprint iş yığını, belirli bir sprintte uygulama için ürün birikiminden alınan kullanıcı hikayeleriyle oluşturulur.
Test uzmanları şunları yapmalıdır:
- Sprint için seçilen kullanıcı hikayelerinin test edilebilirliğini belirleyin
- Kabul testleri oluşturun
- Test seviyelerini tanımlayın
- Test otomasyonunu tanımlayın
Test uzmanları, test planını, sprintteki test eforu ve sürelerine ilişkin tahminlerle günceller. Bu, zaman kutulu sprintler sırasında gerekli testler için zaman sağlanmasını ve ayrıca test çabasının hesap verebilirliğini sağlar.
Test Analizi
Bir sprint başladığında, geliştiriciler tasarım ve uygulama için hikaye analizini gerçekleştirirken, test uzmanları sprint iş yığınındaki hikayeler için test analizi yapar. Test cihazı, gerekli test senaryolarını oluşturur - hem manuel hem de otomatik testler.
Test yapmak
Scrum ekibinin tüm üyeleri teste katılmalıdır.
Geliştiriciler, kullanıcı hikayeleri için kod geliştirirken birim testlerini yürütürler. Birim Testleri, kod yazılmadan önce her sprintte oluşturulur. Birim test senaryoları, düşük seviyeli tasarım özelliklerinden türetilmiştir.
Test uzmanları, kullanıcı hikayelerinin işlevsel ve işlevsel olmayan özelliklerini gerçekleştirir.
Test uzmanları, scrum ekibindeki diğer üyelere test konusundaki uzmanlıkları ile mentorluk yapar, böylece tüm ekip, ürünün kalitesi için kolektif bir sorumluluğa sahip olur.
Sprint sonunda müşteri ve / veya son kullanıcılar Kullanıcı Kabul Testi yapar ve scrum ekibine geri bildirim sağlar. Bu, bir sonraki sprint için bir girdi oluşturur.
Test sonuçları toplanır ve muhafaza edilir.
Otomasyon Testi
Scrum takımlarında otomasyon testine büyük önem verilmektedir. Test uzmanları, otomatik testlerin ve sonuçların oluşturulması, yürütülmesi, izlenmesi ve sürdürülmesine zaman ayırır. Scrum projelerinde herhangi bir zamanda değişiklikler olabileceğinden, test uzmanlarının değişen özelliklerin testine ve ayrıca ilgili regresyon testine uyum sağlaması gerekir. Otomasyon testi, değişikliklerle ilişkili test çabasının yönetilmesini kolaylaştırır. Her seviyedeki otomatik testler, sürekli entegrasyona ulaşmayı kolaylaştırır. Otomatik testler, ek çaba gerektirmeden manuel testlerden çok daha hızlı çalışır.
Manuel test daha çok keşif testi, ürün güvenlik açığı ve kusurları tahmin etmeye odaklanır.
Test Faaliyetlerinin Otomasyonu
Test faaliyetlerinin otomasyonu, tekrarlanan iş yükünü azaltır ve maliyet tasarrufu sağlar. Otomatikleştirmek
- Test Verisi Üretimi
- Test Verisi Yükleme
- Test Ortamına Dağıtım Oluşturun
- Test Ortamı Yönetimi
- Veri Çıkışı Karşılaştırması
Gerileme testi
Bir sprintte, testçiler o sprintte yeni / değiştirilmiş kodu test eder. Bununla birlikte, test uzmanlarının önceki sprintlerde geliştirilen ve test edilen kodun da yeni kodla birlikte çalıştığından emin olmaları gerekir. Bu nedenle, Scrum'da Regresyon testine önem verilmektedir. Otomatik regresyon testleri sürekli entegrasyonda çalıştırılır.
Konfigürasyon yönetimi
Scrum projelerinde otomatik derleme ve test çerçevelerini kullanan bir Konfigürasyon yönetim sistemi kullanılır. Bu, yeni kod Yapılandırma Yönetim Sisteminde kontrol edilirken statik analiz ve birim testlerinin tekrar tekrar çalıştırılmasına izin verir. Ayrıca yeni kodun sistemle sürekli entegrasyonunu da yönetir. Otomatik Regresyon Testleri, Sürekli Entegrasyon sırasında çalıştırılır.
Manuel Test Durumları, Otomatik Testler, Test Verileri, Test Planları, Test Stratejisi ve diğer Test Yapılarının Sürüm Kontrollü olması ve ilgili Erişim İzinlerinin sağlanması gerekir. Bu, Konfigürasyon Yönetim Sistemindeki Test Artefaktlarının bakımı yapılarak gerçekleştirilebilir.
Çevik Test Uygulamaları
Bir Scrum Takımındaki testçiler aşağıdaki Çevik Uygulamaları takip edebilir -
Pairing- İki Ekip Üyesi birlikte oturur ve işbirliği içinde çalışır. İki kişi, iki Test Kullanıcısı veya bir Test Cihazı ve bir Geliştirici olabilir.
Incremental Test Design - Test Durumları, Sprintler aşamalı olarak ilerledikçe ve Kullanıcı Hikayeleri eklendikçe geliştirilir.
Çevik Metrikler
Yazılım geliştirme sırasında, ölçümlerin toplanması ve analizi, sürecin iyileştirilmesine ve böylece daha iyi üretkenlik, kaliteli çıktılar ve müşteri memnuniyeti elde edilmesine yardımcı olur. Scrum tabanlı geliştirmede bu mümkündür ve test uzmanları ihtiyaç duydukları ölçütlere dikkat etmelidir.
Scrum geliştirme için çeşitli ölçütler önerilir. Önemli ölçütler -
Ratio of Successful Sprints - (Number of successful Sprints / Total number of Sprints) * 100. Başarılı bir Sprint, Takımın taahhüdünü yerine getirebileceği bir sprinttir.
Velocity- Bir takımın Hızı, bir takımın bir sprint sırasında kazandığı Hikaye Puanı miktarına bağlıdır. Hikaye Puanları, tahmin sırasında sayılan Kullanıcı Hikayelerinin ölçüsüdür.
Focus Factor - (Velocity / Team’s Work Capacity) / 100. Odak Faktörü, ekibin bitmiş hikayelerle sonuçlanan çabasının yüzdesidir.
Estimation Accuracy - (Estimated effort / Actual effort) / 100. Tahmin Doğruluğu, Takımın çabayı doğru bir şekilde tahmin etme yeteneğidir.
Sprint Burndown- Kalan Vs. olan iş (Hikaye Puanı veya saat cinsinden) İdeal olarak Kalması gereken iş (Tahmine göre).
Daha fazlaysa, Takım yapabileceğinden daha fazla İşe girmiş demektir.
Daha azsa, Takımın doğru Tahmin yapmadığı anlamına gelir.
Defect Count- Bir Sprint'teki kusur sayısı. Kusur sayısı, biriktirme listesi ile karşılaştırıldığında yazılımdaki kusurların miktarıdır.
Severity of Defects- Kusurlar ciddiyetlerine göre küçük, büyük ve kritik olarak kategorize edilebilir. Test uzmanları kategorilendirmeyi tanımlayabilir.
Sprint Retrospektifleri
Sprint Retrospektiflerinde tüm ekip üyeleri katılacaktır. Paylaşırlar -
- İyi giden şeyler
- Metrics
- İyileştirme kapsamı
- Uygulanacak eylem öğeleri