Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Yazılım Mimarileri Dersi

Benzer bir sunumlar


... konulu sunumlar: "Yazılım Mimarileri Dersi"— Sunum transkripti:

1

2 Yazılım Mimarileri Dersi

3 Asagıdan Yukarıya Tümlestirme

4 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.

5 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.

6 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.

7 Yukarıdan Aşagıya Tümlestirme

8 Alt düzey birimler birleştirilerek kümeler haline getirilir.
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.

9 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.

10 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.

11 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.

12 Yeterlilik Testleri

13 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.

14 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.

15 Yazılım Mimarileri Sistem özel­liklerini 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.

16 Dogrulama

17 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.

18 Dogrulama sürecinde bu isler yapılmalıdır ;
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.

19 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.

20 İsterler tutarlı olup kullanıcı gereksinimlerini kapsamaktadır.
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.

21 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.

22 Proje personeli sağlanmış ve sözleşme gereklerine göre eğitilmiştir.
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.

23 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.

24 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.

25 Tasarım isterlere göre tutarlıdır ve izlenebilir durumdadır.
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.

26 Seçilen tasarım isterlerden türetilebilmektedir.
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.

27 Yazılan kaynak kod aşağıda belirtilen kıstaslara göre doğrulanmalıdır.
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.

28 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.

29 Tümleştirme aşağıda belirtilen kıstaslara göre doğrulanmalıdır.
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.

30 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.

31 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.

32 Belgeler gizlilik derecelerine uygun şekilde saklanmaktadırlar.
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.

33 Geçerleme

34 Yazılım Mimarileri Geçerleme (validation), yani geçerli kılma ya da sağlama, kullanıcı gerek­sinimleri 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.

35 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.

36 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.

37 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.

38 Yazılım Mimarileri Kısmen başarı, belirlenen kusurların kısa sürede giderilebilecek cinsten olması durumunda geçerlidir.

39 Yazılım Mimarileri Başarısızlık, belirlenen kusurlar belirtilen süre içerisinde giderilemez.

40 Rastgele Testler

41 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.

42 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.

43 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.

44 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.

45 Sistem Testi

46 Yazılım Mimarileri SISTEM TESTI Yazılım hiçbir zaman kendi başına bir sistem degildir. Sistemin ancak bir parçasıdır.

47 Yazılım Mimarileri 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.

48 Yazılım Mimarileri 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.

49 Yazılım Mimarileri 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.

50 Yazılım Mimarileri 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.

51 Yazılım Mimarileri 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.

52 Yazılım Mimarileri 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.

53 Yazılım Mimarileri Sistem düzeyindede çeşitli testler yapılmıştır.
SISTEM TESTI Sistem düzeyindede çeşitli testler yapılmıştır. Bu testlerin neler olabilceğine bakalım ;

54 Yükleme Testi

55 Yazılım Mimarileri 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.

56 Yazılım Mimarileri 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)

57 Yazılım Mimarileri 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.

58 Germe Testi

59 Yazılım Mimarileri 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.

60 Yazılım Mimarileri 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.

61 Bu amaçla yapılabilecek testler şunlardır ;
Yazılım Mimarileri 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 ;

62 Yüksek hacim ve hızda veri girişi oluşturmak.
Yazılım Mimarileri GERME TESTI Sistemi normal olmayan miktarda zorlamak amacıyla yapılan testler ; Yüksek hacim ve hızda veri girişi oluşturmak.

63 Beklenenden çok daha yüksek frekansta kesmeler oluşturmak.
Yazılım Mimarileri 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 .

64 Isletim sistemini zorlayarak çökertmeye yönelik testler.
Yazılım Mimarileri 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.

65 Yazılım Mimarileri GERME TESTI Sistemin kaldırabilecegi en fazla yük durumunda ani etkilere verilecek tepki süresini ölçmek üzere yapılan testler.

66 Geri Kazanma Testi

67 Yazılım Mimarileri 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.

68 Yazılım Mimarileri 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.

69 Aksi taktirde ekonomik kayıplar hatta can kayıpları meydana gelebilir.
Yazılım Mimarileri 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.

70 Yazılım Mimarileri 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.

71 Bu kapsamda genelde su testler yapılır ;
Yazılım Mimarileri 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)

72 Emniyet Testi

73 Yazılım Mimarileri 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.

74 Yazılım Mimarileri 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 ;

75 Yazılım Mimarileri 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.

76 Yazılım Mimarileri 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 )

77 Örnegin bir banka yazılımı binlerce müsterinin hesaplarını tutar .
Yazılım Mimarileri EMNIYET TESTI Bazı bilgisayarlar hassas veya çok özel bilgileri islerler. Örnegin bir banka yazılımı binlerce müsterinin hesaplarını tutar .

78 Yazılım Mimarileri 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.

79 Yazılım Mimarileri 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.

80 Normal olmayan bir girişin fark edilmesi ve raporlama testi .
Yazılım Mimarileri 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 .

81 Başarım Testi

82 Yazılım Mimarileri 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.

83 Yazılım Mimarileri 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.

84 Başarım testleri bazen germe testleri ile beraber yapılır.
Yazılım Mimarileri 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.

85 Yazılım Mimarileri 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.

86 Yazılım Mimarileri 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.

87 Kabul Testi

88 Yazılım Mimarileri 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.

89 Yazılım Mimarileri 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.

90 Üretim Hattı Kullanım Hattı Denemeler

91 Üretim Hattı

92 Yazılım Mimarileri 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.

93 Yazılım Mimarileri 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.

94 Yazılım Mimarileri 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.

95 Kullanım Hattı Testi

96 Yazılım Mimarileri 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.

97 Burada Çalışmaya Hazırlık işlemleri yapılır.
Yazılım Mimarileri 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.

98 Yazılım Mimarileri 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.

99 Yazılım Mimarileri 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.

100 Deneme Testi

101 Yazılım Mimarileri 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.

102 Yazılım Mimarileri 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.

103 Eger herhangi bir şekilde sorun varsa giderilir .
Yazılım Mimarileri DENEME TESTI Eger herhangi bir şekilde sorun varsa giderilir .

104 Alfa Ve Beta Testi

105 Yazılım Mimarileri 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.

106 Yazılım Mimarileri 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.

107 Alfa Testi

108 Geliştricinin kendi yerinde bir müşteri tarafından yapılır.
Yazılım Mimarileri 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.

109 Özellikle cok sayıda pazarlanacak yazılımlarda kullanılır.
Yazılım Mimarileri 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 Nitelik Güvence Sorumlusu
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


"Yazılım Mimarileri Dersi" indir ppt

Benzer bir sunumlar


Google Reklamları