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

30
YAZILIM TEST YAŞAM DÖNGÜSÜ VE PROJE BAŞARISINA ETKİSİ Aynur AKKOL ÖZKAN Test Analisti Nisan 2016

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

Page 1: 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

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

İLETİŞİM

/Aynur (Akkol) Özkan

/[email protected]

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

Yazılım firması/proje sahibi olarak

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

Prestijli bir imaj sahip,

Rekabet ortamında aranan bir isim….

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

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

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

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?

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

Test Nedir?

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

« A human using her intelligence and

experience to critique and explore a

system under test.»

Kristian Karl

Spotify Test Manager

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

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

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

PLANLAMA

VE

KONTROL

ANALİZ

VE

TASARIM

UYARLAMA

VE

YÜRÜTME

DEĞERLENDİRME

VE

RAPORLAMA

KAPANIŞ

AKTİVİTELERİ

TEST

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

PLANLAMA

VE

KONTROL

ANALİZ

VE

TASARIM

UYARLAMA

VE

YÜRÜTME

DEĞERLENDİRME

VE

RAPORLAMA

KAPANIŞ

AKTİVİTELERİ

TEST

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

Test Ne Zaman Başlar?

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

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

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

• 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ı

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

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

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

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?

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

Test Süreçleri Neden Gereklidir?

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

• 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

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

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

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

Soru ve Cevap

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

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