software development life cycle yazılım geliştirme yaşam döngüsü
DESCRIPTION
Yazılım geliştirme yaşam döngüsü hakkında kalite ve test bakışı açısından kısa bir sunum.TRANSCRIPT
SDLCSoftware Development Life Cycle
Geliştirme Boyunca Test
SDLC Nedir?
Test Nedir?
Test Türleri
Yazılım Geliştirme Modelleri
1. SDLC Nedir?
SDLC Software Development Life Cycle – Yazılım Geliştirme Yaşam
Döngüsü Yazılım isteğinin doğmasından kullanıcılara sunulmasına kadar geçen
süreç Çeşitli ‘Yazılım Uzmanlığı’ roller vardır
1. SDLC Nedir?
SDLC - Aşamaları İstek, Kanun Değişikliği, vb. ortaya çıkması Kullanıcı Gereksinimlerinin Belirlenmesi Sistem Gereksinimlerinin Belirlenmesi Üst Düzey Tasarım Çıktıları Detay Tasarım Çıktıları Yazılım Geliştirme Aşaması Test Süreçleri Yayınlama
2. Test Nedir?
Sürücü Testi Test süreçlerini anlamak için kulllanılır Nedir?
Eğer sürücü çeşitli yolları deneyerek bir rotayı takip eder ve çeşitli manevralar yaparak rotasını güvenli bir şekilde tamamlar ise sürücü testi başarılıdır denir.
Sürüş sırasında rotanın tamamlanmasına engel olabilecek tek bir ciddi hata tüm sürüşün başarısız olmasına sebep olur fakat sürüş sırasında birçok küçük hata şürüşün başarılı sayılmasına engel değildir.
2. Test Nedir?
ISTQB’ye Göre Test: ISEB - IEEE Sürücü analojisinden yola çıkarak testin açıklamasını şu parçalara
bölmek gerekir: Proses (process) SLDC boyunca Test Yapılır Statik (static) ve Dinamik (dynamic) testler vardır Plan (planning) Hazırlanma (preparation) Değerlendirme (eveluation)
2. Test Nedir?
James Bach ve Michael Bolton: Test ile Kontrolün Fakı Testing is the process of evaluating a product by learning about it
through experimentation, which includes to some degree: questioning, study, modeling, observation and inference. Süreç, öğrenme, sorgulama, modelleme, gözlem, çıkarım
Checking is the process of making evaluations by applying algorithmic decision rules to specific observations of a product Süreç, kural, gözlem
3. Test Türleri
Neler test edilir? Yazılımdan istenilenler yerinde ve yapılmış mı? Yazılım istenilen işlevleri yerine getiriyor mu? Yazılım işlevleri yaparken hata veriyor mu? Yazılım istenilen hızda yapıyor mu? Yazılım istenilen kadar işlev yapabiliyor mu? Yazılım istenilen işlevleri en çok ne kadar yapıyor? Yazılım istenileni kolay yapıyor mu? Yazılım istenilen işlevleri güvenli yapıyor mu? Yazılım işlevleri her zaman yapabiliyor mu? …
validation
verificaion
reliability
performance
load
stress
usability
security
compatibilty
İnter-operatability maintainability availability accessibility
Test Design Technics
Static
Review
İnspection
Walkthroughs
Desk Checking
Static Analysis
Dynamic
Structural (White Box)
Data Flow
Sybolic Execution
Definition Use
Control Flow
Statament
Branch Decision
Branch Condition
Branch Condition
Combination
LCSAJ
Arcs
Behavioural (Black Box)
Non-functional
Usability
Performance
Functional
Equavalence Partitioning
Boundary Value Analysis
Cause-effect Graphing
Random
State Transition
Gray-Box
Performance
Load
Stress
Endurance
Spike
API
4. Yazılım Geliştirme Modelleri?
Waterfall (Şelale) Modeli
İstek, Kanun Değişikliği, vb
Kullanıcı Gereksinimleri
Sistem Gereksinimleri
Üstdüzey Tasarım
Detay Tasarım
Kod Geliştirme
Test
Big-Bang
Test Neden Gerekli?
Hatanın MaliyetiSDLC
Gereksinim
Tasarım
Geliştirme
Test
Yayınlama
Kısaca iyi test Ciddi hataları erken bulmaktır!Özay Civelek, testurk.com
4. Yazılım Geliştirme Modelleri?
V-Modeliİstek, Kanun
Değişikliği, vb
Kullanıcı Gereksinimleri
Sistem Gereksinimleri
Üstdüzey Tasarım
Detay Tasarım
Kod Geliştirme
İstek, Kanun Değişikliği, vb
Kullanıcı Gereksinimleri
Sistem Gereksinimleri
Üstdüzey Tasarım
Detay Tasarım
Kod Geliştirme
Birim Testi
Birim Entegrasyon Testi
Sistem Testi
Sistem Entegrasyon Testi
Kullanıcı Kabul TestiVALIDATION
VERIFICATIO
N
4. Yazılım Geliştirme Modelleri?
V-Modeli: Geç Test (early testing)
İstek, Kanun Değişikliği, vb
Kullanıcı Gereksinimleri
Sistem Gereksinimleri
Üstdüzey Tasarım
Detay Tasarım
Kod Geliştirme
Birim Testi
Birim Entegrasyon Testi
Sistem Testi
Sistem Entegrasyon Testi
Kullanıcı Kabul Testi
TEST
TEST
TEST
TEST
TEST CASE
ÇALIŞTIRM
ATEST CASE TASARIMI
TEST
4. Yazılım Geliştirme Modelleri?
İteratif Yazılım Geliştirme Bir yaklaşımdır İşi fazlara bölmeye dayanır
4. Yazılım Geliştirme Modelleri?
Agile Yazılım Geliştirme Modeli Manifesto – 2001
http://agilemanifesto.org/ Daha fazla insan odaklı Dökümantasyon çok çalışan işe önem verir Müşteri odalılık Daha hızlı cevap verme Pratikleri
Rational Unified Process (RUP) Scrum Extrem Programming (XP)
4. Yazılım Geliştirme Modelleri?
Toyotist vs Fordist Taiichi Ohno
Toyota üretim sisteminin kurucusu “In the American system, a lathe operator is always a lathe operator
and a welder is always a welder to finish. In the Japanese system, an operator has a wide range of possibilities. You can work with a lathe, use a drill and operate a milling machine.) Who can say which system is better ” (Ohno, 1991, p. 41).
4. Yazılım Geliştirme Modelleri?
Hangi model daha uygun Agile
Küçük projeler Değişken gereksinimler Zaman kısa Deneyimli kadro
Waterfall Gereksinimler net ve değişmiyor Büyük proje
V-Model Değişken gereksinimler Büyük proje Aşamalarda onay isteniyorsa Risk fazla
Teşekkürler.