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.

Slides:



Advertisements
Benzer bir sunumlar
Yazılım Geliştirme Süreci
Advertisements

SGB.NET’İN TEKNİK ALTYAPISI
HATA-ARIZA ARAMA Arıza teşhisinin çabuk ve doğru yapılması önemlidir.
Restaurant Yönetim Sistemi
Yazılım Projelerinde Test Süreci
MIT563 Yapay Zeka ve Makine Öğrenmesi
GETTİNG THE GAMEPLAY WORKİNG (Oyun Mekaniğinin Hayata Geçirilmesi)
Web Tasarım Maliyeti Bir web sitesine sahip olmak için üç tür ödeme yapılır. 1. Web sitesinin ismi (domain name) için yapılan ödeme. 2. Web sitesinin barındırılması.
TEDARİK ZİNCİRİ YÖNETİMİ.
StraTEJİK PROJE YÖNETİMİ
Yazılım Mühendisliği Bölüm - 7 Yazılım Doğrulama ve Geçerleme
BELGELEME Ian Sommerville, “Software Documentation”,
BÖLÜM 6 DENETİM TESTLERİ
SÜREÇ YÖNETİMİ Dr. Selami ERARSLAN İstanbul 2011.
HATA AYIKLAMA.
Bora GÜRSEL CBÜ BAUM Proje Yöneticisi
TÜMLEŞİK MODELLEME DİLİ
7.1 GENEL Kuruluş, güvenli ürünler gerçekleştirmek için ihtiyaç duyulan süreçleri planlamalı ve geliştirmelidir.
PERFORMANS BÜTÇE HAZIRLIK SÜRECİ
Sistem Geliştirme Sistemin tanımı. Sistemin Temel özellikleri
YZM Yazılım Doğrulama ve Geçerlileme
NESNEYE DAYALI PROGRAMLAMA
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Doğrulama ve Geçerlilik- Verification and Validation l Yazılım Sisteminin kullanıcı.
Afyon Kocatepe Üniversitesi
Hazırlayan:Emin BORANDAĞ
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Doğrulama ve Geçerlilik.
FMEA Failure Mode and Effects Analysis-Hata Türü ve Etkileri Analizi
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
GÖKAY GÖKTAŞ.  Hollywood, iyi belirlenmiş hedeflerle birlikte iyi bir sisteme sahiptir. Film yapımcısı filmin nasıl yapılacağını bilir. Film yapım aşamasındayken.
SİSTEM ANALİZİ VE TASARIMI
Taşınır Mal Yönetmeliği ve TAŞINIR KAYIT VE YÖNETİM SİSTEMİ Semineri Bayram KESER Mali Hizmetler Uzmanı 1 T.C MİLLÎ EĞİTİM BAKANLIĞI STRATEJİ GELİŞTİRME.
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
YZM Yazılım Doğrulama ve Geçerlileme
Yazılım, Windows İşletim Sistemleri Öğr. Gör. Tufan MENGİ.
Çevik Metodolojiler mi Geleneksel Metodolojiler mi?
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
DENEME.
ALİ FINDIK Galatasaray Ünİversİtesİ 2015
ISO/TS 16949:2009 (Hafta 9) ISO 9001:2008’E GÖRE FARKLAR.
Bilgi Teknolojisinin Temel Kavramları
AÇIK KAYNAK İŞLETİM SİSTEMİ
Yazılımda Test Gerçekleri
ÇOK KATMANLI MİMARİLER. Katman: Ortak işi yapan kodların bir yerde toplanması Örneğin hemen hemen her projemizde veri tabanı kullanırız, bunun için veritabanı.
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.
Proje Oluşturma ve Yönetimi
Maliye’de SPSS Uygulamaları
YAPIM KUŞAĞI ÜRETİYORUM.
 Projeler üç nedenle sona erdirilirler. 1. Proje amaçlarına ulaşılmış ve başarılı olarak tamamlanmıştır. 2. Projenin durdurulması gerekmektedir. 3. Proje.
Yazılım Müh.[YYurtaY 7.hft]1. 2 Bir yazılım ürünün testi ; ürünü son kullanıcıya teslim edilmeden önce yazılımın tüm yönleriyle kontrol edilmesidir. 
ÖĞRENCİ SEÇME VE YERLEŞTİRME SİSTEMİ (ÖSYS) 1. AŞAMA2. AŞAMA YGS LYS.
 Kalite en basit tanımıyla, müşteri isteklerine cevap verebilmektir.
Bilgisayar Mühendisliğindeki Yeri
ÇEVİK (Agile) SÜREÇLER Değişen gereksinimler, teknik riskler gibi önceden belirlenemeyen durumlara ve yazılım ürününü etkileyebilecek her tür değişikliğe.
Yazılım Mühendisliği YYurtaY. Ekip çalışması
Özgür Yazılım Günleri “Açık Kaynak Test Kütüphaneleri İle Birim Testi Yapmak” Yaşar Safkan.
Tedarik ziNCİRLERİ yÖNETİmi
ISO 9001:2015 standardı – 8. Maddenin Tanıtımı
Süreç Yönetimi.
PROGRAMLAMA TEMELLERİ
BİLGİ İŞLEM YAPILANMASI
SİSTEM ANALİZİ VE TASARIMI
Yazılım Bakımı Yazılım Mühendisliği.
ERP Projesinin Aşamaları İzmir. ERP Projesinin Aşamaları SatışSatış - Başlangıç – Kurulum – Analiz – Plan – Uyarlama – Eğitim – Geliştirme.
Problem Çözme Yaklaşımları
Cumhuriyet Üniversitesi Yazılım Mühendisliği Dersi
Yazılım Mühendisliği Temel Süreçler - Sistem Analizi
İçerik Tarihçe Hizmetlerimiz ve Çözümlerimiz Organizasyon Yapısı
BENZETİM 2. Ders Prof.Dr.Berna Dengiz Sistemin Performans Ölçütleri
Sunum transkripti:

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 ilgili dökümanlar, test ekibi tarafından incelenir. Yazılım içinde test edilecek (ve edilmeyecek) modüller belirlenir. Risk analizi yapılır ve yapılan değerlendirmeye göre dinamik test aşamasında uygulanacak olan test teknikleri ve metodları belirlenir. Dinamik testin uygulanacağı ortamlar ve bu ortamların ihtiyaçları belirlenip, uygun şartlar sağlanır. Test ekibi içinde görev paylaşımı ve zaman planlaması yapılır. Testin sonlandırma kriterleri belirlenir. Bir programa belirli girdiler verildiğinde hangi çıkışların ne şekilde alınması gerektiğini bildiren test case senaryoları belirlenir. Dinamik testin hangi adımlarla ve ne şekilde uygulanacağının belirtildiği test planı hazırlanır.

Dinamik Test Süreci Neleri İçermektedir? Test edilecek yazılımın tipine göre, kullanılacak test yöntemi değişmekle beraber, test yöntemleri genel olarak aşağıdaki şekilde gruplandırılabilir: Birim testi (Unit testing) Entegrasyon/Sistem/Tümleyim testi (Integration/System testing) Regresyon testi (Regression testing) : Genelde büyük bir miktar kod değiştikten sonra, hata bulmaya yönelik yapılan bir test çeşididir. Performans / Yük testi (Performance / Stress testing) Kullanıcı kabul testi (User acceptance testing) Beyaz kutu testi (White box testing) Kara kutu testi (Black box testing)

Doğrulama testi ve hata testinin farkı nedir? Doğrulama testi (Validation testing) Yazılımcının kendisine veya müşteriye, yazılımın isterleri yerine getirip getirmediğini göstermek için; Sistemin önceden tasarlandığı şekilde çalıştığını ispat etmek; Hata/Kusur testi (Defect testing) Yazılan programdaki eksik, bozukluk, kusuru bulma amaçlı. Program, hatalı sonuç vermeye zorlanır. Sıradan olmayan durumlar yaratılır. Test, hata olmadığını değil, hatayı gösterir. -> Hata testi sonucu, programın hatasız çalıştığı yargısına varılamaz.

Birim ve sistem testinin ne farkı vardır? Birim testi Programı oluşturan bileşenlerden birinin testi; Genelde birimi geliştiren kişi tarafından yapılır (Kritik sistemler hariç); Geliştiricinin tecrübesiyle şekillenir. Sistem testi Bileşenlerden ikisi veya daha fazlası bir araya getirilerek yapılan test; Bağımsız bir test ekibi tarafından yapılır; Testler, sistemin spesifikasyonu esas alınarak şekillenir. Birim testiSistem testi Yazılım geliştiriciTest birimi

Kara kutu testi (Black-box testing)

Sistem testi (Integration/System testing) - 1 Bileşenler bir araya getirilip, bir alt sistem veya sistem oluştururlar. İki aşamadan oluşur: Entegrasyon testi (Integration testing): Test ekibi, bileşenlerin bir araya gelmesiyle oluşan sistemin kodlarına ulaşabilir. Hata (defect) bulma amaçlıdır. Bir sorun (defect) keşfedildiğinde, hangi bileşende sorun olduğu bulunur. Sürüm testi (Release testing): Müşteriye teslim edilecek programın komple bir versiyonu test edilir. Bakılan şey, sistemin istenilen işi yapıp yapmadığıdır. Kara kutu test sistemi kullanılır; yani test ekibi sadece sistemin verilen işi yapıp yapmadığını kontrol eder. Buldukları problemleri yazılımcıya iletilirler. (Eğer sürüm testine müşteri de dahil edilirse, adı kullanıcı kabul testi (user acceptance testing) olur.)

Sistem testi (Integration/System testing) - 2 Bileşenlerin bir araya getirilmesi iki şekilde yapılabilir: Yukarıdan aşağı entegrasyon (Top-down integration) Önce sistemin omurgasını oluştur, sonra yavaş yavaş bileşenleri eklemeye başla. Aşağıdan yukarıya entegrasyon (Bottom-up integration) Önce altyapıya ait bileşenler kurulur, üstüne işlevsel bileşenler eklenir. Ör: Önce en çok kullanılan veri tabanı ve ağ bileşenleri birleştirilir. Üstüne diğer fonksiyonlar eklenerek devam edilir.

Adım adım entegrasyon testi (Incremental integration testing)

Tüm durumları tek tek test etmek imkansız! Olası durumları gösteren alt kümeler oluşturulmalı. Menülerden ulaşılabilen tüm fonksiyonlar test edilmeli; Aynı menüden girilen fonskiyon kombinasyonları test edilmeli; Kullanıcı girdisi gerektiği durumlarda, kullanıcının hem doğru, hem yanlış girdiği durumların ikisi de, tüm fonksiyonlar için test edilmeli. Sisteme hata mesajı verdirecek girdilerle denenmeli; Tamponların (buffer) taşmasına sebep olacak şekilde girdilerle denenmeli; Aynı girdi veya girdi serisini üstüste denemeli; Geçersiz çıktılar yaratmaya çalışmalı; İşlem sonuçlarının çok küçük veya çok büyük olmasına çalışmalı. Test hazırlama

Test Sonlandırma Adımı Yapılan testler sonucu bulunan hatalar düzeltildikten sonra, test hazırlık adımında hazırlanan test sonlandırma kriterleri kontrol edilir. Tüm kriterler kabul edilebilir seviyedeyse, test aşaması sonlandırılabilir. Ardından, uygulama müşteri testine (user acceptance test) açılır. Değişmesi gerken yer varsa, yazılımcıya düzelttirilir ve test ekibine yollanır. Test ekibi tarafından kontrolden geçen yazılım, ürün aşamasına geçer. Yani, yazılım geliştirme sürecinin son basamağına geçilmiş olunur.

Test Otomasyonu Test, pahalı bir süreç. Test otomasyon araçları teste harcanan süreyi azaltmak ve toplam maliyeti kısmaya yarıyor. JUnit, IBM Rational Functional Tester, FitNesse, Selenium, soapUI, vb. testleri otomatik olarak yapan araçlar. Çoğu test aracı açık kaynak kodlu; çünkü her kuruma/projeye özel şekilde kullanılmaları gerekiyor.