Yazılım Test Yaşam Döngüsü ve Proje Başarısına Etkisi

Post on 18-Jan-2017

180 views 12 download

Transcript of Yazılım Test Yaşam Döngüsü ve Proje Başarısına Etkisi

YAZILIM TEST YAŞAM DÖNGÜSÜ

VE

PROJE BAŞARISINA ETKİSİ

Aynur AKKOL ÖZKAN

Test Analisti

Nisan 2016

İLETİŞİM

/Aynur (Akkol) Özkan

/aakkol@gmail.com

Yazılım firması/proje sahibi olarak

Başarılı işlere imza atmış,

Prestijli bir imaj sahip,

Rekabet ortamında aranan bir isim….

Yazılım firması/proje sahibi olarak

Başarılı işlere imza atmış,

Prestijli bir imaj sahip,

Rekabet ortamında aranan bir isim….

Amacımız ?...

KAPSAM

o Test Nedir?

o Yazılım Test Yaşam Döngüsü (STLC) Nedir?

o Test Süreçlerinin Proje Başarısına Etkisi Nedir?

Test Nedir?

« A human using her intelligence and

experience to critique and explore a

system under test.»

Kristian Karl

Spotify Test Manager

Yazılım Test Yaşam Döngüsü (STLC)

PLANLAMA

VE

KONTROL

ANALİZ

VE

TASARIM

UYARLAMA

VE

YÜRÜTME

DEĞERLENDİRME

VE

RAPORLAMA

KAPANIŞ

AKTİVİTELERİ

TEST

Test, hataları gösterir (Testing shows the presence of defects)

Bir yazılımı %100 test etmek imkansızdır! (Exhaustive testing is impossible!)

Teste yazılım geliştirme sürecinin başından başlamak gerekir (early testing)

Antibiyotik direnci (TNT Paradoksu/Pesticide paradox)

Hatalar yazılımın belirli alanlarında yoğunlaşır (Defect clustering)

Test yaklaşımı proje özelliklerine göre çeşitlilik gösterebilir. (Testing is context dependent)

Yeni hata bulunmaması başarılı bir yazılım elde edildiğini göstermez!( Absence-of-error fallacy)

71

2

3

4

5

6

7

Test, hataları gösterir (Testing shows the presence of defects)

Bir yazılımı %100 test etmek imkansızdır! (Exhaustive testing is impossible!)

Teste yazılım geliştirme sürecinin başından başlamak gerekir (early testing)

Antibiyotik direnci (TNT Paradoksu/Pesticide paradox)

Hatalar yazılımın belirli alanlarında yoğunlaşır (Defect clustering)

Test yaklaşımı proje özelliklerine göre çeşitlilik gösterebilir. (Testing is context dependent)

Yeni hata bulunmaması başarılı bir yazılım elde edildiğini göstermez!( Absence-of-error fallacy)

71

2

3

4

5

6

7

Test, hataları gösterir (Testing shows the presence of defects)

Bir yazılımı %100 test etmek imkansızdır! (Exhaustive testing is impossible!)

Teste yazılım geliştirme sürecinin başından başlamak gerekir (early testing)

Antibiyotik direnci (TNT Paradoksu/Pesticide paradox)

Hatalar yazılımın belirli alanlarında yoğunlaşır (Defect clustering)

Test yaklaşımı proje özelliklerine göre çeşitlilik gösterebilir. (Testing is context dependent)

Yeni hata bulunmaması başarılı bir yazılım elde edildiğini göstermez!( Absence-of-error fallacy)

71

2

3

4

5

6

7

Test, hataları gösterir (Testing shows the presence of defects)

Bir yazılımı %100 test etmek imkansızdır! (Exhaustive testing is impossible!)

Teste yazılım geliştirme sürecinin başından başlamak gerekir (early testing)

Antibiyotik direnci (TNT Paradoksu/Pesticide paradox)

Hatalar yazılımın belirli alanlarında yoğunlaşır (Defect clustering)

Test yaklaşımı proje özelliklerine göre çeşitlilik gösterebilir. (Testing is context dependent)

Yeni hata bulunmaması başarılı bir yazılım elde edildiğini göstermez!( Absence-of-error fallacy)

71

2

3

4

5

6

7

Test, hataları gösterir (Testing shows the presence of defects)

Bir yazılımı %100 test etmek imkansızdır! (Exhaustive testing is impossible!)

Teste yazılım geliştirme sürecinin başından başlamak gerekir (early testing)

Antibiyotik direnci (TNT Paradoksu/Pesticide paradox)

Hatalar yazılımın belirli alanlarında yoğunlaşır (Defect clustering)

Test yaklaşımı proje özelliklerine göre çeşitlilik gösterebilir. (Testing is context dependent)

Yeni hata bulunmaması başarılı bir yazılım elde edildiğini göstermez!( Absence-of-error fallacy)

71

2

3

4

5

6

7

Test, hataları gösterir (Testing shows the presence of defects)

Bir yazılımı %100 test etmek imkansızdır! (Exhaustive testing is impossible!)

Teste yazılım geliştirme sürecinin başından başlamak gerekir (early testing)

Antibiyotik direnci (TNT Paradoksu/Pesticide paradox)

Hatalar yazılımın belirli alanlarında yoğunlaşır (Defect clustering)

Test yaklaşımı proje özelliklerine göre çeşitlilik gösterebilir. (Testing is context dependent)

Yeni hata bulunmaması başarılı bir yazılım elde edildiğini göstermez!( Absence-of-error fallacy)

71

2

3

4

5

6

7

Test, hataları gösterir (Testing shows the presence of defects)

Bir yazılımı %100 test etmek imkansızdır! (Exhaustive testing is impossible!)

Teste yazılım geliştirme sürecinin başından başlamak gerekir (early testing)

Antibiyotik direnci (TNT Paradoksu/Pesticide paradox)

Hatalar yazılımın belirli alanlarında yoğunlaşır (Defect clustering)

Test yaklaşımı proje özelliklerine göre çeşitlilik gösterebilir. (Testing is context dependent)

Yeni hata bulunmaması başarılı bir yazılım elde edildiğini göstermez!( Absence-of-error fallacy)

71

2

3

4

5

6

7

Test, hataları gösterir (Testing shows the presence of defects)

Bir yazılımı %100 test etmek imkansızdır! (Exhaustive testing is impossible!)

Teste yazılım geliştirme sürecinin başından başlamak gerekir (early testing)

Antibiyotik direnci (TNT Paradoksu/Pesticide paradox)

Hatalar yazılımın belirli alanlarında yoğunlaşır (Defect clustering)

Test yaklaşımı proje özelliklerine göre çeşitlilik gösterebilir. (Testing is context dependent)

Yeni hata bulunmaması başarılı bir yazılım elde edildiğini göstermez!( Absence-of-error fallacy)

71

2

3

4

5

6

7

PLANLAMA

VE

KONTROL

ANALİZ

VE

TASARIM

UYARLAMA

VE

YÜRÜTME

DEĞERLENDİRME

VE

RAPORLAMA

KAPANIŞ

AKTİVİTELERİ

TEST

Test Ne Zaman Başlar?

Yazılım gereksinimlerinin belirlenmesi sürecinde başlar.

• Uygulamanın doğrulanması

• Test fazının kapatılması,

• Müşteri kabul testleri,

• Proje kabulünün alınması

• Tasarımın doğrulanması

• Gereksinimlerin doğrulanması

Gereksinimlerin Belirlenmesi

Tasarım

Uygulama Geliştirme

Proje Tamamlanması

Test Süreçleri Nasıl Tasarlanmalıdır?

Hangi yazılım yaşam döngüsü kullanılıyor?

Projenin hedefi nedir?

Projenin kapsamı nedir?

Projeye verilen süre nedir?

Test sürecinden beklentiler nelerdir?

Test Süreçleri Neden Gereklidir?

• Uygulamanın doğrulanması

• Test fazının kapatılması,

• Müşteri kabul testleri,

• Proje kabulünün alınması

• Tasarımın doğrulanması

• Gereksinimlerin doğrulanması

Gereksinimlerin Belirlenmesi

Tasarım

Uygulama Geliştirme

Proje Tamanlanması

Zero Bug Phase

UI

Entegrasyon

Unit Test

Yüksek

Orta

Düşük

Düşük

Orta

Yüksek

Yüksek

Orta

Düşük

Test OtomasyonTürleri

Mantıksal İş Kapsamı

Kod Kapsama

Zaman/Maliyet

Test Otomasyonu

Soru ve Cevap

REFERANSLARISTQB Foundation Level Syllabus

ISTQB Yazılım Testi Terimler Sözlüğü

The Software Test Engineer’s Handbook, Graham Bath, Judy McKay, 2012

Yazılım Testi-İş Analizi-Kullanılabilirlik, Lütfi Koray Yitmen, Ekim 2014

Yazılım Test Mühendisliği, Ali Gürbüz, 2010

Lessons Learned in Software Testing, Cem Kaner

Testing Computer Software, Cem Kaner

www.testistanbul.org

www.turkishtestingboard.org

www.istqb.org

www.keytorc.com

Testİstanbul2016, Kristian Karl Keynote Spoke