yazılım geliştirme süreçleri2
DESCRIPTION
TRANSCRIPT
![Page 1: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/1.jpg)
Mayıs 2007 Yazılım Mühendisliği Yönetimi 1
Yazılım MühendisliğiBölüm - 7
Yazılım Doğrulama ve Geçerleme
Yrd.Doç.Dr. Güray YILMAZ
![Page 2: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/2.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 2
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Giriş
Geliştirilecek bilgi sistemi yazılımın doğrulanması ve geçerlenmesi işlemi üretim süreci boyunca süren etkinliklerden oluşur. Bu etkinlikler; Her bir etkinlik sonunda alınan çıktıların tamam, doğru, açık
ve tutarlı olduğunun doğrulanması.
Her etkinlikte ürünün teknik yeterliliğinin değerlendirilmesi ve uygun çözüm elde edilene kadar aktivitelerin tekrarlanması.
Geliştirilen belirtimlerin önceki belirtimlerle karşılaştırılması.
Yazılım ürünlerinin tüm uygulanabilir gereklerinin sağlandığının gerçeklenmesi için sınamaların hazırlanıp yürütülmesi.
![Page 3: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/3.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 3
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Doğrulama vs Geçerleme
Doğrulama: Doğru ürünü mü üretiyoruz? Geçerleme: Ürünü doğru mu üretiyoruz?
Doğrulama ürünü kullanacak kişilerin isteklerinin karşılanıp karşılanmadığını test eden etkinliklerden,
Geçerleme ise ürünün içsel niteliğine ilişkin izleme ve denetim etkinliklerinden oluşur.
![Page 4: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/4.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 4
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Sınama Kavramları
Sınama ve Bütünleştirme işlemlerinin bir strateji içinde gerçekleştirilmesi, planlanması ve tekniklerinin seçilmesi gerekmektedir.
Sınama işlemleri dört ana sınıfta incelenebilir: Birim sınama Alt-sistem sınama Sistem sınama Kabul sınaması
![Page 5: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/5.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 5
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Birim Sınama
Bağlı oldukları diğer sistem unsurlarından tümüyle soyutlanmış olarak birimlerin doğru çalışmalarının belirlenmesi amacıyla yapılır.
![Page 6: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/6.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 6
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Alt-sistem Sınama
Alt-sistemler modüllerin bütünleştirilmeleri ile ortaya çıkarlar.
Yine bağımsız olarak sınamaları yapılmalıdır.
Bu aşamada en çok hata arayüzlerde bulunmaktadır. Bu yüzden arayüz hatalarına doğru yoğunlaşılmalıdır.
![Page 7: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/7.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 7
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Sistem Sınaması
Üst düzeyde, bileşenlerin sistem ile olan etkileşiminde çıkacak hatalar aranmaktadır.
Ayrıca, belirtilen ihtiyaçların doğru yorumlandıkları da sınanmalıdır.
![Page 8: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/8.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 8
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Kabul Sınaması
Çalıştırılmadan önce sistemin son sınamasıdır.
Artık, yapay veriler yerine gerçek veriler kullanılır.
Bu sınama türü alfa sınaması veya beta sınaması olarak ta bilinir.
![Page 9: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/9.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 9
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Alfa vs Beta Sınaması
Alfa Sınamada; sistemin geliştirildiği yerde kullanıcıların gelerek katkıda bulunması sistemi test etmesi amaçlanmaktadır.
Beta Sınamasında; kullanıcı, geliştirilen sistemi kendi yerleşkesinde, bir gözetmen eşliğinde yapar.
![Page 10: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/10.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 10
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Sınama (Devam)
Sınamalar, hatalardan kurtulmanın bir güvencesi değildir. Hatalardan bütünüyle arınıldığı gibi bir kanı elde edilmemelidir.
Ne kadar hata sıklığına erişildiğinde sınama işlemlerinin durdurulacağına, maliyet ve kalite arasında yapılacak bir en iyileme çalışması ile ulaşılır.
Yazılımın kritiklik düzeyine göre sınamaya ayrılan süre ve çaba artar.
![Page 11: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/11.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 11
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Doğrulama ve Geçerleme Yaşam Döngüsü Gerçekleştirim aşamasına kadar olan süreçlerde
doğrulama ve geçerleme işlemlerinin planlaması yapılır.
Planlama genellikle; alt-sistem, bütünleştirme, sistem ve kabul sınamalarının
tasarımlarını içerir.
Gerçekleştirim aşamasının sonunda ise söz konusu plan uygulanır.
![Page 12: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/12.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 12
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Sınama Yöntemleri
Her yazılım Mühendisliği ürünü iki yoldan sınanır:
Kara kutu testi (Black-Box testing ): Sistemin tümüne yönelik işlevlerin doğru yürütüldüğünün testidir. Sistem şartnamesinin gerekleri incelenir.
Beyaz Kutu Testi (White Box testing ): İç işlemlerin belirtimlere uygun olarak yürütüldüğünün bileşenler tabanında sınanmasıdır.
![Page 13: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/13.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 13
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Kara Kutu Testi
Ie
Input test data
OeOutput test results
System
Inputs causinganomalousbehaviour
Outputs which revealthe presence ofdefects
![Page 14: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/14.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 14
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Beyaz Kutu Testi
Bütün bağımsız yolların en az bir kez sınanması gerekir.
Bütün mantıksal karar noktalarında iki değişik karar için sınamalar yapılır.
Bütün döngülerin sınır değerlerinde sınanması
İç veri yapılarının denenmesi
![Page 15: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/15.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 15
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Beyaz Kutu Testi (2)
Componentcode
Testoutputs
Test data
DerivesTests
![Page 16: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/16.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 16
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Beyaz Kutu Testi (3)class BinSearch {public static void search ( int key, int [] elemArray, Result r ){ int bottom = 0 ;
int top = elemArray.length - 1 ;int mid ;r.found = false ;r.index = -1 ;while ( bottom <= top ){ mid = (top + bottom) / 2 ;
if (elemArray [mid] == key){ r.index = mid ;
r.found = true ;return ;
} // if partelse{ if (elemArray [mid] < key) bottom = mid + 1 ; else top = mid - 1 ; }} //while loop } // search } //BinSearch
![Page 17: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/17.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 17
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Beyaz Kutu Testi (4)
1
2
3
4
65
7
while bottom <= top
if (elemArray [mid] == key
(if (elemArray [mid]< key8
9
bottom > top
![Page 18: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/18.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 18
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Beyaz Kutu Testi (5) 1, 2, 3, 8, 9 1, 2, 3, 4, 6, 7, 2 1, 2, 3, 4, 5, 7, 2 1, 2, 3, 4, 6, 7, 2, 8, 9
Test değerleri bütün bu farklı path’lerin test edilmesini sağlayacak şekilde seçilmelidir.
![Page 19: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/19.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 19
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Beyaz Kutu Testi (5)
![Page 20: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/20.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 20
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Sınama ve Bütünleştirme Stratejileri
Genellikle Sınama Stratejisi, bütünleştirme stratejisi ile birlikte değerlendirilir.
Ancak bazı sınama stratejileri bütünleştirme dışındaki hataları hedefleyebilir.
Örneğin, yukarıdan-aşağı ve aşağıdan-yukarıya stratejileri bütünleştirme yöntemine bağlıdır.
![Page 21: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/21.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 21
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Yukarıdan Aşağıya Bütünleştirme
Yukarıdan-aşağıya bütünleştirmede önce sistemin üst düzeylerinin sınanması ve sonra aşağıya doğru olan düzeylere ilgili modülleri takılarak sınanması söz konusudur.
En üst noktadaki bileşen sınandıktan sonra alt düzeye geçilmelidir.
Alt bileşenler henüz hazırlanmamışlardır. Bu sebeple Koçanlar kullanılır. Koçan: Bir alt bileşenin, üst bileşen ile arayüzünü temin eden, fakat işlevsel olarak hiçbir şey yapmayan çerçeve programlardır.
![Page 22: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/22.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 22
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Yukarıdan Aşağıya Bütünleştirme (2)
İki temel Yaklaşım vardır:
Düzey Öncelikli Bütünleştirme: En üst düzeyden başlanır ve aynı düzeydeki birimler bütünleştirilir.
Derinlik Öncelikli Bütünleştirme: En üst düzeyden başlanır ve her dal soldan sağa olmak üzere ele alınır.
Örnek Şekil 7.6
![Page 23: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/23.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 23
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Yukarıdan Aşağıya Bütünleştirme (3)
Level 2Level 2Level 2Level 2
Level 1 Level 1Testing
sequence
Level 2stubs
Level 3stubs
. . .
![Page 24: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/24.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 24
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Aşağıdan Yukarıya Bütünleştirme
Önceki yöntemin tersine uygulama yapılır.
Önce en alt düzeydeki işçi birimler sınanır ve bir üst düzey ile sınanması gerektiğinde bu düzey bir sürücü ile temsil edilir.
Bu kez kodlama, bütünleştirme ve sınama, aşağı düzeylerden yukarı düzeylere doğru gelişir.
Örnek Şekil 7.7
![Page 25: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/25.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 25
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Aşağıdan Yukarıya Bütünleştirme (2)
Level NLevel NLevel NLevel NLevel N
Level N–1 Level N–1Level N–1
Testingsequence
Testdrivers
Testdrivers
![Page 26: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/26.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 26
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Yaşam Döngüsü Boyunca Sınama
SistemSınama Planı
Altsistem Sınama planları
• Modül Sınama Planı• Sınama Belirtimleri• Sınama Eğitim Klavuzu
•Modül Sınama•Bütünleştirici Sınama•Sınayıcı Eğitim
•Kullanıcı Sınaması•Sınama Raporları
P Ç T G K
P: Planlama Ç: Çözümleme T: Tasarım G: Gerçekleştirim K:Kurulum
![Page 27: Yazılım geliştirme süreçleri2](https://reader035.vdocuments.site/reader035/viewer/2022081413/548d4ae0b47959611d8b46e0/html5/thumbnails/27.jpg)
Bölüm – 7 Yazılım Doğrulama ve Geçerleme Yansı - 27
Yazılım Mühendisliği Yönetimi
Güray YILMAZ
Örnek Uygulama İncelemesi
Konu 7.9