56
YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileri 1/57 Fırat Üniversitesi Yazılım Mühendisliği Bölümü

YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

  • Upload
    others

  • View
    27

  • Download
    0

Embed Size (px)

Citation preview

Page 1: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

YMT 412-Yazılım Kalite Ve GüvencesiTest Stratejileri

1/57

F ı r a t Ü n i v e r s i t e s i Ya z ı l ı m M ü h e n d i s l i ğ i B ö l ü m ü

Page 2: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

İçindekiler

Yazılım Testi……………………………….................................3

Test Tipleri…………………………………………………………….4

Test Metotları………………………………………………………..8

Test Seviyeleri…………………………………………………………18

2/57

1

2

3

4

Page 3: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

1. Yazılım TestiYazılımları test etmek için kullanılabilecek birçok yöntem vardır. Örneğin,sistem tamamen inşa edilene kadar beklenilir ve hataları bulma amacıylatüm sistem üzerinde testler yapılır. Bu yaklaşım ilgi çekici olmasına rağmençalışmaz. Tüm taraflarda memnuniyetsizlik uyandıracak hatalı bir yazılımlasonuçlanır.

Diğer bir örnek ise, test günlük olarak, sistemin herhangi bir parçası inşaedildiğinde gerçekleştirilir. Bu yaklaşım daha az ilgi çekici olmasına rağmençok verimlidir. Ne yazık ki birçok yazılım geliştirici, bu yöntemi kullanmaktaendişe duymaktadır.

3/57

Page 4: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

2. Test Tipleri Yazılım geliştirme yaşam döngüsü boyunca kullanılan test tipleri:

El ile yapılan ( Manual) Testler

Otomasyon (Automation) Testleri

4/57

Page 5: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

2.1. Manuel TestYazılımın herhangi bir test otomasyonu veya herhangi bir scriptkullanılmadan el ile ile test edilmesidir. Yazılımdaki herhangi birbeklenilmeyen davranışı veya hatayı bulmak için yapılır. Küçük projelerdekullanılması daha uygundur.

5/57

Page 6: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

2.2. Otomasyon Testi

Test otomasyonu olarak da bilinenotomasyon testi, test yapan kişilerinscriptleri yazdığı ve yazılımı test etmek içinbaşka yazılımlar kullandığı test türüdür.Otomasyon testi, test senaryolarının hızlı,art arda ve tekrarlarca uygulanabilmesinisağlar. Yük, performans, stress gibi çokkullanıcı gerektiren testlerde ve sık sıkdeğişiklik yapılan regresyon testlerindekolaylık sağlar.

6/57

Page 7: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

2.3. Test Tiplerinin Karşılaştırılması

Otomasyon Testi Manuel Test

Testler daha hızlı çalıştırılır. Otomasyon testinden daha yavaştır.

Bir çok testi defalarca çalıştırabilir. Bir veya iki kez çalıştırılacak olan testlerdekullanılması uygundur.

Sık sık değişiklik içeren regresyon testlerindeverimli çalışır.

Regresyon testlerini manuel olarak yapmakzordur.

Karmaşık projelerde kolaylık sağlar. Karmaşık projeler manuel olarak test yapılmaz.

Test otomasyonlarını satın almak maliyetlidir. Daha az maliyetlidir.

Kullanıcı ara yüzü testlerinde bazen verimliolabilir.

Kullanıcı ara yüzü testlerinde çok verimlidir.

Daha doğru sonuçlar üretir. Otomasyon testinden daha az güvenilirdir.

7/57

Page 8: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

3. Test MetotlarıYazılım testlerinde kullanılan bir çok metot vardır. Bu derste aşağıdakileri metotları inceleyeceğiz:

Beyaz kutu testi(White box testing)

Gri kutu testi (Gray box testing)

Kara kutu testi (Black box testing)

8/57

Page 9: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

3.1. Kara Kutu TestiUygulamanın iç yapısıyla ilgili hiçbir bilgiye sahip olmayan test tekniğidir.Test uzmanı, sistem mimarisiyle ilgilenmez ve kaynak kodlara erişmez.Kara kutu testinde test uzmanı sistemin kullanıcı ara yüzünde belirtilengirdileri sağlayarak çıktıların doğru olmasını bekler.

9/57

Page 10: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

3.1. Kara Kutu TestiKara kutu testi kullanılarak yakalanabilecek hatalar:

1. Doğru olmayan ya da kayıp fonksiyonlar

2. Ara yüz hataları

3. Veri yapılarındaki hatalar ya da harici veritabanı bağlantısı hataları

4. Davranış ya da performans hataları

5. Başlatma ve sonlandırma hataları

10/57

Page 11: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

3.1. Kara Kutu TestiAVANTAJLARI

Kod erişimi gerektirmediği içindaha kolaydır.

Birçok orta vasıflı test uzmanı,uygulamanın içeriği, programlamadili yada çalıştığı işletim sistemihakkında bilgi sahibi olmadanuygulamayı test edebilir.

DEZAVANTAJLARI

Test durumu tasarlamak zordur.

Sadece birkaç test senaryosuseçilip uygulandığı için kapsamıdardır.

Test uzmanı özel kod bölümleriniveya hata eğilimli alanları hedefalamadığı için kapsam yetersizdir.

11/57

Page 12: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

3.2. Beyaz Kutu TestiBeyaz kutu testi kodun yapısını ve iç mantık yapılarını detaylı olarakinceler. Saydam kutu testi ya da açık kutu testi olarak da bilinir. biruygulamada beyaz kutu testi yapmak için, test uzmanı kodun iç çalışmayapısını bilmek zorundadır.

12/57

Page 13: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

3.2. Beyaz Kutu TestiBeyaz kutu testi kullanılarak yapılabilecek denetimler arasında:

Bütün bağımsız yolların en azından bir kere sınanması,

Bütün mantıksal karar noktalarında iki değişik karar için sınamalarınyapılması,

Bütün döngülerin sınır değerlerinde sınanması,

İç veri yapılarının denenmesi

bulunur.

13/57

Page 14: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

3.2.Beyaz Kutu TestiAVANTAJLARI

Kodun optimize edilmesine yardımeder.

Gizli hatalara sebep olabilecekgereksiz satırlar kaldırılabilir.

Test uzmanının kod hakkında bilgiliolması sebebiyle, testsenaryosunun kapsamı çok geniştir.

DEZAVANTAJLARI

Yetenekli bir test uzmanı gerektirdiğiiçin maliyet artar.

Gizli hataları bulmak için her uçnoktaya bakmak mümkün olmadığızaman ufak problemler ortaya çıkabilir.

Kod analizcisi ve hata ayıklayıcı gibibazı özel araçların kullanımınıgerektirir.

14/57

Page 15: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

3.3. Gri Kutu TestiKara kutu ve beyaz kutu testlerinin birleşimidir. Test uzmanının veritabanına ve dokümanlara erişimi vardır. Böylece tasarıma ve verilereuygun test dokümanı üretebilir. Yani uygulamanın iç işlemlerine kısmenerişime izin verir.

15/57

Page 16: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

3.3.Gri Kutu TestiAVANTAJLARI

Beyaz kutu ve kara kutu testininyararlarının birleşimini sunar.

Gri kutu test uzmanları, kaynakkod yerine ara yüz tanımlamaları vefonksiyonel özellikleri kullanır.

Test, tasarımcı bakış açısıyla değilkullanıcı bakış açısıyla yapılır.

DEZAVANTAJLARI

Kaynak koda erişim sınırlıolduğundan kod inceleme ve testkapsamı sınırlıdır.

Yazılım tasarımcısı halihazırda birtest çalıştırıyorsa gri kutu testigereksiz olabilir.

Mümkün olan her giriş sisteminintest edilebilmesi gerçekçi değildirçünkü çok fazla zaman alır. Buyüzden bazı program yolları testedilemez.

16/57

Page 17: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

3.4. Metotların Karşılaştırılması

17/57

Kara Kutu Testi Gri Kutu Testi Beyaz Kutu Testi

Page 18: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4. Test Seviyeleri

18/57

Page 19: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.1. Birim(Unit) Testi

Birim testi, yazılım tasarımının en küçükbiriminin (yazılım bileşeni yada modül)doğrulanmasıdır. Önemli kontrol yolları,modülün sınırları içerisindeki hatalarıortaya çıkarmak için test edilir. Birim testibir bileşenin sınırları içindeki mantık veveri yapıları gibi iç işlemler üzerindeçalışır. Bu test türü birden fazla bileşeniçin paralel olarak gerçekleştirilebilir.

19/57

Page 20: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.1. Birim Testi

20/57

Page 21: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.1. Birim TestiBirim test durumları

• Ara yüz

• Yerel veri yapıları

• Sınır koşulları

• Bağımsız yollar

• Hata yakalama yolları

21/57

Page 22: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.1. Birim TestiBirim ara yüzü test edilerek bilgi giriş/çıkışlarının uygun ve yeterli şekildeyapıldığı kontrol edilir. Örneğin, programa giren ve çıkan tüm iletilerindoğru tipte oldukları gerçeklenir.

Yerel veri yapıları incelenerek algoritmanın çalışması boyunca ya dayordamların çağrılması sırasında verilerin saklandığı yerin bütünlüğününbozulup bozulmadığı test edilmelidir.

22/57

Page 23: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.1. Birim TestiSınır koşullarının en düşük ve en yüksek değerleri, bu değerlerin biraz altıve biraz üstü kullanılarak sınanmalıdır.

Birim içindeki birbirinden bağımsız tüm çalışma yolları, tüm dallanmalartek tek sınanmalıdır.

Birim içindeki tüm hata yakalayıcılar birer birer denenmelidir.

23/57

Page 24: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.1. Birim TestiDaha çok beyaz kutu yönteminin kullanıldığı birim testi ile düzgün vehatasız çalıştığına kanaat getirilen bir birim artık tümleştirme testi içinhazır hale gelmiş olur.

24/57

Page 25: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.1. Birim Testi

25/57

Yazılan kodun her satırının başka bir kod tarafından test edilmesini sağlar.

Kodun anlaşılmasını kolaylaştırır.

Daha hızlı yazılım geliştirmeyi sağlar.

Koddaki hata oranını azaltır.

Kodların kalitesinin artmasını sağlar.

Hataların çabuk tespit edilip düzenlenmesini sağlar.

Page 26: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.2. Tümleştirme(Integration) Testi

Birden fazla biriminin biraraya getirilerek uyumlu birşekilde ve hatasız çalışması,her birinin tek tek değil debir bütün içinde, tasarımdabelirtildiği şekilde kendiüzerlerine düşen görevleriyerine getirip getirmediğitümleştirme testi ilekontrol edilir.

26/57

Page 27: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.2. Tümleştirme TestiÇoğu zaman, bireysel olarak doğru çalıştığı sanılan yazılım birimleri, biraraya getirildiklerinde daha önceden fark edilemeyen veyaöngörülemeyen davranışlarda bulunabilirler. Bu kusurlu davranışlarıyakalayabilmek için yapılan tümleştirme testi, birimler arasındaki arayüzlerden kaynaklanan kusurları ortaya çıkarabilmek ve program yapısınıoluşturmak için uygulanan sistematik bir tekniktir. Amaç, birim testlerinibaşarı ile geçmiş modülleri alıp tasarımda belirtilen program yapısınıortaya çıkarmaktır.

27/57

Page 28: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.2. Tümleştirme TestiTümleştirme testinin yapılma nedenleri:

Bir birimin çalışması başka bir birimin çalışmasını etkileyebilir.

Birimler arasındaki arayüzler arasında verilerin kaybolma olasılığı vardır.

Bir birim içinde kabul edilebilir sınırlar içinde olan kesinlik değerleribirden fazla birimin devreye girmesi ile kabul edilemeyecek değerlereulaşabilir.

Birimler arasında eşzamanlılığın sağlanması gerekir.

Birimler arasında paylaşılan evrensel veri yapıları sorun çıkarabilir.

28/57

Page 29: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.2. Tümleştirme TestiBirimler bir anda tümleştirmek yerine artırımlı olarak tümleştirmek dahaiyi sonuç verir. Artırımlı tümleştirme yönteminde değişik stratejilerkullanılabilir. Bunlar

Yukarıdan aşağı tümleştirme

Aşağıdan yukarıya tümleştirme

Geri çekilme(Regression) testi

29/57

Page 30: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.2.1. Yukarıdan Aşağı TümleştirmeBu stratejide, önce ana denetim biriminin testi yapılır, sonra ona en yakın düzeydeki birimlerden biri ile beraber test yapılır.

30/57

Page 31: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.2.2. Aşağıdan Yukarıya TümleştirmeAlt düzey birimler birleştirilerek kümeler haline getirilir. Bu kümeler testedilir. Daha sonra bu kümelerin birleştirilmesinden oluşan daha üstüdüzeyde kümeler meydana getirilir. Bu şekilde en üstte bulunan anabirime kadar ulaşılır.

31/57

Page 32: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.2.3. Regresyon TestiModül eklendiği veya değiştirildiği zaman yazılım değişir. Yeni veri akışyolları oluşur, yeni giriş/çıkışlar meydana gelir ve yeni mantık yapılarıçağırılır. Bu değişiklikler daha önce sorunsuz olarak çalışan fonksiyonlardaproblemlere sebep olabilir. Tümleştirme test stratejisi kapsamındaregresyon testi; uygulama ortamındaki yapılan tüm değişikliklerin yeni birhata üretip üretmediğini kontrol amaçlı olarak yapılan test türüdür.

32/57

Page 33: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.3. Sistem TestiAşağıdaki test türlerini içerir.

Performans Testi

Yük Testi

Germe Testi

Kurtarma Testi

Taşınabilirlik Testi

Kullanılabilirlik Testi

33/57

Page 34: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.3.1. Performans(Performance) TestiPerformans testi, sistemin belirli durumlarda, belirlenen beklentileri verip vermediğini kontrol etmek amacıyla yapılan testtir. Performans testi sistemdeki hataların bulunmasını amaçlamaz ancak sistemdeki darboğazları ortaya çıkarır.

Performans testlerinde amaç sistemin bir açığını bulmak değildir. Asıl amaç sisteme yapılan girdilerden alınan çıktılarla, olması gereken sonuçların uygunluğunu tespit etmektir.

34/57

Page 35: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.3.1. Performans TestleriÖrneğin; büyük bir veri tabanı yönetim sisteminin başarımı, arama vesonucu gösterme işlemleri için gereken süredir. Gömülü bir sisteminperformansı, insan katkısı olmadan yapmak zorunda olduğu işlemleribaşarıyla yapmasıdır.

Özellikle gerçek zamanlı sistemler için tanımlanmış olan zaman kısıtlarınauymak hem yazılım hem de donanım bileşenleri tarafından karşılanmasıgereken çok önemli isterlerdir.

Bu isterlerin uygun şekilde karşılanıp karşılanmadığını görebilmek içintümleştirilen yazılım ve donanım üzerinde performans testleri yapılır.Performans testleri tüm test aşamalarında yapılabilir( birim,stress vs.)

35/57

Page 36: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.3.2. Yük (Load) TestiHer bilgisayar sistemi belirli tür ve miktarda veriyi işlemek ve bunlaragöre başka veriler üretmek için tasarlanır. Gerçek zamanlı sistemler vekontrol sistemleri daha çok belirli kesmelere karşı bir işlem yaparak belirlibir tepkide bulunur. Veritabanı yönetim sistemleri ise çok miktarda veriyisaklama, bunlar üzerinde sorgu yapma ve rapor üretme gibi işlevleryürütür. İşte bu tür yoğun veri akışına sahip sistemler için yükleme testleriyapılır.

36/57

Page 37: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.3.2. Yük TestiYük testleri, sistemin sınırlarını zorlayarak en fazla ne kadar veri işlemekapasitesi olduğunu belirlemek, bu yükte davranışlarını kontrol etmekamacıyla yapılır. Hatta, bazı durumlarda, isterlerde belirtilen değerlerin deüzerine çıkılarak kaldırabilecek en fazla yükün ne olabileceği araştırılır.

37/57

Page 38: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.3.2. Yükleme TestiTipik bir sistemin yükleme testleri şunlardan oluşabilir:

Veri hacmi testi: Sistemin yüksek miktarda veri ile yüklenmesi

Veri debisi testi: Tüm girişlerin yüksek hızda veri ile yüklenmesi

Kapasite testi: Sistemin bellek ve disk kullanımının zorlanması

38/57

Page 39: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.3.3. Germe(Stress) TestiNormal olmayan koşullarda, hem yazılım hem de donanımın ne şekildedavranacağını görmek üzere germe(stress) testleri yapılmalıdır.

39/57

Page 40: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.3.3. Germe TestiBu amaçla yapılacak testler şunlardır:

Sistemi normal olmayan miktarda öz kaynak gerektirecek şekildezorlamak amacıyla yapılan testler

Yüksek hacim ve hızda veri girişi yapmak

Beklenenden çok daha yüksek frekansta kesmeler yapmak

Beklenen ve kullanılandan çok daha fazla bellek ve işlemci gücügerektiren durumlar yaratmak

Sistemin kaldırabileceği yük durumunda, ani etkilere verilecek tepkisüresini ölçmek üzere yapılan testler

40/57

Page 41: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.3.4. Kurtarma(Recovery) TestiBilgisayar sistemlerinin çoğunda bir hata durumunda kendinitoparlayarak tekrar çalışmaya devam etmesi beklenir. Aşağıdaki yöntemlerkullanılarak zararlar en aza indirilebilir.

Yedekli yazılım mimarisinde, ana yazılım birimi çalışırken, yardımcıyazılım da aynı veya farklı bir donanım üzerinde paralel şekilde çalışır,fakat çıktı üretmez. Ana yazılımın çökmesi halinde bu yardımcı yazılımdevreye girer.

Hataya dayanıklı yazılım ise, herhangi bir nedenle bütünüyle çökmemeküzere, kendi kendini düzeltebilen modüller halinde geliştirilenyazılımlardır.

41/57

Page 42: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.3.4. Kurtarma TestiKurtarma testi önce yazılımı sonra da donanımı çeşitli olası şekillerdebilinçli bir şekilde çökerterek sistemin kendini tekrar toplamasınındenenmesi, isterlerin doğrulanması amacıyla yapılır. Bu kapsamdagenelde şu testler yapılır:

42/57

Page 43: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.3.4. Kurtarma TestiYedekli yazılım mimarisinde, ana yazılımın devreden çıkartılması veyardımcı yazılımın otomatik olarak devreye girmesi, bilgi işlemenin kaybauğramadığının kontrolü

Yeniden yazılım modülü başlatma yönteminde, çken modülün tekrarbaşlatılması ve çökmeden önceki durumunu kazanması

Çökme sırasında kaybolma olasılığı olan verilerin tekrar alınması veyaüretilmesi

İnsan katkısı gereken geri kazanma durumlarında, ortalama zamanınölçülmesi, isterlere göre değerlendirilmesi

43/57

Page 44: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.3.5. Güvenlik Testi

Güvenlik testi, bir bilgi sisteminin verileri ve işlevselliğini korumak içintasarlanmış bir süreçtir. Herhangi bir bilgi sızıntısı olup olmadığını kontroledilir. Sistemin tüm potansiyel açık kapıları ve zayıflıkları araştırılır.

44/57

Page 45: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.3.5. Güvenlik TestiTemel güvenlik testi çeşitleri şunlardır:

Zafiyet taraması

Penetrasyon Testi

Risk Belirleme

Güvenlik Denetimi

Şifre Kırma

45/57

Page 46: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.3.6. Taşınabilirlik (Portability) Testi

Taşınabilirlik testi, var olan biryazılım bileşeni veya uygulamayıyeni bir ortamda test etme işlemidir.Uygulamanın diğer ortamlarda Installability

Combatibility

Adaptability

Replaceability

yetenekleri araştırılır. Sonuçlar raporedilir.

46/57

Page 47: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.3.6. Taşınabilirlik Testi

Uygulamalar şu ortamlar içintest edilebilir:

Donanım platformları(istemciler,sunucular, ağ bağlantı cihazları,giriş ve çıkış aygıtları)

İşletim sistemleri (versiyonları veservis paketleri dahil).

Tarayıcılar (her bir sürümü dahil)

47/57

Page 48: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.3.7. Kullanılabilirlik(Usability) TestiTasarımların veya ara yüzlerin kullanıcı ile buluşmasından önce tasarımınkullanılabilirliğini ölçmek amacıyla yapılan testlere denir. Sadece birkullanıcının o an için hareketlerini gözlemlemek ile ilgilidir. Kullanılabilirliktestleri kullanılabilirlik problemleri hakkında bize bilgi verir vekullanıcıların uygulama ile nasıl etkileşimde bulunduğuna bakar.

48/57

Page 49: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.3.7. Kullanılabilirlik TestiKullanılabilirlik, 5 niteliksel özellik ile ölçülür.

Öğrenilebilirlilik: Kullanıcılar, tasarımı ilk kullandıklarında yerinegetirmeleri gereken görevleri kolaylıkla yapabiliyorlar mı?Verimlilik: Kullanıcılar, tasarımın çalışma şeklini öğrendikten sonragerçekleştirecekleri işlemleri ne kadar hızlı yapabiliyorlar?Memnuniyet: Tasarımı kullanmak kullanıcıları duygusal anlamda mutluediyor mu, kullanıcılar tasarımı kullanırken kendini rahat hissediyorlar mı?

49/57

Page 50: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.3.7. Kullanılabilirlik TestiHatırlanabilirlilik: Kullanıcılar, bir süre tasarımı kullanmadıktan sonratekrar kullanamaya başladıklarında tasarıma dair var olan bilgilerin nekadarını hatırlayabiliyorlar?

Hatalar: Kullanıcılar, ne kadar hata yapıyor ve bu hataları ne sıklıktatekrarlıyorlar, hataları ne kadar hızlı yok edebiliyorlar?

50/57

Page 51: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.3.7. Kullanılabilirlik TestiÖrnek olarak, bir web sitesinin kullanılabilirlik testini ele alalım. Gözizleme cihazı, kullanıcın nereye, ne kadar süre ve kaç kere baktığına, anlıkve geçmiş dikkatinin nerede yoğunlaştığına, niyetine ilişkin bilgi sağlar. Gözizleme cihazı göz bebeklerinin hareketlerini ve odaklanmalarını izleyerekodak noktaları haritası çıkarır. Bu bilgilere göre web sitemizi kullanıcınınilgisini çekebilecek ve daha kolay kullanımını sağlayacak şekildedüzenleyebiliriz.

51/57

Page 52: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.4. Kabul TestiÇalıştırılmadan önce yazılımın son sınanmasıdır. Artık yapay veriler yerinegerçek veriler kullanılır. Bu sınama türü;

Alfa sınaması

Beta sınaması olarak çeşitlenir.

52/57

Page 53: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.4.2. Alfa TestiGeliştiricinin kendi yerinde müşteri tarafından yapılır. Geliştirici butestleri gözlemleyerek gerçek kullanım hakkında bilgi sahibi olmaya çalışır;kusur buldukça not alır ve düzenleme işlemlerini yürütür. Alfa testlerininen önemli özelliği, denetim altındaki bir ortamda, asıl kullanıcılardan biritarafından yapılıyor olmasıdır.

53/57

Page 54: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

4.4.2. Beta TestiBirçok kullanıcının kendi ortamında yapılır. Geliştirici genellikle butestlere katılmaz; yalnızca belirli aralıklarla sonuçları ve yorumları alır. Butestin özelliği de geliştirici tarafından kontrol edilemeyen gerçek uygulamaortamı koşullarında yazılımın denenmesidir. Beta testi sonunda geliştirici,bulunan kusurları düzelterek tüm kullanıcılar için yeni bir sürüm çıkartır.

54/57

Page 55: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

Çalışma Soruları1. Yazılım test seviyelerini şekil çizerek gösteriniz.

2. Otomatik test ile manuel test arasındaki farkları yazınız.

3. Birim testi nedir? Birim testi ile bir uygulamada neler test edilir?

4. Tümleştirme testi nedir? Çeşitlerini yazınız.

5. Taşınabilirlik testi ile uygulamalar hangi ortamlar için test edilirler? Açıklayınız.

6. Kullanıcı kabul testleri yazıp açıklayınız.

7. Kara, beyaz ve gri kutu tekniklerini açıklayıp birer örnek veriniz.

8. Kurtarma testi nedir? Hangi durumlarda gereklidir?

9. Güvenlik testi neden gereklidir? Güvenlik testi ile bir uygulamada neleri test ederiz?

55/57

Page 56: YMT 412-Yazılım Kalite Ve Güvencesi Test Stratejileriweb.firat.edu.tr/mbaykara/4.Hafta-TestStratejileri.pdf4.3.7. Kullanılabilirlik Testi Örnekolarak, bir web sitesinin kullanılabilirliktestini

Kaynaklar[1] Software Enginnering A Practitioner's Approach (7th Edition),RogerPressman,2013

[2] Yazılım Mühendisliği(2. Baskı), M.Erhan Sarıdoğan,2008

[3] http://www.tutorialspoint.com/software_testing/software_testing_quick_guide.htm

[4] http://www.testrisk.com/2012/08/test-sozlugu.html

[5] https://en.wikipedia.org/wiki/Security_testing

[6] http://www.slideshare.net/pbaskarmca/security-testing-4338585

[7] http://blog.milliyet.com.tr/yazilim-kullanilabilirlik-testleri/Blog/?BlogNo=463001

56/57