Transcript 10. Hafta

1
Yazılım
Mimarileri
Dersi
2
Asagıdan
Yukarıya
Tümlestirme
3
Yazılım Mimarileri
Yazılım oluşturan birimlerin denetim
sıradüzeni içinde, birimler ya derinlik tabanlıya
da genişlik tabanlı olarak tümleştirilirler.
Önce ana denetim biriminin testi yapılır,
sonra ona en yakın düzeydeki birimlerden
biri ile beraber test yapılır.
4
Yazılım Mimarileri
Bir sonraki aşamada aynı düzeydeki bir başka
birimin testi yapılır; ya da aynı birimin bir alt
düzeydeki birimle tümleştirmesi ve testi yapılır.
Bu işlemler sırasında tümleştirmesi daha sonra
yapılacak olan birimin geçici olarak yerine
geçecek şekilde basit kod parçaları veya
sürücüler kullanılır.
5
Yazılım Mimarileri
Yukarıdan aşağı tümleştirme stratejisinin en
büyük sorunu geçici yazılım birimlerinin (stub)
uygun şekilde hazırlanmasıdır.
Gerekli tüm testleri yapabilmek için oldukça
yetenekli kod parçalarının geliştirilmesi
gereklidir. Bu nedenle yeterli veri giriş
çıkışını sağlayabilecek kod geliştirilmeli ya da
ayrıntılı testler sonraya ertelenmelidir.
6
Yukarıdan
Aşagıya
Tümlestirme
7
Yazılım Mimarileri
Alt düzey birimler birleştirilerek kümeler haline
getirilir.
Bu stratejide tümleştirme atomik birimlerin
çalıştırılıp test edilmesiyle başlar.
Bu küme, test, senaryosu gereğince
geliştirilen bir sürücü ana programla veri
giriş/çıkışı bakımından test edilir.
8
Yazılım Mimarileri
Benzer şekilde, diğer alt düzey birimlerde
kümeler halinde test edilir.
Daha sonra sürücü programlar ayrılarak yazılım
paketinin yapısı içerisinde bulunan bu kümelerin
birleştirilmesinden oluşan daha üst düzeyde yeni
kümeler meydana getirilir.
9
Yazılım Mimarileri
Bu kümeler de yine sürücü programlarla test edilir.
Bu şekilde en üstte bulunan ana birime kadar
ulaşılır.
Tümleştirme üst düzeylere doğru çıktıkça test
sürücülerine olan gereksinim azalır.
Bu stratejinin en büyük sorunu da tümleştirme
sonuçlanmadan önce ana yazılım paketini
oluşturmanın mümkün olmamasıdır.
10
Yazılım Mimarileri
Hangi stratejinin seçilecegi yazılımın özelligine
yazılım gelistirme deneyimlerine ve bazen de proje
planlamasına baglıdır.
11
Yeterlilik
Testleri
12
Yazılım Mimarileri
Yazılım yeterlilik (qualification) testi, çoğu
zaman doğrulama (verification) ve geçerleme
(validation) konusunun bir parçası olarak
degerlendirilir.
Tümleştirme testinden sonra yazılım büyük
ölçüde kusurlarından arındırılmış, ara
yüzleri dogru çalışır hale gelmiştir.
13
Yazılım Mimarileri
Bundan sonra bir dizi test daha yapılır. Işte
bunlar yeterlilik testleridir.
Çoğu zaman bu testlerin ne olduğu sorusu
akla gelir. En yaygın yanıt, müşterinin
umduğu şekilde çalışmanın saglanması ve
bunun gönderilmesidir.
Müşteriyi memnun edebilecek çalışma
şekli Sistem isterleri belirtimi belgesinde
tanımlanır.
14
Yazılım Mimarileri
Sistem özelliklerini tanımlayan bu belirtim
belgesi aynı zamanda geçerleme ilkelerini
anlatan bir bölüme sahiptir.
İşte bu bölümden test yordamları ve
senaryolar türetilir. Benzer şekilde, yazılım
isterleri de Yazılım İsterleri Belirtimi
belgesinde tanımlanır.
15
Dogrulama
16
Yazılım Mimarileri
Doğrulama (verifıcation), bir yazılım ürününün
belirli işlevleri doğru olarak
gerçekleştirdiğinden emin olmak için
yapılanların tümüne verilen addır.
17
Yazılım Mimarileri
Dogrulama sürecinde bu isler yapılmalıdır ;
Yazılım geliştirme süreci izlenirken belirlenen
isterler arasında uyumsuzluk varsa, üst düzey
isterden alt düzey isterin türetilmesi sırasında
bir hata yapılmışsa, sonuçta gerçekleştirimi
yapılan ürün asıl tanımlanan üründen farklı
olabilir.
18
Yazılım Mimarileri
Sözleşme Doğrulaması :
Geliştirici ile müşteri arasında yapılan
sözleşme aşağıdaki kıstaslara göre
doğrulanmalıdır.
Geliştirici tüm isterleri karşılayabileceği
güvenini vermektedir.
19
Yazılım Mimarileri
İsterler tutarlı olup kullanıcı gereksinimlerini
kapsamaktadır.
İsterlere yapılacak değişiklikleri ve ortaya
çıkabilecek problemleri kontrol edebilmek
üzere yordamlar öngörülmüştür.
Taraflar arasında, sahiplik, garanti, telif
hakları ve gizlilik gibi konuları da içerecek
şekilde işbirliği ve temas noktalan için
yordamlar öngörülmüştür.
20
Yazılım Mimarileri
Süreç Doğrulaması :
Süreç aşağıda listelenen kıstaslara göre
doğrulanmalıdır:
Proje planlamaları yeterli ve takvime
uygundur.
21
Yazılım Mimarileri
Proje için seçilen süreçler yeterlidir,
planlandığı şekilde yürütülmektedir ve
sözleşmeye uygundur.
Proje süreçleri için seçilmiş standartlar,
yordamlar ve ortamlar yeterlidir.
Proje personeli sağlanmış ve sözleşme
gereklerine göre eğitilmiştir.
22
Yazılım Mimarileri
İsterler Doğrulaması :
İsterler aşağıda belirtilen kıstaslara göre
doğrulanmalıdır.
Sistem isterleri tutarlı, gerçekleştirilebilir ve
test edilebilir durumdadırlar.
23
Yazılım Mimarileri
Sistem isterleri tasarım ölçütlerine uygun
şekilde donanım öğelerine, yazılımı öğelerine
ve el işlemlerine atanmıştır.
Yazılım isterleri tutarlı, gerçekleştirilebilir ve
test edilebilir durumda olup sistem
isterlerine uymaktadır.
Emniyet, güvenlik ve kritik durumlarla ilgili
yazılım isterleri doğrudur.
24
Yazılım Mimarileri
Tasarım Doğrulaması :
Tasarını aşağıda belirtilen kıstaslara göre
doğrulanmalıdır.
Tasarım isterlere göre tutarlıdır ve
izlenebilir durumdadır.
25
Yazılım Mimarileri
Tasarım, olayların, girdilerin, ara yüzlerin,
mantık akışının uygun dizilişlerini, zaman ve
büyüklük tahsislerini, hata tanımlarını, hataya
dayanıklılığı ve geri kazanmayı
gerçekleştirmektedir.
Seçilen tasarım isterlerden türetilebilmektedir.
Tasarım, emniyet, güvenlik ve diğer kritik
durumlarla ilgili isterleri gerçekleştirmektedir.
26
Yazılım Mimarileri
Kod Doğrulaması :
Yazılan kaynak kod aşağıda belirtilen
kıstaslara göre doğrulanmalıdır.
Kod tasarıma ve isterlere göre izlenebilir
türetilebilir ve test edilebilir.
27
Yazılım Mimarileri
Kod tasarım ve isterlere göre gerekirse yeniden
yazılabilir.
Kod, doğru ve kodlama standartlarına uygun
durumdadır.
Kod, emniyet, güvenlik ve diğer kritik
durumlarla ilgili isterleri gerçekleştirmektedir.
Kod, yazan kişiden başkası tarafından rahatça
okunabilir, anlaşılabilir.
28
Yazılım Mimarileri
Tümleştirme Doğrulaması :
Tümleştirme aşağıda belirtilen
kıstaslara göre doğrulanmalıdır.
Her yazılım öğesinin bileşenleri ve birimleri
öğeyle tam ve doğru olarak
tümleştirilmektedir.
29
Yazılım Mimarileri
Sistemin donanım öğeleri, yazılım öğeleri
ve el işlemleri sistemler tam ve doğru
olarak tümleştirilmektedir.
Tümleştirme işleri belirli bir tümleştirme
planına uygun olarak yapılmaktadır.
30
Yazılım Mimarileri
Belgelendirme Doğrulaması :
Belgelendirme aşağıda belirtilen kıstaslara göre
doğrulanmalıdır:
Belgelendirme yeterli, uygun, tanı, anlaşılabilir
ve tutarlıdır.
Belgelendirme hazırlıkları takvime uygundur;
bir gecikme nedeni olmaz.
31
Yazılım Mimarileri
Belgelerin düzenleşim yönetimi, sürüm, baskı
ve dağıtım denetimi belirlenmiş yordamlara
göre yapılmaktadır.
Belgeler gizlilik derecelerine uygun şekilde
saklanmaktadırlar.
32
Geçerleme
33
Yazılım Mimarileri
Geçerleme (validation), yani geçerli kılma ya da
sağlama, kullanıcı gereksinimleri karşılayan doğru
ürünün üretilip üretilmediğinin sınanmasıdır.
Geçerleme yazılımın doğru amaç için
geliştirildiğinin gerçek ortamda denenerek
doğruluğuna kanaat getirilmesi demektir.
Bunun yanında, yazılımın işlevleri kadar iç
özelliklerinin ve niteliğinin de arzu edilen düzeyde
olup olmadığının denetlenmesini içerir.
34
Yazılım Mimarileri
Geçerleme süreci iki etkinlik içerir. Süreç
gerçekleştirimi ve geçerleme. Bunlardan süreç
gerçekleştirimi sırasında, proje için
geçerlemenin gerekip gerekmediği ve ne kadar
bağımsız gruplarca yapılacağı belirlenir.
35
Yazılım Mimarileri
Geçerleme uygulanacak öğelerin, yapılacak
işlerin ve testlerin, özkaynakların,
sorumlulukların, takvimin ve raporlama
yordamlarının tanımlandığı bir geçerleme planı
hazırlanır ve uygulamaya konur.
36
Yazılım Mimarileri
Doğrulama işleminde ise, test isterleri, test
senaryoları, sonuçları değerlendirmek için test
belirtimleri hazırlanır.
Genellikle her test için üç sonuçtan biri elde
edilir: Başarı, kısmen başarı veya başarısızlık.
Tabii ki başarı durumu hem geliştirici hem de
müşteri için arzu edilen sonuçtur.
37
Yazılım Mimarileri
Kısmen başarı, belirlenen kusurların kısa
sürede giderilebilecek cinsten olması
durumunda geçerlidir.
38
Yazılım Mimarileri
Başarısızlık, belirlenen kusurlar belirtilen süre
içerisinde giderilemez.
39
Rastgele
Testler
40
Yazılım Mimarileri
Örneğin, çok miktarda kullanıcı girdisi gerektiren
bir yazılım, tüm işlevleri normal yapıyor olsa da,
oluşması son derece düşük bir olasılığa sahip tuş
kombinasyonlarından birinde hataya neden olabilir.
41
Yazılım Mimarileri
Kullanıcının belirli bir sırayı takip ederek veri
girişi yapması beklenirken, bir kullanıcının
değişik bir sıra takip etmesi sistemi olumsuz
etkileyebilir.
42
Yazılım Mimarileri
İşte böyle önceden tahmin edilemeyen
durumları gerçekleştirebilmek için yazılım test
personeli veya kullanıcılar sistem üzerinde
rasgele hareketlerle testler yapabilirler.
43
Yazılım Mimarileri
Yordamları resmi olarak tanımlanmış testlerden
başarıyla geçen pek çok sistem bu tür testlerde
başarısızlığa uğrayabilir.
Ancak, önemli olan, ortaya çıkması olası her
hatayı sistemi kullanıma vermeden önce
yakalamak ve gidermektir.
44
Sistem Testi
Yazılım Mimarileri
46
SISTEM TESTI
Yazılım hiçbir zaman kendi başına bir sistem
degildir. Sistemin ancak bir parçasıdır.
Yazılım Mimarileri
47
SISTEM TESTI
Her yazılım belli bir donanım üzerinde çalışır
bir takım alt sistemlerle tümleşir.
Topladığı bilgileri işleyerek sonuçları sergiler
yada doğrudan bir donanımı kumanda eder.
Yazılım Mimarileri
48
SISTEM TESTI
Hem yazılım hemde donanımı kapsayan bu
testlerin öncesinde de hata bulma ve sistemi
deneme amacıyla hazırlık testleri yapılır.
Testlerin şekilleri uygulama alanlarına göre
farklılık göstersede hem donanım hemde yazılım
bileşenlerini kapsayan sistem testleri
tümleştirme ve doğrulama amacıyla yapılır.
Yazılım Mimarileri
49
SISTEM TESTI
Özellikle büyük sistemlerde tümleştirme
testlerinde daha az hatayla karşılaşılır.
Sistem testleri sırasında karşılaşılan en büyük
sorun bir hata ortaya çıktığında sistemi
oluşturan bileşenlerin üreticilerinin birbirlerini
kusurlu üretimle suçlamaları hatanın
kendilerinde olmadığını savunmalarıdır.
Yazılım Mimarileri
50
SISTEM TESTI
Yazılım geliştirici kendi paketlerinin geliştirme
ortamında doğru çalıştığını savunurken
donanım bileşenlerinden birinin üreticisi
diğer bileşenin kendi çalışmasını etkilediğini
iddia edebilir.
Yazılım Mimarileri
51
SISTEM TESTI
Bu tür tartışmalar basit bir soketin yerine
oturmamış olmasının belirlenmesiyle
sonlanabilir veya karşılıklı suçlamalarla devam
edebilir.
Yazılım Mimarileri
52
SISTEM TESTI
Oysa kısır tartışmalar yerine yapılması gereken
donanım mühendisleri için tüm bağlantıları ve
donanımları kontrol etmek yazılım
mühendisleri içinde gerekli testleri yapmak ve
hata arama yollarına gitmektir.
Yazılım Mimarileri
53
SISTEM TESTI
Sistem düzeyindede çeşitli testler
yapılmıştır.
Bu testlerin neler olabilceğine bakalım ;
Yükleme Testi
Yazılım Mimarileri
55
YÜKLEME TESTI
Her bilgisayar sistemi belirli tür ve miktarda
veriyi işlemek ve bunlara göre başka veriler
üretmek üzere tasarlanır.
Gerçek zamanlı sistemler ve kontrol sistemleri
daha çok belirli kesmelere karşı bir işlem
yaparak belirli bir tepkide bulunurlar.
Yazılım Mimarileri
56
YÜKLEME TESTI
Veri tabanı yönetim sistemleri ise çok miktarda
veriyi saklamak , bunlar üzerinde sorgulama
yapma ve rapor üretme gibi işlevlerde yürütülür.
İşte bu tür yoğun veri akışına sahip sistemler için
yükleme testleri yapılır.(LOAD TEST)
Yazılım Mimarileri
57
YÜKLEME TESTI
Bu testler sistemin sınırlarını zorlayarak en
fazla ne kadar veri işleme kapasitesi olduğunu
belirlemek ve ne gibi sonuçlar sergileyeceğini
kontrol etmek amacıyla yapılır.
Germe Testi
Yazılım Mimarileri
59
GERME TESTI
Hatta bazı durumlarda isterlerde belirtilen
değerlerin de üzerine çıkılarak kaldırılabilecek
en fazla yükün ne olabileceği araştırılır.
Ancak bu testler herşeyin normal olduğu
durumlarda en ideal koşullarda yapılır.
Yazılım Mimarileri
60
GERME TESTI
Bir yazılım bileşeni tek başına test edildiğinde
normal çalışıyorken tümleştirildiği sistemin
diğer bileşenleriyle beraber normal çalışması
mümkün olmayabilir.
Bu kusurun bulunması ve düzeltilmesi
tümleştirme sırasında yapılabilir.
Yazılım Mimarileri
61
GERME TESTI
Birde normal olmayan koşullar
oluşturulduğunda hem yazılım hemde donanım
ne şekilde davranacağını görmek üzere germe
testleri yapılmalıdır.
Bu amaçla yapılabilecek testler şunlardır ;
Yazılım Mimarileri
62
GERME TESTI

Sistemi normal olmayan miktarda zorlamak
amacıyla yapılan testler ;
Yüksek hacim ve hızda veri girişi oluşturmak.
Yazılım Mimarileri
63
GERME TESTI
Beklenenden çok daha yüksek frekansta kesmeler
oluşturmak.
Beklenen ve kullanımdan çok daha fazla
bellek ve işlemci gücü gerektirecek durumlar
oluşturmak .
Yazılım Mimarileri
64
GERME TESTI


Sistem donanımlarının bir kısmının çökmesi
durumunda geri kalan bileşenlerin çalışmayı
sürdürebilme durumları testi.
Isletim sistemini zorlayarak çökertmeye yönelik
testler.
Yazılım Mimarileri
65
GERME TESTI

Sistemin kaldırabilecegi en fazla yük durumunda
ani etkilere verilecek tepki süresini ölçmek üzere
yapılan testler.
Geri Kazanma
Testi
Yazılım Mimarileri
67
GERI KAZANMA TESTI
Bilgisayar sistemlerinin çoğundan bir hata
durumunda kendini toplayarak tekrar çalışmaya
devam etmesi beklenir.
Donanım hatası oluştuğunda eger yedekleme
amaçlı fazladan donanım bulunuyorsa bu
donanım otomatik olarak devreye girebilir.
Yazılım Mimarileri
68
GERI KAZANMA TESTI
Bazı durumlarda donanım yedeklemesi
yanında yazılım yedeklemesi yapılır veya
hataya dayanıklı yazılım kullanılır.
Hataya dayalı yazılım ise herhangi bir
nedenle bütünüyle çökmemek üzere kendi
başlatılarak eski durumuna gelmesi
saglanır.
Yazılım Mimarileri
69
GERI KAZANMA TESTI
Bu yöntemlerle geri kazanma (recovery) belirli
bir süre içinde yapılmak zorundadır.
Aksi taktirde ekonomik kayıplar hatta can
kayıpları meydana gelebilir.
Yazılım Mimarileri
70
GERI KAZANMA TESTI
Geri kazanım testi öncesi yazılımın sonrada
donanımı çesitli olası sekillerde bilinçli bir sekilde
çökerterek sistemin kendini tekrar toplama
denenmesi, isterlerin dogrulanması amacıyla
yapılır.
Yazılım Mimarileri
71
GERI KAZANMA TESTI
Bu kapsamda genelde su testler yapılır ;
Çökme sırasında kaybolması olası verilerin
tekrar alınması veya üretilmesi .
Yedekli donanım mimarisinde asıl çalışan
donanımın devreden çıkarılması halinde yedek
donanım kesintisiz çalışmaya devam etmesi .
(hot swapping)
Emniyet Testi
Yazılım Mimarileri
73
EMNIYET TESTI
Bazı bilgisayarlı sistemler uygulama
özelliklerine göre emniyetli olarak çalışmak
zorundadır.
Örneğin önemli öz kaynakları denetleyen
sistemler sağlık alanındaki sistemler uçuş seyir
sistemleri askeri amaçlı sistemler geliştirilirken
mutlaka emniyet ön planda tutulmalıdır.
Yazılım Mimarileri
74
EMNIYET TESTI
Bir yazılım hatası nedeniyle o anda istenmeyen
bir durumun bir işin yapılmasını
engelleyebilmektedir.
Bu gibi durumlar önceden belirlenmeli ve
önlemler alınmalıdır bu amaçla su testler
yapılmalıdır ;
Yazılım Mimarileri
75
EMNIYET TESTI
Bir yazılım veya donanım kusuru oluştuğunda
sistemin yerine getirmesi gereken ana işlevde
tehlike oluşturabilecek durum oluşup
oluşmadığının testi.
Yazılım Mimarileri
76
EMNIYET TESTI
Uç noktalardaki emniyet gereksinimleri için
tasarım sırasında alınmış donanım veya yazılım
düzeneklerinin testi.(donanım kilidi özel
anahtar kullanımı , yazılımda şifre sorulması ,
merkezi kilit sistemi gibi )
Yazılım Mimarileri
77
EMNIYET TESTI
Bazı bilgisayarlar hassas veya çok özel bilgileri
islerler.
Örnegin bir banka yazılımı binlerce müsterinin
hesaplarını tutar .
Yazılım Mimarileri
78
EMNIYET TESTI
Bir sosyal güvenlik sistemi yazılımı yüzbinlerce
milyonlarca kisinin özel kayıtlarını tutar.
Bu amaçla bilgisayar saldırganları(hacker) veya
virüsler çok büyük tehlike olusturur.
Yazılım Mimarileri
79
EMNIYET TESTI
Bu tür tehlikelere açık olan sistemler için bu
güvenlik testleri yapılmalıdır ;
Şifrelerden başlayan ve her türlü giriş
yöntemini deneyen bir testçi tarafından
denenmesi .
Yetkisiz giriş denemelerini fark etme
girişimciyi bir tuzağa çekme , oyalama ve
kimliğini tespit etmeye yönelik testler.
Yazılım Mimarileri
80
EMNIYET TESTI
Uzman testçi kullanılarak sistemin zayıf
noktalarının kullanıma sunmadan önce
bulmaya yönelik gerçek ortamda fakat
kontrollü olarak yapılan testlerdir.
Normal olmayan bir girişin fark edilmesi ve
raporlama testi .
Başarım Testi
Yazılım Mimarileri
82
BASARIM TESTI
Her bilgisayar sistemi için en önemli genel
isteklerden biri başarım yani performanstır.
Yazılımın yürütme anındaki başarımı
geliştirme sırasında uygulanan tekniklere ve
tasarıma bağlı olduğu kadar üzerinde çalıştığı
donanıma da bağlıdır.
Yazılım Mimarileri
83
BASARIM TESTI
Ancak bütün olarak geliştirilen sistemlerin en
son başarımları özel olarak test edilmeli ve
uygulama alanının özelliklerine göre uygun bir
düzeyde tutulmaya çalışılmalıdır.
Bu isterlerin uygun bir şekilde karşılanıp
karşılanmadığını görmek için tümleştirilen
yazılım ve donanımın üzerinde başarım testleri
yapılır.
Yazılım Mimarileri
84
BASARIM TESTI
Başarım testleri bazen germe testleri ile beraber
yapılır.
Böyle durumları belirlemek ve başarım
derecesini ölçmek için çeşitli araç ve gereçler
kullanılır.
Yazılım Mimarileri
85
BASARIM TESTI
Örneğin bir verinin sisteme giriş anı ile çıkış
anı arasındaki zaman farkının ölçülmesi
toplam bilgi işleme yeteneğini ölçmek üzere
bilgi işleme öğelerinin sayılması gibi testler
yapılır.
Yazılım Mimarileri
86
BASARIM TESTI
Bu fonksiyon ile sistemin hangi yükte uygun
başarımla çalıştığı belirlenir ve daha fazla
yükte nasıl yavaşlacağı konusunda kullanıcı
uyarılır.
Kabul Testi
Yazılım Mimarileri
88
KABUL TESTI
Sistem testleri bilgisayar tabanlı sistemin bir
bütün olarak denenmesi verilen işlevleri
başarıyla yerine getirip getirmediginin test
edilmesi amacıyla yapılır.
Yazılım Mimarileri
89
KABUL TESTI
Sistemin büyüklüğü ve uygulama alanının
özelliği yapılacak sistem testlerinin genişliği
maliyeti ve süresini etkileyen en büyük
unsurlardır.
Sistemin kabulüne etki eden testler genellikle üç
aşamada gerçekleştirilir.
Üretim Hattı
Kullanım Hattı
Denemeler
Üretim Hattı
Yazılım Mimarileri
92
URETIM HATTI TESTI
Üretim hattı testleri üreticinin kendi tesislerinde
tanımlanmış bir test donanımı üzerinde
yazılımı yapay verilere sınamaya dayanır.
Yazılım Mimarileri
93
URETIM HATTI TESTI
Bazen bu testlere fabrika kabul testleri veya
fabrika yeterlilik testleri denir.
Örnek sistem olarak bir binanın ısıtma
sistemini ele alalım bu sistemde bulunan
ısı algılayıcıları ısıtıcıları ve
havalandırıcılar işletmen tarafından
ayarlanan sıcaklık değerini korumaya
çalışırlar.
Yazılım Mimarileri
94
URETIM HATTI TESTI
Özelliklede seri halde üretilen donanımlara
uygulanan bir test türüde ilk Örnek Kabul
Testidir.
Bu testi geçen donanım ögesi seri halde
üretilebilir demektir ve her birine ayrı ayrı
fabrika testi uygulanır.
Kullanım
Hattı Testi
Yazılım Mimarileri
96
KULLANIM HATTI TESTI
Sistemin kullanılacağı yerde gerçek donanıma
yüklenmiş yazılımla ve gerçek verilerle yapılan
sınamalara Kullanım Hattı Testleri diğer bir
değişle de Yerleşke Testleri denir.
Biraz önceki sıcaklık kontrol sistemi binaya
monte edildikten sonra elektriksel olarak tüm
bağlantıların doğru olarak yapıldığı test edilir.
Yazılım Mimarileri
97
KULLANIM HATTI TESTI
Burada Çalışmaya Hazırlık işlemleri yapılır.
Bu durumda sisteme elektrik verilir birimlerin
kendi başlarına çalıştığı görülür ve üzerlerine
yazılım yüklenerek sistemin çevre birimleriyle
iyi tümleştiği test edilir.
Yazılım Mimarileri
98
KULLANIM HATTI TESTI
Örneğin sıcaklık kontrolü yapılacak bina tam
olarak kullanıma açıldığında içeride bulunan
personelin aydınlatıcıların ve çalışan diğer
cihazların yaydığı ısı sürekli olarak
havalandırma sisteminin çalışmasını
gerektiriyor olabilir.
Yazılım Mimarileri
99
KULLANIM HATTI TESTI
Bu durumdaki sistem davranıslarını görmek
isterleri test etmek için bir sonraki asama olan
deneme testleri yapılır.
Deneme Testi
Yazılım Mimarileri
101
DENEME TESTI
Deneme testleri bir deyişle işletim testleri
uygulama alanında karşılaşılması olan
durumları gerçek koşullarda denemek için
kullanım sırasında gerçek verilerle yapılan
testlerdir.
Bu testlerde akla gelebilecek her türlü olağan
dışı durumun denenmesine çalışılır.
Yazılım Mimarileri
102
DENEME TESTI
Örnegimizdeki sıcaklık kontrol sisteminin
kullanım testi için ortam sıcaklığının
yükselmesi durumunda ısı ölçer algılaması
verileri sisteme göndermesi durumudur.
Yazılım Mimarileri
103
DENEME TESTI
Eger herhangi bir şekilde sorun varsa giderilir .
Alfa Ve Beta
Testi
Yazılım Mimarileri
105
ALFA VE BETA TESTI
Yazılım geliştiriciler eger uygulama alanına çok
hakim değillerse kullanıcı sistemi nasıl
kullanacağı hakkında fazla bir öngörüye sahip
olamayabilirler.
Kullanıcı kılavuzları yanlış anlamış olabilir giriş
verileri sistemi çökertecek bir değerde olabilir
veya sürekli olarak aynı tür hatalar yaptığı için
belirli işlevlere ulaşamıyor olabilir.
Yazılım Mimarileri
106
ALFA VE BETA TESTI
Ancak kullanım sırasında ortaya çıkabilecek bu
tür hataları yakalamak üzere belirli bir süre
kullanım testleri yapılabilir.
Alfa Testi
Yazılım Mimarileri
108
ALFA TESTI
Geliştricinin kendi yerinde bir müşteri
tarafından yapılır.
Geliştirici bu testleri gözlemleyerek gerçek
kullanım hakkında bilgi sahibi olmaya çalışır
kusur buldukça not alır ve düzeltme işlemi
yürütür.
Yazılım Mimarileri
109
ALFA TESTI
Özellikle cok sayıda pazarlanacak yazılımlarda
kullanılır.
Alfa testlerinin en önemli özelliği denetim
altındaki bir ortama asıl kullanıcılardan biri
tarafından yapılıyor olmasıdır.
110
Yazılım Mimarileri
BetaTesti
111
Yazılım Mimarileri
Bir yada daha fazla kullanıcının kendi
ortamında yapılır.Geliştirici genellikle bu
testlere katılmaz yalnızca belirli aralıklara
sonuçları ve yorumları alır.
112
Yazılım Mimarileri
Bu testin özelliği de geliştirici tarafından
kontrol edilmeyen gerçek uygulama ortamı
koşullarında yazılımın denenmesidir.
113
Yazılım Mimarileri
Kabul
Kıstasları
114
Yazılım Mimarileri
Her türlü kabul testi müşteriye sistemin doğru
çalıştığını göstermek için yapılır testler
Çoğu zaman yüksek maliyet gerektirdiğinden
ne kadar kapsamlı test istendiği sözleşmede
belirtilmeli ve özel olarak bütçe ayrılmalıdır.
115
Yazılım Mimarileri
Aksi taktirde müşterinin arzu ettiği kadar uzun
süre ve ayrıntıda test yapmak fazla maliyete
neden olabilir.Öte yandan , yetersiz testler
müşterinin kullanım sırasında sorunlarla
karşılaşmasına ve memnuniyetsizliğe yol açar.
116
Yazılım Mimarileri
Şekilsel
Hatalar
117
Yazılım Mimarileri
Özellikle kullanıcı arayüzlerinin renk ve
şekillerinde , yazılarda ve kısaltmalarda , yazı
biçimlerinde,hizalamalarda fark edilen
hatalardır.Testleri etkilemezler, ancak
düzeltilmeleri istenebilir.
118
Yazılım Mimarileri
Küçük
Boyutta
Hatalar
119
Yazılım Mimarileri
Sistemi tamamen etkilemeyen , giderilmesi
kolay olan genellikle kodlama düzeyinde
yapılmış hatalardır. Gerekirse testler sırasında
kod düzeltilip tekrar test edilebilir.
120
Yazılım Mimarileri
Büyük
Boyutta
Hatalar
121
Yazılım Mimarileri
Önemli miktarda düzeltme gerektiren
hatalardır. Geliştirme sürecinin bir kısmının
tekrarlanması gerekebilir ve teslim süresi
uzayabilir.
122
Yazılım Mimarileri
Test
Yönetimi
123
Yazılım Mimarileri
Test yönetimi büyük projeler için çok önemlidir
O neden proje örgütü içinde mutlaka bir test
yöneticisi bulunmalıdır. Bu yönetici altında,
mümkünse o projenin geliştirme görevlerinde
bulunmamış kişiler görevlendirilmeli bağımsız
bir test grubu oluşturulmalıdır.
124
Yazılım Mimarileri
Bir yazılım öğesinin testine en az aşağıdaki
personel katılmalıdır:
Geliştirici ekip lideri ve kodlayıcı
Proje yöneticisinin kendisi veya test yöneticisi
olarak görevlendirdiği kişi
125
Yazılım Mimarileri
Nitelik
Güvence
Sorumlusu
126
Yazılım Mimarileri
Test Sistemi Yöneticisi
Tüm sistemin kabul testlerine ise müşteri
temsilcisi mutlaka katılmalıdır. Kabul testlerine
geliştirici ekiplerin katılması zorunlu değildir,
herhangi bir teknik açıklama gerektiğinde
çağrılmak üzere hazır bulunmaları yeterlidir.
127
Yazılım Mimarileri
Proje kapsamında testlerin yapılmasından sonra
test sonuçlarının değerlendirimesi için
aşağıdakiler yapılır.
Test sonuçları belgelendirilir ve tüm ilgili
taraflara duyurulur.
Test sırasında bulunan hatalara bakılarak
ürünün nitelik profili değerlendirilir.
128
Yazılım Mimarileri
Test sonuçlarına bakarak maliyet ve nitelik
tartım çözümlemesi yapılır.
İyileştirme seçenekleri için karar verilir
Kararlaştırılan ürün iyileştirme işleri için
görevlendirme yapılır ve gelişim sonuna kadar
izlenir.
129
Yazılım Mimarileri
Hata
Ayıklama
130
Yazılım Mimarileri
Bilgisayarlı sistemlerin en büyük sorunlarından
biri hata durumunda hangi bileşenlerin
kusurlu olduğunun belirlenmesidir.
131
Yazılım Mimarileri
Kusur donanımda olabileceği gibi yazılımdada
olabilir hatta yalnızca basit bir kabloda olabilir
kusurun yazılımda olduğunun bulunmasından
sonra da hatalı çalışan yazılımların nerede hata
yaptıklarını bulmak yeni bir sorun olarak
ortaya çıkar.
132
Yazılım Mimarileri
Ne yazık ki günümüzdeki pek çok programlama
dili ve derleyicisi yürütme anındaki hataların
neden kaynaklandığını bize net olarak
söylememektedir.
133
Yazılım Mimarileri
Hata ayıklama süreci test sırasında bulunan
hatanın nereden kaynaklandığını belirlenmesi
genellikle geliştiricinin deneyimine bağlıdır yeri
ve sebebi hemen belirlenmeyen hatanın
araştırılması için bir çözümleme yapılması
zorunludur.
134
Yazılım Mimarileri
Çoğu zaman deneme-yanılma yönetimi
kullanılarak hatanın giderilmesi bir rastlantıya
bırakılır.
135
Yazılım Mimarileri
Çözümleme sırasında kesin olduklarından emin
olunamayan şüpheli hata nedenleri için ek
testler tasarlanır yeni senaryolar hazırlanır.
136
Yazılım Mimarileri
Bu senaryolar çalıştırılarak yeni test sonuçları
elde edilir ve tekrar çözümleme yapılır bu süreç
test sonuçları başarılı bulununcaya kadar
devam eder.
137
Yazılım Mimarileri
138
Yazılım Mimarileri
Öğr. Gör. Mevlüt İNAN