Yazılımda Test Gerçekleri

Slides:



Advertisements
Benzer bir sunumlar
ÇANKIRI KARATEKİN ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ
Advertisements

Değişkenler.
Sosyal Bilimlerde Araştırma Yöntemleri
İLETİŞİM NEDİR? İletişim,nesnel kriterlere dayalı aktaranın ve algılayanın,algısından bağımsız olan bilginin ve kişilerin özelliklerinin ifadesi olan duygu.
KARAR TEORİSİ.
UEFA Hakem Gözlemciliği Felsefesi
MIT563 Yapay Zeka ve Makine Öğrenmesi
BİLİMSEL ARAŞTIRMA YÖNTEMLERİ
PRATİK TECRÜBELER BUSINESS EXPERIENCES BETWEEN SWEDEN & TURKEY.
KALİTE KONTROL VE STANDARDİZASYON
YÖNETİMİN İŞLEVLERİ- KARAR ALMA
Güvenirlilik, Geçerlilik Kaynakları ve Model Oluşturma
YZM Yazılım Doğrulama ve Geçerlileme
BÖLÜM 6 DENETİM TESTLERİ
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Bora GÜRSEL CBÜ BAUM Proje Yöneticisi
Yazılım Test Süreci. Yazılım test süreci Test Hazırlık Adımında Neler Yapılmalıdır? Test edilecek yazılıma ait analiz ve teknik tasarım aşamaları ile.
İPUÇLARI VE KULLANIMI Hülya KAYGISIZ
Yazılım Proje Yönetimi
YENİ ÜRÜN GELİŞTİRME ve ÜRÜN YAŞAM SÜRECİ STRATEJİLERİ
FMEA Failure Mode and Effects Analysis-Hata Türü ve Etkileri Analizi
Temel İstatistik Terimler
SİU 2009 Sınıflandırıcılarda Hata Ölçülmesi ve Karşılaştırılması için İstatistiksel Yöntemler Ethem Alpaydın Boğaziçi Üniversitesi
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Yetkinlikler Yetkinlikler belirli bir görevi başarıyla yerine getirebilmek için beklenen ortak kurumsal davranış ve tutumları tanımlanmaktadırlar.
KARİYER GELİŞTİRME Kariyer: (koşu yolu, arena, meslek hayatı, meslek)Meslekte, işte ilerleme, yükselme, başarılı olma olarak kullanılır. Kariyer, kişinin.
YZM Yazılım Doğrulama ve Geçerlileme
Yazılım, Windows İşletim Sistemleri Öğr. Gör. Tufan MENGİ.
CASE FAIR OSTER Prepared by: Fernando Quijano & Shelly Tefft.
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
Sınav Kaygısı ve Önleme Yolları.
Bazı terimler Gelir Maliyetler Karlar
CASE FAIR OSTER Prepared by: Fernando Quijano & Shelly Tefft.
TEST ÇÖZME TEKNİKLERİ.
CASE FAIR OSTER Prepared by: Fernando Quijano & Shelly Tefft.
PROJE GELİŞTİRME yorum, araş.gör.levent yılmaz gençlik grubu KOLAY SİSTEM YÖNTEMİ.
PERFORMANS KAVRAMI PERFORMANSIN BOYUTLARI
BİLİMSEL ARAŞTIRMA YÖNTEMLERİ
CASE FAIR OSTER Prepared by: Fernando Quijano & Shelly Tefft.
KOBİ’LERE YÖNELİK TEMEL İŞ SAĞLIĞI VE GÜVENLİĞİ EĞİTİMİ İÇİN
Kritik Finansal Sistemlerde Yazılım Değişiklik ve Takip Yönetim Sistemi Mehmet Vacit BAYDARMAN BİLGİ TEKNOLOJİLERİ.
YGS TESTLERİNDE YERALAN SORULAR ZORLUK DÜZEYLERİNE GÖRE 5’E AYRILMAKTADIR.
Bölümün Amacı Bu bölüm, örgütlerin nasıl değiştiğini ve yöneticilerin yenilik ve değişim sürecini nasıl yönettiklerini keşfetmektedir.
Bölüm 04 Veri Toplama ve Örnekleme
HOŞ GELDİNİZ  REHBERLİK SERVİSİ. TEST ÇÖZME TEKNİĞİ.
SİSTEM VE YAZILIM Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur. Yazılım, bilgisayar sistemlerinin bir bileşeni.
İLETİŞİM MODELLERİ.
 REHBERLİK SERVİSİ YAVUZ ÖCAL REHBER ÖĞRETMEN.
BM-103 Programlamaya Giriş Güz 2012 (3. Sunu)
Projenin Kontrolü Rogier Tesson Thijs Leijen. Projenin değerlendirilmesine ilişkin kriterler Yatırım kararları, iş planları temel alınarak, mantıklı gerekçelere.
Karşılaştırmalı Tablolar Tekniği. Analizi yapan kişi analiz tekniklerini uyguladıktan sonra, mali tablolardaki değişimleri ve nedenlerini ortaya koymalıdır.
ÖĞRENME AMAÇLARI Olasılıklı örneklem ile örnek büyüklüğüne karar vermenin altında yatan sekiz aksiyomun anlaşılması Güven aralığı yaklaşımını kullanarak.
Firma adı İsminiz eposta adresiniz Bu slide’da ne iş yaptığınızı söyleceksiniz!!! ELİF KALAYCI, ESKİŞEHİR 24/11/2014.
BÖLÜM 2 NEREYE VARMAK ÜZEREYİZ: PROBLEM VE PROBLEMİN BÜYÜKLÜĞÜ.
Bilgisayar Mühendisliğindeki Yeri
Bekir Sami NALBANTOĞLU
Yazılım Mühendisliği YYurtaY. Ekip çalışması
Pazarlama Araştırmalarına Giriş ve Araştırma Süreci
Sistem Analizi ve Tasarımı
Davranış durum Eğitilen sistem Değer Atama Ortam Kritik Ödül r δ Eğiticisiz Öğrenme Pekiştirmeli Öğrenme (reinforcement learning) Öğrenme işleminin her.
Temel İstatistik Terimler
Hipotez Testinde 5 Aşamalı Model
YER TEMİZLEME MAKİNASI
İSTATİSTİK II Hipotez Testleri 1.
PERFORMANS KAVRAMI PERFORMANSIN BOYUTLARI
Temel İstatistik Terimler
Yapay Öğrenme Teorisi Bölüm-2
Korelasyon testleri Pearson korelasyon testi Spearman korelasyon testi Regresyon analizi Basit doğrusal regresyon Çoklu doğrusal regresyon BBY606 Araştırma.
Sunum transkripti:

Yazılımda Test Gerçekleri

Yazılım süreç modelleri bir idealdir… gerçek değildir Hiçbir yazılım geliştirme girişimi bir süreci mükemmel bir şekilde uygulayamaz. Peki neden? Şartname asla müşterinin ihtiyaçlarını tam anlamıyla kapsamaz. Hiçbir zaman bütün test işlemini gerçekleştirmek için yeterli zaman olmaz. Bunlara rağmen ilerlemek için ideal bir modele ihtiyacımız var. İmtiyazlar kaçınılmazdır.

Yazılım testinde varsayımlar (aksiyomlar) Bir programı tamamen test etmek imkansızdır. Yazılım testi riske dayalı bir uygulamadır. Test, hataların yokluğunu gösteremez. Ne kadar fazla hata bulursan o kadar daha hata vardır. Bulunan bütün hatalar düzeltilemeyecektir. Bir hatanın gerçekten bir hata olduğunu söylemek zordur. Şartnameler asla son halini almayacak. Yazılım test uzmanları proje takımında pek popüler değillerdir. Yazılım testi disiplinli ve teknik bir uzmanlık alanıdır.

Varsayım 1 Programı tamamen test etmek imkansızdır. Etraflıca test etmek için kaç tane test durumuna (test case) ihtiyaç var: Powerpoint A calculator MS Word Tamamiyle emin olmak için tek yol olası bütün girdilerle bu girdilere karşılık üretilen çıktıları gözlelemektir. Şartnamenin de doğru ve eksiksiz olması lazım.

Varsayım 1 (cont’d) It is impossible to test a program completely Olası girdilerin sayısı çok fazladır. Olası çıktıların sayısı çok fazladır. Yazılımın içindeki yolların sayısı çok fazladır. Yazılım şartnamesi yoruma açıktır. İnterpretation: yorum

Varsayım 2 Yazılım testi riske dayalı bir uygulamadır Eğer yazılımı tüm girdiler için test etmezseniz risk almış olursunuz. Neyse ki birçok doğru çalışan girdi es geçilecek. Hataya sebep olan bir girdi atlanırsa? Risk: mali kayıp, güvenlik, can kaybı! Test yapan kişinin üstünde çok baskı vardır! breaking the bank: çok pahalıya mal olmak, el yakmak

Varsayım 2 (cont’d) Yazılım testi riske dayalı bir uygulamadır Kaçırılan hataların sayısı Test maliyeti Eğer çok fazla test yapılırsa, geliştirme maliyeti altından kalkılamaz hale gelir. Eğer çok az test yapılırsa yazılım hatalarının olasılığı artar ve bu hatalar bize çok fazla zaman kaybettirir. Miktar İdeal test Az Test Çok test Prohibitive: ulaşılamaz fiyat Test sayısı

Varsayım 3 Test, hataların yokluğunu gösteremez. «Program testi hataların varlığını göstermek için kullanılabilir ancak, asla yokluklarını göstermek için kullanılmaz!» Edsger Wybe Dijkstra Dijkstra programlama dilleri alanına önemli katkılarından dolayı 1972 ACM Turing ödülünü kazanmıştır.

Tartışma… ACM nedir? ACM Turing Ödülü nedir? Alan Turing kimdir?

Varsayım 4 Ne kadar fazla hata bulursan o kadar daha hata vardır Hatalar gruplar halinde görülür. Bir hata bulduğunuz zaman muhtemelen daha çok bulacaksınız … Peki neden? Programcıların kötü günleri olabilir Programcılar genelde aynı tip hataları yapmaya meyillidirler Bazı hatalar sadece buz dağının su üstündeki kısmıdır Boris Beizer coined the term pesticide paradox to describe the phenomenon that the more you test software the more immune it becomes to your test cases. «Yazılımı ne kadar fazla test ederseniz, test durumlarınıza o kadar bağışıklık kazanacaktır.» Boris Beizer Çare: Yazılımın farklı bölümlerini incelemek için sürekli yeni ve farklı test durumları oluşturmalısınız. Remedy: çare

Varsayım 5 Bulunan bütün hatalar düzeltilemeyecektir Bildiğin bir hatayı neden düzeltemeyesin? Yeterli zaman yoktur Zaman sınırları aşılamaz Gerçekten bir kod hatası olmayabilir. Şartname yanlış olabilir Düzeltmesi çok risklidir Bir hatanın düzeltmesinin sonuçları ağır olabilir (regresyon hatası) Düzeltmeye değmez Can alıcı olmayan bazı hatalar sonra düzeltilmek üzere bekletilebilir. Y2K: Year 2000 Fringe: kenar

Varsayım 6 Bir hatanın gerçekten bir hata olduğunu söylemek zordur Yazılımda bir problem varsa ve o zamana kadar kimse bunu fark edememişse… bu bir hata mıdır? Parodi “Ormanda bir ağaç düşerse, gerçekten gürültü çıkarır mı?” Fark edilmeyen hatalara örtülü/gizli hata (latent bug) denir.

Varsayım 7 Şartnameler asla son halini almayacak Amacı/hedefi değişen şartnameye göre bir ürün geliştirmek yazılım geliştirme dünyasında neredeyse kaçınılmazdır. Şiddetli rekabet Çok hızlı piyasaya sürme periyotları Yazılım çok «kolay» değişir Diğer mühendislik alanlarında bu doğru değildir Örneğin; Boğaziçi Köprüsünün inşası başladıktan sonra treninde geçmesi için uyarlanamaz.

Varsayım 8 Yazılım test uzmanları proje takımında pek popüler değillerdir Yazılım test uzmanının hedefi: Hataları bulmak Hataları erken bulmak Hataların düzeltildiğinden emin olmak Takında iyi karşılanmak için öneriler: Hataları erken bul Heyecanını bastır… profesyonelce davran Sadece kötü haberleri raporlama

Varsayım 9 Yazılım testi disiplinli ve teknik bir uzmanlık alanıdır Yazılımların daha basit ve yönetilebilir olduğu zamanlarda yazılımı test edenler genelde eğitimsizdiler ve test uygulaması metodik olarak yapılmıyordu. It is now too costly to build buggy software. Artık günümüzde hatalı yazılım üretmek çok maliyetlidir. Bu yüzden test uygulaması bir disiplin haline gelmiştir. Çok yönlü, gelişmiş teknikler Araç desteği Tatminkar kariyerler

Bazı önemli terimler Doğrulama (Verification) Sağlama (Validation) «Ürünü doğru bir şekilde üretiyor muyuz?» Yazılım şartnameyle örtüşüyor mu? Sağlama (Validation) “Doğru ürünü mü üretiyoruz?” Yazılım müşterinin ihtiyaçlarını karşılıyor mu?

Neler öğrendik… … Yazılım testindeki 9 varsayım … Yazılım doğrulaması (verification) nedir? … Yazılım sağlaması (validation) nedir?