Test Olgunluk Modelinin (TMMI) Agile ve Test Süreçleri
ile Bütünleştirilmesi
Ahmet Unudulmaz1 , Özgür Cingiz2, Oya Kalıpsız3 1,3 Yıldız Teknik Üniversitesi, İstanbul, Türkiye
[email protected], [email protected]
2 Bursa Teknik Üniversitesi, İstanbul, Türkiye
Özet. Test Olgunluk Modeli (TMMI) test süreçlerini iyileştirmek için kullanılan
belirli seviyeleri olan bir mimari modeldir. Bu yaklaşımın test süreçlerine entegre edilmesiyle birlikte proje ve ürün kalitesi üzerinde olumlu etkileri olmakta, test eforunu ise düşürmektedir. Bu pozitif etkilerinin yanında TMMI uygulamak do-kümantasyon açısından ağır bir yük getirmektedir. TMMI ve Scrum pratikleri bir arada kullanılarak hem test kalitesi arttırılabilir hem de mevcut olan bu doküman maliyeti azaltılabilir. Bu bildiride agile yazılım geliştirme metodolojisi ve test pratiklerinin TMMI Seviye – 2 ile entegrasyonu ele alınmıştır. TMMI Seviye – 2 alt adımları olan test politikası, test stratejisi, test planlama, test izleme ve kont-rol etme, test tasarım ve test çalıştırma adımlarının hem agile pratikleri hem de bazı test pratikleri ile (Risk bazlı test teknikleri, Kullanıcı Senaryo test teknikleri) birlikte kullanılması üzerine çalışma yapılacaktır. TMMI kapsam yüzde oranları da proje sonunda belirtilerek projelere nasıl uyarlanacağından bahsedilecektir.
Anahtar Kelimeler: TMMI, Agile ve TMMI, Test Politikası, Test Stratejisi,
Test Planlama, Test Tasarım.
Test Maturity Model Integration (TMMI) Level Two
Implementation with Agile and Software Test Process
Ahmet Unudulmaz1 , Özgür Cingiz2, Oya Kalıpsız3
1,3 Yıldız Teknik Üniversitesi, İstanbul, Türkiye
[email protected], [email protected]
2 Bursa Teknik Üniversitesi, İstanbul, Türkiye
Abstract. TMMI has a staged architecture and detailed model for process
imp-rovement. Appliying this approach has a positive impact on project and product
quality and test effort. Besides positive impact, TMMI contains heavy documen-tation. Appliying scrum practice with TMMI can reduce the documentation and improve test process quality by applying both of them. In this paper agile and testing practices are mapped with TMMI Level – 2 Managed step. Test Policy and Strategy, Test Plannig, Test Monitoring and Control, Test Design and Execu-tion and Test Environment areas are discussed and matched with not only scrum practice but also some test practice (Risk Based Testing, Use Case Testing). In the end TMMI coverage percentage will be given and Improvements areas will be defined. This model also can be adapted for every project which is using agile and scrum practice.
Keywords: TMMI, Managed, Agile with TMMI, Test Policy, Test Strategy,
Test Plan, Test Design.
1
Giriş
Çevik süreç manifestosunda da yer aldığı üzere bu metodolojinin temelinde süreçler ve araçlardan ziyade bireyler ve etkileşimlere, kapsamlı dokümantasyondan ziyade çalışan yazılıma, sözleşme pazarlıklarından ziyade müşteri ile iş birliği ön plana çıkmıştır [1,2]. Çevik süreç testleri gereksinimlerin dinamik olarak değişebileceği, müşterinin de yazı-lım geliştirme ve test süreçlerine dahil olabildiği iteratif yazıyazı-lım geliştirme metodu içinde yer alan süreçlerdir. Test fazı projenin başlangıç aşamasından bitiş anına kadar ele alınması gereken ve yazılımcı ile testçinin arasındaki entegrasyonu sağlayan süreç-leri kapsamalıdır. Kalite bağlamında bakıldığında ise test yükü ve test aktivitesüreç-leri pro-jeler için anahtar alanları oluşturmaktadır. Fakat günümüzde çevik süreç konseptleri kullanan projelerde genel olarak test süreçleri ihmal edilmekte, testler ve sonuçları ta-kip edilmemekte ve test anlamında herhangi bir süreç geliştirme modeli veya test kon-septi kullanılmakta veya daha az kullanılmaktadır. Çevik süreçler içinde bu eksiği ka-patmak adına Test Olgunluk Modelinin (TMMI) uyarlanması amaçlanmıştır. Projelere TMMI uyarlandığında proje ve ürün kaliteleri üzerinde pozitif etki yarattığı, test süreç-lerinin iyileştiği ve test yükü ve eforunun azaldığı bilinmektedir [3,4]. Bu faydalarının yanında TMMI ile birlikte ek olarak dokümantasyon ve limitasyon yükü de gelmekte-dir. Çevik süreçler ile birlikte kullanıldığında ise bu dokümantasyon yükünden kurtu-lunacağını ve süreçlerdeki eksik test yapısının da bu şekilde kapatılabilineceği düşü-nüldüğü için bu çalışma yapılmıştır.
Test olgunluk modelinin (TMMI) çevik süreçlerle entegrasyonu için ilk aşama ola-rak ikinci seviye ele alınmıştır. Seviye iki altındaki adımlara bakıldığında test politikası, test stratejisi, test planlama, test izleme ve kontrol etme, test tasarım ve çalıştırma ve test ortamı konuları bu çalışma kapsamında ele alınacak olup detayları ve çevik süreç-lerle olan entegrasyonu anlatılacaktır. Uygulanabilir olan alanlar, yarı uygulanabilir alanlar belirtilecek, hiç uyarlanamayan alanlar özellikle belirtilerek çevik süreçlerle TMMI entegrasyonunun yapılıp yapılamayacağı üzerinde tartışılacaktır. TMMI seviye iki ve çevik süreç ve scrum pratikleri tartışılırken risk bazlı test teknikleri ve kullanıcı senaryo test teknikleri de gene bu çalışma kapsamında ele alınacak olup ilişkilendirme sürecinde bu kavramalara da yer verilecektir.
2
İlgili Çalışmalar
Malardalen üniversitesinde yazılım test süreç iyileştirme modelleri üzerine bir literatür taraması yapmışlar. 18 farklı test iyileştirme süreci incelenmiştir. Bu tarama sonrasında ise 5 model detaylandırılmıştır: TMM, TMMI, TPI Next, Test Spice, TPI Next. Çalış-manın ikinci aşamasında ise TPI Next ve TMMi modellerinin birbirleriyle olan farkları üzerine odaklanmışlardır. Buna göre bu iki model üzerindeki temel farklar ise model temsilleri üzerinedir. TMMi aşamalı bir model sunarken TPI Next ise sürekli bir model sunmaktadır [3].
Hacettepe üniversitesinde yapılan çalışmada ise gene Malardalen üniversitesinde ya-pılan çalışmaya paralel olarak test süreç iyileştirme modelleri üzerinde bir literatür ta-raması yapılmıştır. Tarama genelinde test olgunluk modeli (TMA) ile test süreç iyileş-tirme (TPI) bazlı modeller karşılaştırılmıştır. Toplamda 58 farklı süreç iyileşiyileş-tirme mo-deli kullanılmıştır [4].
TMMI vakfı tarafından yayınlanan dokümanlara göre TMMI seviyeleri bazında hangi alt alanların çevik süreçler ile uyumlu olduğunu belirtilmiştir. Buna göre seviye iki bazında test politikası ve test stratejisi, test planlama, test izleme, test dizayn ve koşum ve test ortam adımlarının büyük oranda çevik süreçlere uyarlanabilir olduğunu bildirmişlerdir [5,6].
Helwan üniversitesinde yapılan çalışmada ise scrum pratikleri ile TMMI ikinci se-viyesinin adreslenmesi ve projedeki performans ve kalite faktörleri üzerine bir çalışma yapmışlar. Bu çalışmaya göre bütün test alt alanları scrum pratikleriyle eşleşmiştir. Test konfigürasyon kısmında ise %90 oranında eşleşmeyen veya yarı uygulanabilir alan bul-muşlardır [7].
3
Metodoloji
Bildiri kapsamında TMMI Seviye 2 ile çevik süreç ve test süreçlerinin entegrasyonu amaçlanmaktadır. Bütün alt alanlar ayrı ayrı ele alınarak çevik süreçlerle eşleşme du-rumları ele alınacaktır [6,7]. Çevik süreçlerle beraber risk bazlı test teknikleri ve kulla-nıcı senaryo test tekniklerinin de TMMI ile entegrasyonuna bakılacak ve değerlendir-meler buna göre yapılacaktır. Tablo 1’de de belirtildiği üzere eğer TMMI pratiği çevik süreç ve test süreç pratiği ile gerçeklenebiliyorsa “Evet uygulanır (E)”, bazı alanlar uy-gulanır bazı alanlar uygulanamıyorsa yani çevik süreçlere tam anlamıyla uygun değil ama bazı pratiklerle gerçeklenebiliyorsa “Yarı uygulanır (Y)”, eğer hiçbir pratikle eş-leştirilemez ise “Hayır uygulanamaz (H)” seviyeleri ile eşleştirilecektir.
Tablo 1. Eşleştirme Kriterleri
Açıklama Kriter
Pratik uygulanabilir Evet uygulanır (E) Pratik yarı
uygulana-bilir
Yarı Uygulanır (Y)
Yapılacak çalışma kapsamında aşağıda belirtilen TMMI alt alanları ele alınacaktır [5]: • Test politikası ve test stratejisi
o Test politikası kurmak o Test stratejisi kurmak
o Test performans göstergesi kurmak • Test planlama
o Risk değerlendirmesi yapmak o Test yaklaşımı geliştirmek o Test tahmininde bulunmak o Test planlaması geliştirmek o Test planına bağlı kalmak • Test izleme ve kontrol
o Plan kapsamında test ilerlemesinin izlenmesi
o Plan ve beklentiler kapsamında ürün kalitesinin izlenmesi o Kapatmak için düzenleyici aktivitelerin yönetimi
• Test tasarım ve çalıştırma
o Test tasarım teknikleri kullanarak test analiz ve tasarımın gerçekle-mesi
o Test implementasyonunun gerçeklemesi o Test koşumunun gerçeklemesi
o Kapanış için test hatalarının yönetimi • Test ortamı
o Test ortamı gereksinimlerinin geliştirilmesi o Test ortamı implementasyonunu yapılması o Test ortamının kontrolü ve yönetilmesi
3.1 Test Politikası ve Test Stratejisi
TMMI ikinci seviyesinin ilk adımı olan test politikası ve test stratejisinin temel amacı test politikasının tanımlanması, organizasyon genelinde test stratejisinin ve test tipleri-nin belirlenmesidir. Ayrıca test performansının ölçümü içinde test performans göster-geleri belirlenmeli ve geliştirilmelidir [6].
Tablo 2’de de görüleceği üzere test politikası, test stratejisi ve test performans göster-gelerinin çevik süreçler ve test süreçleriyle eşleştirilmesi gösterilmiştir.
Tablo 2. Test Politikası ve Test Stratejisi
Adım TMMI Pratikleri Çevik Süreç ve Test Pratikleri Eşleştirme 1.1 – Test
Politi-kası
Test hedefi belirleme Sprint planlama toplantıları E
1.2 – Test Politi-kası
Test politikası belir-leme
Projeye başlanmadan önce test politi-kasının belirlenmesi (Testin tanımı & Kalite seviyeleri)
E
1.3 – Test Politi-kası
Paydaşlarla test politi-kasının paylaşılması
Sürüm planlama toplantılarında bu bilginin paylaşılması gerekmekte. Fa-kat çevik süreç kullanan projelerde aynı süreç her zaman kullanılma-makta ve paydaşlar dahil edilmemek-tedir. Y 2.1 – Test Strate-jisi Risk değerlendirmesi-nin gerçeklemesi
Risk bazlı test yaklaşımı
kullanıla-rak bu adım uyarlanabilir. Sadece çe-vik süreç kullanımı yeterli olmamak-tadır.
E
2.2 – Test Strate-jisi
Test stratejisi belirleme Projeye başlanmadan önce test strate-jisinin belirlenmesi ve her sprintte gözden geçirilmesi (Sorumluluklar & Araçlar & Riskler)
E
2.3 – Test Strate-jisi
Test stratejisinin pay-daşlarla paylaşılması
Sürüm planlama toplantılarında bu bilginin paylaşılması gerekmekte. Fa-kat çevik süreç kullanan projelerde aynı süreç her zaman kullanılma-makta ve paydaşlar dahil edilmemek-tedir.
Y
3.1 – Test Perf. Göstergesi
Test performans göster-gelerinin belirlenmesi
Sprint metrikleri tanımlanmalı, ilerle-menin ölçülmesi ve test kapsamının ölçülmesi metriklerinin kullanılması
E
3.2 – Test Perf. Göstergesi
Test performans göster-gelerinin geliştirilmesi
Test performans araçlarının projeye entegre edilmesi ve her sprinte bu bil-ginin güncellenmesi gerekmektedir
E
3.2 Test Planlama
Test planlama aşamasının temel amacı belirlenmiş olan riskler ve test stratejisi özelinde bir test yaklaşımı kullanmak, iyi planlanmış yönetilebilir bir test planı sayesinde de test aktivitelerini gerçekleştirebilmektir. Buradaki anahtar alan ileriyi düşünerek test planı oluşturmaktır [6].
Tablo 3’de görüleceği üzere risk tahmini, test yaklaşımları, test süre belirleme, test planı ve plana taahhütler yer almaktadır. Bu alanların çevik süreçler ve risk bazlı test teknikleri ile ilişkilendirilmesinden bahsedilecektir.
Tablo 3. Test Planlama
Adım TMMI Pratikleri Çevik Süreç ve Test Pratikleri Eşleştirme 1.1 – Risk
De-ğerlendirme
Ürün risk kategori ve parametrelerinin belir-lenmesi
Risk bazlı test yaklaşımı
kullanıla-rak risk kategorileri ve test hedefleri belirlenebilir E 1.2 – Risk De-ğerlendirme Ürün risklerinin belir-lenmesi
Ürün risklerini belirlemek için risk
bazlı test yaklaşımı kullanılabilir
(Nasıl test yapılacak, bağımlılıklar, etkilenen alt sistemler vb.)
E
1.3 – Risk De-ğerlendirme
Ürün risk analizi Risk bazlı test yaklaşımı kullanıla-rak risk olasılıkları, etki değerleri kul-lanılarak ürün riskleri analiz edilebilir
E
2.1 – Test Yakla-şımı
Test edilecek özellikle-rin belirlenmesi
Risk bazlı test yaklaşımı
kullanıla-rak test öncelik numarası belirlenebi-lir. Yüksek önceliğe sahip riskler ilk olarak test edilir.
E
2.2 – Test Yakla-şımı
Test yaklaşımının belir-lenmesi
Test yaklaşımı takım planlama & arıtma toplantılarında belirlenir (Her bir iş maddesi için test seviyesi ve test adımı belirlenir)
E
2.3 – Test Yakla-şımı
Girdi kriterinin belir-lenmesi
Girdi kriterleri takım arıtma toplantı-larında her bir iş maddesi için belirle-nir E 2.4 – Test Yakla-şımı Çıkış kriterinin belir-lenmesi
Tamamlanmanın tanımı (DoD) bu kriter için kullanılır
E
2.5 – Test Yakla-şımı
Askıya alma ve yeni-den başlama kriterleri-nin belirlenmesi
Günlük standup toplantılarında prob-lemli alanlar konuşulmakta fakat scrum içinde askıya alma ve yeniden başlama kriterleri bulunmamaktadır.
H
3.1 - Test Tah-mini
Üst seviye kırılım yapı-sının kurulması
Asgari pazarlanabilir ürünlerin (MMF) tanımlanması ve ürün rezerv-lerine eklenmesi (PBI) sprint plan-lama ve arıtma toplantılarında ele alı-nır. E 3.2 - Test Tah-mini Test yaşam döngüsü-nün belirlenmesi
Test yaşam döngüsü proje yaşam döngüsü ile ilişkilendirilir.
E
3.3 – Test Tah-mini
Test eforu ve maliyetle-rin kestirimi
Kullanıcı senaryoları puanlama ve t-shirt boyutu hesaplama gibi
ler kullanılarak sprint planlama top-lantılarında test eforu ve maliyetleri belirlenir.
4.1 - Test Plan-lama
Test zamanlamasının belirlenmesi
Sprint planlama aktivitesinde test eforu tahminleme üzerinden zaman-lama çıkarımı yapılmaktadır.
E
4.2- Test Plan-lama
Test yapacak kişilerin planlanması
Sprint & takım planlama toplantıla-rında scrum ekiplerinde test yapacak kişiler ve harcayacakları efor belir-lenmektedir.
E
4.3- Test Plan-lama
Paydaşların dahil olma-sının planlanması
Paydaşların bütün scrum aktivitele-rine dahil olmasının sağlanması ge-rekmektedir. Bunun için bütün proje-ler düşünüldüğünde yarı uygulanır olarak işaretlenmiştir.
Y
4.4 – Test Plan-lama
Proje risklerinin belir-lenmesi
Risk bazlı test yaklaşımı kullanılarak proje paydaşlarının katıldığı toplan-tıda riskler belirlenir.
E
4.5- Test Plan-lama
Test planını belirlemek Test planı sprint planlaması içinde ele alınmaktadır.
E
5.1 – Test Plan-lamasına Uyum
Test planını gözden ge-çirmek
Günlük scrum toplantılarında test planı gözden geçirilmekte ve gere-kirse değiştirilmektedir. E 5.2- Test Planla-masına Uyum İş ve kaynak seviyeleri-nin uzlaştırılması Günlük scrum toplantılarında bu konu konuşmaktadır. Fakat kaynak seviyeleri ile ilgili ayrı bir toplantı yoktur.
Y
5.3- Test Planla-masına Uyum
Test plan taahhütlerinin sağlanması
Scrum master işlerin taahüte uygun yapılıp yapılmadığını, DoD’a uygun olduğundan emin olmaktadır.
E
3.3 Test İzleme ve Kontrol
Test izleme ve kontrol aşamasında ise test ilerlemesinin ve ürün kalitesinin izlenebil-mesi ve bu sürecin anlaşılabilizlenebil-mesi amaçlanmaktadır. Bu sayede ürün kalitesinde ve planlama aşamasındaki beklentiler karşılanabilir, düzenleyici aksiyonlar gene bu sü-reçte alınarak kalite istenen seviye getirilebilir [6].
Tablo 4’de görüleceği üzere test ilerlemesinin izlenmesi, ürün kalitesinin izlenmesi, düzenleyici önlemlerin alınma aşamaları çevik süreçler ve test yöntemleriyle ilişkilen-dirilmiştir.
Tablo 4. Test İzleme ve Kontrol
Adım TMMI Pratikleri Çevik Süreç ve Test Pratikleri Eşleştirme 1.1 – Test
ilerle-mesinin izlen-mesi
Test planlama paramet-relerinin izlenmesi
Sprint tahtaları ve online çözümler kullanılarak scrum pratikleri ile takip edilmektedir. E 1.2- Test ilerle-mesinin izlen-mesi Sağlanan ve kullanılan test ortam kaynakları-nın izlenmesi
Test ortam kaynakları otomatik araç-lar kullanıaraç-larak izlenmektedir. İnsan kaynağı da sprint tahtası ile izlenmek-tedir.
E
1.3- Test ilerle-mesinin izlen-mesi
Test taahhütlerinin iz-lenmesi
Test taahhütleri, takım taahhütleri ile birlikte günlük scrum toplantılarında ve değerlendirme toplantılarında kontrol edilmektedir. E 1.4- Test ilerle-mesinin izlen-mesi
Proje risklerinin izlen-mesi
Proje riskleri test otomasyon yakla-şımı sayesinde belirli periyotlarla kontrol edilmektedir. E 1.5- Test ilerle-mesinin izlen-mesi Paydaşlarının katılımı-nın monitör edilmesi
Paydaşların günlük scrum & plan-lama & inceleme ve arıtma toplantıla-rına katılımı herhangi bir scrum pren-sibi ile değil manuel olarak kontrol edilmektedir.
Y
1.6- Test ilerle-mesinin izlen-mesi
Test ilerlemesinin ince-lemesi
Günlük scrum ve gözden geçirme toplantıları ile kontrol edilmektedir.
E
1.7- Test ilerle-mesinin izlen-mesi
Test ilerlemesinin kilo-metre taşı bazında iler-lenmesi
Günlük scrum ve gözden geçirme toplantıları ile kontrol edilmektedir.
E
2.1 – Ürün kali-tesini izleme
Girdi kriterinin kontrol edilmesi
Günlük scrum toplantıları ile kontrol edilmektedir.
E
2.2 – Ürün kali-tesini izleme
Hataların izlenmesi Scrum tahtaları ve hata takip sistem-leri ile izlenmektedir. Günlük scrum toplantıları ile de kontrolü sağlan-maktadır. E 2.3 – Ürün kali-tesini izleme Ürün risklerinin izlen-mesi
Ürün riskleri otomatize edilen senar-yolar ile belirli periyotlarla kontrol edilmektedir. E 2.4 – Ürün kali-tesini izleme Çıkış kriterinin izlen-mesi
DoD’a uyum ile çıkış kriterleri izlen-mektedir fakat scrum pratikleri içinde kontrol çok sağlıklı yapılamamakta-dır.
Y
2.5 – Ürün kali-tesini izleme
Askıya alma ve devam etme kriterlerinin izlen-mesi
Günlük standup toplantılarında prob-lemli alanlar konuşulmakta fakat
scrum içinde askıya alma ve yeniden başlama kriterleri bulunmamaktadır. 2.6 – Ürün
kali-tesini izleme
Ürün kalitesinin ince-lenmesi
Scrum içinde sprint gözden geçirme-leri yapılmaktadır fakat ürün kalitesi için ayrı bir toplantı yapılmamaktadır.
H
2.7 – Ürün kali-tesini izleme
Ürün kalitesinin kilo-metre taşı bazında ince-lenmesi
Scrum içinde ürün kalite kilometre taşı bazında inceleme yapılmamakta-dır H 3.1 – Kapama aşaması için dü-zenleyici aktivi-teler
Problem analizi Sprint gözden geçirme ve günlük scrum toplantılarında problem analizi yapılmaktadır. E 3.2- Kapama aşaması için dü-zenleyici aktivi-teler Düzeltici aksiyonların alınması
Scrum içinde geçmişe yönelik toplan-tılar ile düzeltici aksiyonlar alınmak-tadır. E 3.3- Kapama aşaması için dü-zenleyici aktivi-teler Düzeltici aksiyonların yönetimi
Scrum master öncülüğünde düzeltici aksiyonlar yönetilmektedir.
E
3.4 Test Tasarım ve Çalıştırma
Test tasarımı ve çalıştırma aşamasında ise test tasarım teknikleri kullanılarak, yapısal olarak testlerin çalıştırması sağlanıp test ilerleme kapasitesini arttırabilmektir. Bu sa-yede bu sevisa-yede ilgili hatalar bulunabilir ve raporlanarak bir sonraki aşamaya geçile-bilir [6].
Tablo 5’de görüleceği üzere test analiz ve tasarım, test implementasyonu, test ko-şumu ve hataların raporlanması aşamaları çevik süreçler ve test süreçleri ile ilişkilen-dirilmiştir.
Tablo 5. Test Tasarım ve Çalıştırma
Adım TMMI Pratikleri Çevik Süreç ve Test Pratikleri Eşleştirme 1.1- Test Analiz
ve Tasarım
Test durumlarının ön-celiklendirilmesi
Risk bazlı test tekniği kullanılarak testler önceliklendirilmektedir. E 1.2- Test Analiz ve Tasarım Test senaryolarının ön-celiklendirilmesi
Risk bazlı test tekniği kullanılarak testler önceliklendirilmektedir.
E
1.3- Test Analiz ve Tasarım
Gerekli test verilerinin belirlenmesi
Her proje için test verisi gerekli ol-mamaktadır.
Y
1.4- Test Analiz ve Tasarım
Gereksinimlerin yatay düzeyde takip edilebi-lirliği
Takip edilebilirlik matrisi kullanılabi-lir.
2.1- Test İmple-mentasyonu
Test prosedürlerinin geliştirilmesi ve önce-liklendirilmesi
Kullanıcı senaryo test tekniği
kulla-nılarak test prosedürleri ortaya çıkarı-labilir
E
2.2- Test İmple-mentasyonu
Spesifik test verisinin yaratılması
Her proje için test verisi gerekli ol-mamaktadır.
Y
2.3- Test İmple-mentasyonu
Giriş test prosedürünün belirtilmesi
Kullanıcı senaryo test tekniği larak pozitif ve negatif testler kullanı-lır
E
2.4- Test İmple-mentasyonu
Test koşum zamanının geliştirilmesi
Sprint planlama ve takım planlama ile adreslenmiştir
E
3.1 – Test Çalış-tırma
Giriş testinin yapılması Birim ve bileşen testlerin otomatik koşturulması ile adreslenmektedir. 3.2- Test
Çalış-tırma
Test senaryolarının ko-şumu
Testlerin farklı seviyelerde koşturul-ması ile adreslenmektedir.
E
3.3- Test Çalış-tırma
Test bulgularının rapor-lanması
Hata takip sistemleri kullanılarak bul-gular raporlanabilir.
E
3.4- Test Çalış-tırma
Test çıktılarının yazıl-ması
Test otomasyon araçları kullanılarak çıktılar otomatik olarak depolanmak-tadır. Her test maddesi için anlamlı log bilgisi yazmak önemli olmaktadır.
E
4.1 – Kapama için test bulgula-rının yönetimi
Hataların dağılımının kontrol edilmesi
Hata takip sistemleri kontrol edilerek bunlar üzerinde modeller çıkarılmak-tadır. E 4.2- Kapama için test bulgularının yönetimi Hataların düzeltilmesi için düzeltici aksiyon-lar
Hataların düzeltilmesi için yeni iş planları yaratılarak scrum tahtası üze-rinden kontrol edilmektedir.
E
4.3- Kapama için test bulgularının yönetimi
Test hatalarının duru-munun takibi
Hataların durumunun kontrolü için hata takip sistemi ve scrum tahtaları kullanılmaktadır.
E
3.5 Test Ortamı
Test ortamının amacı ilgili test verilerini içererek testlerin düzgün bir şekilde ve tekrarlı bir şekilde çalıştırılabilmesini sağlamaktır. Burada sadece test teknikleri ve çevik süreç yeterli olmamaktadır [6].
Tablo 6’da test ortamının gerçeklemesi, test ortam implementasyonunun gerçeklen-mesi, test ortamının kontrol ve yönetimi çevik süreçlerle adreslenmeye çalışılmıştır. Tablo 6’da birçok alan sadece çevik süreçler kullanılarak TMMI seviye iki ile direkt olarak adresleyememiştir. Burada yazılım operasyon yaklaşımlarını da sürece dahil et-mek gereket-mektedir. Bu çalışma kapsamında sadece çevik süreçler ve test süreçleri da-hil edildiği için diğer alt adımlarda olduğu gibi yüksek bir kapsama çıkmamaktadır.
Tablo 6. Test Ortamı
Adım TMMI Pratikleri Çevik Süreç ve Test Pratikleri Eşleştirme 1.1- Test ortam
gereksinimleri-nin geliştirilmesi
Test ortam gereksinim-lerinin ortaya çıkarımı
Sprint planlama ve arıtma toplantıları ile gereksinimler ortaya çıkarılır
E
1.2- Test ortam gereksinimleri-nin geliştirilmesi
Test ortam gereksinim-lerinin geliştirilmesi
Sprint planlama ve arıtma toplantıları ile gereksinimler geliştirilir
E
1.3- Test ortam gereksinimleri-nin geliştirilmesi
Test ortam gereksinim-lerinin analiz edilmesi
Test mimarı veya test yöneticisi ge-reksinimlerin analizinden sorumlu-dur. H 2.1 – Test ortam implementasyo-nunun gerçekle-mesi
Test ortamlarının imp-lementasyonu
Test ortamının implementasyonundan sprint günleri dahilinde takımlardaki testçiler sorumludur. E 2.2- Test ortam implementasyo-nunun gerçek-lenmesi
Kapsamlı test verisinin yaratılması
Bütün projeler için test verisine ihti-yaç duyulmamaktadır. Y 2.3- Test ortam implementasyo-nunun gerçek-lenmesi
Giriş test prosedürleri-nin test ortamına uyar-lanması
Giriş test prosedürleri scrum pratik-leri ile adreslenememektedir.
H
2.4- Test ortam implementasyo-nunun gerçek-lenmesi
Test ortamı için giriş testlerinin gerçeklen-mesi
Scrum pratikleri içinde test ortamı için giriş testleri adreslenememekte-dir. H 3.1 – Test orta-mının kontrolü ve yönetimi Sistem yönetiminin gerçeklenmesi
Sistem yönetimi çevik süreçler ile ad-reslenememektedir. Yazılım operas-yon yaklaşımları kullanılmalıdır.
H
3.2- Test ortamı-nın kontrolü ve yönetimi
Test veri yönetiminin gerçeklenmesi
Bütün projeler için test verisine ihti-yaç duyulmamaktadır.
H
3.3- Test ortamı-nın kontrolü ve yönetimi
Test ortamının kullanı-labilir olduğunun gös-terilmesi
Test otomasyon sistemleri bu madde için kullanılabilir.
E
3.4- Test ortamı-nın kontrolü ve yönetimi
Test ortamını hataları-nın raporlanması ve yö-netimi
Hata takip ara yüzü ve scrum tahtaları bu madde için kullanılabilir.
E
4
Sonuçlar ve Öneriler
Yapılan çalışma kapsamında test olgunluk modeli (TMMI) seviye iki altında bulunan adımların çevik süreçler ile entegrasyonundan bahsedilmiştir.Toplamda 5 başlık altında
70 alt başlık incelenmiştir. Bunlardan 51 tanesi çevik süreçler, risk bazlı test yaklaşımı ve kullanıcı senaryo test yaklaşımı ile adreslenebilinmiştir. 9 tanesi ise herhangi bir scrum pratiği ile adreslenememiştir. 10 tanesi ise parçalı olarak scrum ve test pratikleri ile adreslenmiştir. Tek başına scrum bütün alt maddeleri adreslemek için yeterli gele-memektedir. Örneğin test ortamı alt maddesinde de bahsedildiği üzere yazılım operas-yon yaklaşımlarının da bu sürece dahil edilmesi gerekmektedir. TMMI kapsam yüzdesi %72,8 olacak şekilde belirlenmiştir.
Yapılan bu çalışma ileride yapılacak olan çalışmaların temelini oluşturmaktadır. Sonraki aşamalarda beş TMMI seviyesi çevik süreçler ve test süreçleriyle eşleştirilecek ve yeni bir model ortaya konacaktır. Test yaklaşımının ikinci plana itildiği süreçlerde bu yeni modeli kullanmak kalite ve test süreçleri anlamında da olumlu bir etki sağlaya-caktır. Oluşturulacak bu yeni modelle birlikte proje ve ürün kalitesinin ölçümü hedef-lenmektedir. Proje aşağıdaki metriklerle ölçülerek iyileştirilen alanlar TMMI öncesi ve sonrası ortaya konulacaktır [7]. Tahmin edilen ve gerçeklenen test eforu ve test mali-yeti, tahmin edilen ve gerçeklenen test senaryo sayısı, önceliklerine göre bulunan hata sayıları, toplam hata sayıları, hata bulma oranı, hata yoğunluğu, meslektaş değerlen-dirme kapsamı, kod kapsamı, gereksinim kapsamı, haftalık koşturulan test senaryoları metriklerinin detaylı ölçümü gerçekleştirilecektir.
İleride yapılacak çalışmalarda yukarıda bahsedilenlere ek olarak kapsam yüzdesini daha da yukarılara çıkarmak hedeflenmektedir. Bunun için çevik süreç pratiklerinin yanında farklı test pratikleri, yazılım operasyon yaklaşımları ve farklı test süreç iyileş-tirme modellerinin de kullanılması amaçlanmaktadır.
Kaynakça
1. Ken S., Jeff S.: The Definitive Guide to Scrum The Rules of the Game, The Scrum Guide (2017).
2. Kent B., Mike B., Arie v., Alistair C., Ward C., Martin F., James G., Agile manifeto, https://agilemanifesto.org/iso/tr/manifesto.html
3. Wasif A., Snehal A., Kerstin G., Richard T.: Software test process improvement approaches A systematic literature review and an industrial case study, The Journal of Systems and-Software, pp.1-33, Elsevier (2016)
4. Vahid G., Michael F., Tuna H.: Software test maturity assessment and test process impro-vement A multivocal literature review, Information and Software Technology, pp.16-42, Elsevier (2017)
5. TMMI Foundation, Test Maturity Model Integration (TMMI) Guidelines for Test Process Improvement,https://tmmi.org/tm6/wp-content/uploads/2018/11/TMMi-Framework-R1-2.pdf
6. TMMI Foundation, TMMI in the Agile World, Version 1.3, https://www.tmmi.org/tm6/wp-content/uploads/2019/07/TMMi-in-the-Agile-world-V1.3.pdf
7. Ahmed B., Enas M., Mahmoud A.: Towards Agile Implementation of Test Maturity Model Integration (TMMI) Level 2 using Scrum Practices, Interantional Jouranl of Advanced Com-puter Scienes and Applications Vol. 6 (2015)
8. Vahid G., Michael F., Tuna H.: What We Know about Software Test Maturity and Test Process Improvement, IEEE Computer Society (2018)