V-Modeli
V-Modeli
Test ve otomasyon arasındaki önemli ayrımı yaptıktan sonra, test konusuna daha ayrıntılı olarak dönüyoruz. Test genellikle yazılım yazıldıktan sonra yapılan bir şey olarak kabul edilir; ne de olsa argüman devam ediyor, var olmayan bir şeyi test edemezsiniz, değil mi? Bu fikir, testin yalnızca test yürütme, testlerin yürütülmesi olduğu varsayımını yapar. Elbette, gerçekten çalışan bir yazılıma sahip olmadan testler gerçekleştirilemez. Ancak test etkinlikleri, testleri yürütmekten daha fazlasını içerir.
Yazılım geliştirmenin V modeli, test faaliyetlerinin ne zaman yapılması gerektiğini gösterir. V-modcl, her geliştirme etkinliğinin karşılık gelen bir test etkinliğine sahip olduğunu gösterir. Her düzeydeki testler ilgili geliştirme faaliyetini uygular. Hangi yazılım yaşam döngüsü modeli kullanılırsa kullanılsın aynı ilkeler geçerlidir.
Örneğin, Hızlı Uygulama Geliştirme (RAD), bir dizi küçük Vs’dir. Basitleştirilmiş V modeli, dört geliştirme ve test etkinliği düzeyi gösterir. Farklı kuruluşların her aşama için farklı adları olabilir; Adı ne olursa olsun, soldaki her aşamanın sağda bir ortağı olması önemlidir.
V-modelinin başarılı bir şekilde uygulanması için en önemli faktör, test senaryolarının ne zaman tasarlanacağı konusudur. Test tasarım etkinliği, testlerin neye karşı tasarlandığına bakılmaksızın her zaman kusurları bulur.
Örneğin, kabul testi senaryoları tasarlamak gereksinimlerdeki kusurları bulur, sistem test senaryoları tasarlamak fonksiyonel spesifikasyondaki kusurları bulur, entegrasyon testi senaryoları tasarlamak tasarımdaki kusurları bulur ve birim test senaryoları tasarlamak koddaki kusurları bulur.
Test tasarımı mümkün olan en son ana kadar bırakılırsa, bu kusurlar yalnızca bu testlerin çalıştırılmasından hemen önce, onları düzeltmenin daha pahalı olduğu durumlarda bulunacaktır.
Test tasarımı, testler çalıştırılmadan hemen öncesine kadar beklemek zorunda değildir; bu testlerin dayandığı bilgiler elde edildikten sonra herhangi bir zamanda yapılabilir. O halde, kusurları bulmanın etkisi aslında yıkıcı olmaktan çok faydalıdır, çünkü kusurlar yayılmadan önce düzeltilebilir.
Elbette testler yazılım yazılmadan çalıştırılamaz, ancak erken yazılabilirler. Testler aslında yazım sıralarının tersi sırada yürütülür, örn. birim testleri en son yazılır ancak önce çalıştırılır.
V-Modeli nedir
v-model system engineering
Spiral model
V Model yazılım geliştirme
Yazılım geliştirme Modelleri
Yazılım süreç modelleri
V-model software development
Agile Yazılım süreç modelleri
Araç Desteği
Yazılım geliştirme yaşam döngüsünün her aşamasında test için araç desteği mevcuttur; Farklı araç türleri ve yaşam döngüsü içindeki konumları, geliştirme aşamaları için alternatif adlar kullanılarak gösterilmektedir.
Test tasarım araçları, test girdilerinin veya test verilerinin türetilmesine yardımcı olur. Mantıksal tasarım araçları, bir belirtimin mantığından, bir arabirimden veya koddan çalışır ve bazen test durumu üreteçleri olarak adlandırılır. Fiziksel tasarım araçları, mevcut verileri manipüle eder veya test verileri oluşturur.
Örneğin, bir veritabanından rastgele kayıtları çıkarabilen bir araç, fiziksel bir tasarım aracı olacaktır. Bir belirtimden test girdileri türetebilen bir araç, mantıksal bir tasarım aracı olacaktır. Mantıksal tasarım araçlarını daha ayrıntılı olarak tartışıyoruz.
Test yönetimi araçları, test planlamasına yardımcı olan, hangi testlerin yapıldığını takip eden vb. araçları içerir. Bu kategori aynı zamanda testlerin gereksinimlere, tasarımlara ve koda göre izlenebilirliğine yardımcı olacak araçların yanı sıra hata izleme araçlarını da içerir.
Statik analiz araçları, kodu çalıştırmadan analiz eder. Bu tür bir araç, belirli kusur türlerini başka herhangi bir yöntemle elde edilebileceğinden çok daha etkili ve ucuz bir şekilde tespit eder. Bu tür araçlar ayrıca kod için McCabe’nin döngüsel karmaşıklığı, Halstead ölçümleri ve çok daha fazlası gibi çeşitli ölçümleri hesaplar.
Kapsama araçları, test edilen yazılımın ne kadarının bir dizi test tarafından kullanıldığını değerlendirir. Kapsama araçları en yaygın olarak birim test düzeyinde kullanılır. Örneğin, şube kapsamı genellikle güvenlik açısından kritik veya güvenlikle ilgili sistemleri test etmek için bir gerekliliktir. Kapsama araçları, çağrı ağaçları gibi tasarım düzeyindeki yapıların kapsamını da ölçebilir.
Hata ayıklama testin bir parçası olmadığından, hata ayıklama araçları gerçekten test araçları değildir. (Test, kusurları tanımlar, hata ayıklama onları kaldırır ve bu nedenle bir test faaliyeti değil, bir geliştirme faaliyetidir.) Bununla birlikte, hata ayıklama araçları, özellikle düşük seviyeli bir kusuru izole etmeye çalışırken, testlerde sıklıkla kullanılır. Hata ayıklama araçları, geliştiricinin her seferinde bir talimat yürüterek ve veri konumlarının içeriğine bakarak kodda adım adım ilerlemesini sağlar.
Dinamik analiz araçları, yazılım çalışırken sistemi değerlendirir. Örneğin, bellek sızıntılarını tespit edebilen araçlar, dinamik analiz araçlarıdır.
Bir program gerektiğinde bellek bloklarını serbest bırakmazsa, bellek sızıntısı meydana gelir, bu nedenle blok, tüm programların kullanabileceği bellek blokları havuzundan ‘sızdı’. Sonunda, hatalı program tüm belleğe ‘sahip olur’; hiçbir şey çalışamaz, sistem “kilitlenir” ve yeniden başlatılması gerekir (korumalı olmayan mod işletim sisteminde).
Simülatörler, bir sistemin parçalarının gerçek dünyada mümkün olmayacak şekillerde test edilmesini sağlayan araçlardır. Örneğin, bir nükleer santral için eritme prosedürleri bir simülatörde test edilebilir.
Başka bir araç sınıfı, kapasite testi diyebileceğimiz şeyle ilgilidir. Performans testi araçları, çeşitli olaylar için geçen süreyi ölçer. Örneğin, tipik koşullar veya yük koşulları altında tepki sürelerini ölçebilirler. Yük testi araçları sistem trafiği oluşturur. Örneğin, tipik veya maksimum seviyeleri temsil eden bir dizi işlem oluşturabilirler. Bu tür bir araç, hacim ve stres testi için kullanılabilir.
Test yürütme ve karşılaştırma araçları, testlerin otomatik olarak yürütülmesini ve test sonuçlarının beklenen sonuçlarla karşılaştırılmasını sağlar. Bu araçlar, herhangi bir düzeyde test yürütmeye uygulanabilir: birim, entegrasyon, sistem veya kabul testi. Yakalama yeniden oynatma araçları, test yürütme ve karşılaştırma araçlarıdır. Bu, kullanılan en popüler test aracı türüdür ve bu çalışmanın odak noktasıdır.
Agile Yazılım süreç modelleri Spiral model V Model yazılım geliştirme V-model software development v-model system engineering V-Modeli nedir Yazılım geliştirme Modelleri Yazılım süreç modelleri