SlideShare a Scribd company logo
1 of 14
Yazılım Kalitesi
• “Ability to satisfy requirements” Deming, 1968
• “Conformance to user requirements” Crosby, 1979
• “Doing right it the first time” Price, 1985
• “Fitness for intended use” Juran, 1988
Yazılım Kalitesi
• Hepimizin belli süreçlerde hissettiği ama tanımlayamadğı bir
  kavram.
• Soyut ve yoruma açık.
• Gereksinimlerin karşılanma başarısı.




 Yazılım kalitesi, yazılımın çözmeye çalıştığı
        problemlerin başarı derecesidir.
Kalite Gereksinimleri
• Fonksiyonel gereksinimler
   • Yazılımın yapabildiği ya da
     yapabileceği belirli aksiyonlar.
   • İslevsellik(Functionality)
• Fonksiyonel olmayan gereksinimler
   • Güvenilirlik(Reliability)
   • Kullanılabilirlik(Usability)
   • Verimlilik(Efficiency)
   • Bakılabilirlik(Maintainability)
   • Taşınabilirlik(Portability)
   • ......
• Bu gereksinimlerin sorunsuz olarak
  karşılanması «kaliteli» anlamına
  gelir mi?
Kalite Özellikleri
• Kalite Faktörleri(Sınıfları)...[klişe]
Nasıl Tanımlarız?
• «You can’t manage what you can’t measure» Tom DeMarco
• Ölçebilmeliyiz...
• Modeller
   • Yol haritası
   • Kalite süreçlerinin karakteri
• Standartlar
   • SPICE
    •   İyileşme,iyileştirme
  • Capability Maturity Model [CMM(I)]
    • Sertifikasyon ve yetenek belirleme

  • ISO
    • Sertifikasyon
Nasıl Tanımlarız?
• Yazılımın yaşam döngüsünde bulunan her
 «entity» için farklı şekilde tanımlıdır.

    Müşteri                           Entegre
                                     Sistemler




                                     Bakım ve destek
Son kullanıcılar                        elemanları


                   Geliştiriciler (:
Kalite Nasıl Sağlanır?
• Hata Ayıklama (Geleneksel)
   • Verification and Validation(Doğrulama)
• Hata Önleme
   • Software Quality Assurance(Kalite
     Güvence)
   • Test-Driven Development(TDD)
• Kalitenin sağlanması bir süreç
 dahilinde sürekli kontrol edilmelidir.

   Hata Önleme > Hata Ayıklama
Kalite Nasıl Sağlanır?
• Süreç içerisinde sürekli kontrol
  edilmelidir.
• Süreç de sorgulanabilmeli
Kalite Nasıl Ölçülür?
• Feedback(Geri bildirim) en basit
 ölçme yöntemi ve aracı.
  • Müşteri,geliştirici,bakım,destek....


• Kod Kalitesi
   • Kod metrikleri
   • Kod review
   • Unit Test
Kod metrikleri
• Sınıfın Ağırlıklı Metot Sayısı - Weighted Methods
    per Class (WMC)
•   Kalıtım Ağacının Derinliği - Depth of Inheritance
    Tree (DIT)
•   Alt Sınıf Sayısı - Number of Children (NOC)
•   Nesne Sınıfları Arasındaki Bağımlılık - Coupling
    Between Object Classes (CBO)
•   Sınıfın Tetiklediği Metot Sayısı - Response For a
    Class (RFC)
•   Metotların Uyumluğu - Lack of Cohesion in Methods
    (LCOM)
•   ....
•   ..
•   .
Kötü Kod Kalitesi            Code Smell
• Uzun method içerikleri
• Uzun parametre listeleri
• Tekrar eden kod
• Büyük sınıf
• Ölü kod
• Veri objesi
• Küçük sınıf
• ..
• .
Kaliteli Yazılım
• Uzun yaşar
• Genişletilebilir
• Sorun yaratmaz
• Maliyetlidir
   • Maddi
   • Manevi
Haydi sor sor...

            ?
       Teşekkürler (:

More Related Content

What's hot

Interview questions
Interview questionsInterview questions
Interview questions
sivareddyeda
 
Konfigurasyon yonetim stratejisi
Konfigurasyon yonetim stratejisiKonfigurasyon yonetim stratejisi
Konfigurasyon yonetim stratejisi
Volkan OZCAN
 
Test Automation - Keytorc Approach
Test Automation - Keytorc Approach Test Automation - Keytorc Approach
Test Automation - Keytorc Approach
Keytorc Software Testing Services
 

What's hot (20)

Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem prática
 
Test Case Management Tools
Test Case Management ToolsTest Case Management Tools
Test Case Management Tools
 
Scrum gathering Paris 2013 - test automation strategy for Scrum Projects
Scrum gathering Paris 2013 -  test automation strategy for Scrum ProjectsScrum gathering Paris 2013 -  test automation strategy for Scrum Projects
Scrum gathering Paris 2013 - test automation strategy for Scrum Projects
 
Викторина для тестировщиков
Викторина для тестировщиковВикторина для тестировщиков
Викторина для тестировщиков
 
ISTQB Metodolojisi ile Test Planlama ve Tahminleme
ISTQB Metodolojisi ile Test Planlama ve TahminlemeISTQB Metodolojisi ile Test Planlama ve Tahminleme
ISTQB Metodolojisi ile Test Planlama ve Tahminleme
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
 
Interview questions
Interview questionsInterview questions
Interview questions
 
Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven Development
 
Gereksinim Analizi Dokümanı Hazırlama
Gereksinim Analizi Dokümanı HazırlamaGereksinim Analizi Dokümanı Hazırlama
Gereksinim Analizi Dokümanı Hazırlama
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Software testing vs. Game testing
Software testing vs. Game testingSoftware testing vs. Game testing
Software testing vs. Game testing
 
Software testing
Software testingSoftware testing
Software testing
 
Performance Testing Overview
Performance Testing OverviewPerformance Testing Overview
Performance Testing Overview
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1
 
Konfigurasyon yonetim stratejisi
Konfigurasyon yonetim stratejisiKonfigurasyon yonetim stratejisi
Konfigurasyon yonetim stratejisi
 
An Introduction to Unit Testing
An Introduction to Unit TestingAn Introduction to Unit Testing
An Introduction to Unit Testing
 
Softwaretesting
SoftwaretestingSoftwaretesting
Softwaretesting
 
Test Automation - Keytorc Approach
Test Automation - Keytorc Approach Test Automation - Keytorc Approach
Test Automation - Keytorc Approach
 
Unit Testing Android Applications
Unit Testing Android ApplicationsUnit Testing Android Applications
Unit Testing Android Applications
 
Test Automation in Agile
Test Automation in AgileTest Automation in Agile
Test Automation in Agile
 

Similar to Yazılım Kalitesi

Analist Eğitimi - Tüm Bölümler - [535 Slides]
Analist Eğitimi - Tüm Bölümler -  [535 Slides]Analist Eğitimi - Tüm Bölümler -  [535 Slides]
Analist Eğitimi - Tüm Bölümler - [535 Slides]
Erol Bozkurt
 
Vhdl testi
Vhdl testiVhdl testi
Vhdl testi
sersld80
 
Vhdl testleri
Vhdl testleriVhdl testleri
Vhdl testleri
sersld80
 
Yazılım kalitesi ve Standartlar
Yazılım kalitesi ve StandartlarYazılım kalitesi ve Standartlar
Yazılım kalitesi ve Standartlar
İbrahim ATAY
 

Similar to Yazılım Kalitesi (20)

Capability Maturity Model
Capability Maturity ModelCapability Maturity Model
Capability Maturity Model
 
Kod Kalitesinin Sürekli Denetimi: SonarQube
Kod Kalitesinin Sürekli Denetimi: SonarQubeKod Kalitesinin Sürekli Denetimi: SonarQube
Kod Kalitesinin Sürekli Denetimi: SonarQube
 
006 Uml Modelleri Gereksinimler [120 Slides]
006 Uml Modelleri Gereksinimler [120 Slides]006 Uml Modelleri Gereksinimler [120 Slides]
006 Uml Modelleri Gereksinimler [120 Slides]
 
Analist Eğitimi - Tüm Bölümler - [535 Slides]
Analist Eğitimi - Tüm Bölümler -  [535 Slides]Analist Eğitimi - Tüm Bölümler -  [535 Slides]
Analist Eğitimi - Tüm Bölümler - [535 Slides]
 
Vhdl testi
Vhdl testiVhdl testi
Vhdl testi
 
Kalite yonetimi
Kalite yonetimiKalite yonetimi
Kalite yonetimi
 
BTRisk Yazılım Güvenliği Yönetimi Eğitimi
BTRisk Yazılım Güvenliği Yönetimi EğitimiBTRisk Yazılım Güvenliği Yönetimi Eğitimi
BTRisk Yazılım Güvenliği Yönetimi Eğitimi
 
Bir CMMI Seviye 5 Organizasyonel Performans Yönetim Projesi Örneği: Kod Kalit...
Bir CMMI Seviye 5 Organizasyonel Performans Yönetim Projesi Örneği: Kod Kalit...Bir CMMI Seviye 5 Organizasyonel Performans Yönetim Projesi Örneği: Kod Kalit...
Bir CMMI Seviye 5 Organizasyonel Performans Yönetim Projesi Örneği: Kod Kalit...
 
Scrum takımlarında performans ölçüm yaklaşımı
Scrum takımlarında performans ölçüm yaklaşımıScrum takımlarında performans ölçüm yaklaşımı
Scrum takımlarında performans ölçüm yaklaşımı
 
Yasayan Bir Organizma: YAZILIM - YTU-KVK Finans ve Yazilim Gunleri - 18.11.2013
Yasayan Bir Organizma: YAZILIM - YTU-KVK Finans ve Yazilim Gunleri - 18.11.2013Yasayan Bir Organizma: YAZILIM - YTU-KVK Finans ve Yazilim Gunleri - 18.11.2013
Yasayan Bir Organizma: YAZILIM - YTU-KVK Finans ve Yazilim Gunleri - 18.11.2013
 
In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...
In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...
In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...
 
Sunum tdd
Sunum tddSunum tdd
Sunum tdd
 
Yazılım mühendisliğinde i̇nsan bilgisayar etkileşimi
Yazılım mühendisliğinde i̇nsan bilgisayar etkileşimiYazılım mühendisliğinde i̇nsan bilgisayar etkileşimi
Yazılım mühendisliğinde i̇nsan bilgisayar etkileşimi
 
Software development life cycle yazılım geliştirme yaşam döngüsü
Software development life cycle   yazılım geliştirme yaşam döngüsüSoftware development life cycle   yazılım geliştirme yaşam döngüsü
Software development life cycle yazılım geliştirme yaşam döngüsü
 
Test
TestTest
Test
 
Vhdl dersi
Vhdl dersiVhdl dersi
Vhdl dersi
 
Vhdl testleri
Vhdl testleriVhdl testleri
Vhdl testleri
 
Teste bakıs v01
Teste bakıs v01Teste bakıs v01
Teste bakıs v01
 
E-ticarette Yazılım ve Altyapı
E-ticarette Yazılım ve AltyapıE-ticarette Yazılım ve Altyapı
E-ticarette Yazılım ve Altyapı
 
Yazılım kalitesi ve Standartlar
Yazılım kalitesi ve StandartlarYazılım kalitesi ve Standartlar
Yazılım kalitesi ve Standartlar
 

Yazılım Kalitesi

  • 1.
  • 2. Yazılım Kalitesi • “Ability to satisfy requirements” Deming, 1968 • “Conformance to user requirements” Crosby, 1979 • “Doing right it the first time” Price, 1985 • “Fitness for intended use” Juran, 1988
  • 3. Yazılım Kalitesi • Hepimizin belli süreçlerde hissettiği ama tanımlayamadğı bir kavram. • Soyut ve yoruma açık. • Gereksinimlerin karşılanma başarısı. Yazılım kalitesi, yazılımın çözmeye çalıştığı problemlerin başarı derecesidir.
  • 4. Kalite Gereksinimleri • Fonksiyonel gereksinimler • Yazılımın yapabildiği ya da yapabileceği belirli aksiyonlar. • İslevsellik(Functionality) • Fonksiyonel olmayan gereksinimler • Güvenilirlik(Reliability) • Kullanılabilirlik(Usability) • Verimlilik(Efficiency) • Bakılabilirlik(Maintainability) • Taşınabilirlik(Portability) • ...... • Bu gereksinimlerin sorunsuz olarak karşılanması «kaliteli» anlamına gelir mi?
  • 5. Kalite Özellikleri • Kalite Faktörleri(Sınıfları)...[klişe]
  • 6. Nasıl Tanımlarız? • «You can’t manage what you can’t measure» Tom DeMarco • Ölçebilmeliyiz... • Modeller • Yol haritası • Kalite süreçlerinin karakteri • Standartlar • SPICE • İyileşme,iyileştirme • Capability Maturity Model [CMM(I)] • Sertifikasyon ve yetenek belirleme • ISO • Sertifikasyon
  • 7. Nasıl Tanımlarız? • Yazılımın yaşam döngüsünde bulunan her «entity» için farklı şekilde tanımlıdır. Müşteri Entegre Sistemler Bakım ve destek Son kullanıcılar elemanları Geliştiriciler (:
  • 8. Kalite Nasıl Sağlanır? • Hata Ayıklama (Geleneksel) • Verification and Validation(Doğrulama) • Hata Önleme • Software Quality Assurance(Kalite Güvence) • Test-Driven Development(TDD) • Kalitenin sağlanması bir süreç dahilinde sürekli kontrol edilmelidir. Hata Önleme > Hata Ayıklama
  • 9. Kalite Nasıl Sağlanır? • Süreç içerisinde sürekli kontrol edilmelidir. • Süreç de sorgulanabilmeli
  • 10. Kalite Nasıl Ölçülür? • Feedback(Geri bildirim) en basit ölçme yöntemi ve aracı. • Müşteri,geliştirici,bakım,destek.... • Kod Kalitesi • Kod metrikleri • Kod review • Unit Test
  • 11. Kod metrikleri • Sınıfın Ağırlıklı Metot Sayısı - Weighted Methods per Class (WMC) • Kalıtım Ağacının Derinliği - Depth of Inheritance Tree (DIT) • Alt Sınıf Sayısı - Number of Children (NOC) • Nesne Sınıfları Arasındaki Bağımlılık - Coupling Between Object Classes (CBO) • Sınıfın Tetiklediği Metot Sayısı - Response For a Class (RFC) • Metotların Uyumluğu - Lack of Cohesion in Methods (LCOM) • .... • .. • .
  • 12. Kötü Kod Kalitesi Code Smell • Uzun method içerikleri • Uzun parametre listeleri • Tekrar eden kod • Büyük sınıf • Ölü kod • Veri objesi • Küçük sınıf • .. • .
  • 13. Kaliteli Yazılım • Uzun yaşar • Genişletilebilir • Sorun yaratmaz • Maliyetlidir • Maddi • Manevi
  • 14. Haydi sor sor... ? Teşekkürler (: