Yazılım Test Süreci ve Uygulama Örneği İle Süreç İyileştirme Çalışmaları ve Sonuçları

Benzer belgeler
Yazılım Mühendisliği 1

İ.Ü. AÇIK VE UZAKTAN EĞİTİM FAKÜLTESİ Kullanıcı Deneyimi ve Kullanılabilirlik Değerlendirmesi Standardı

Sedona. Eğitim Kataloğu

Smart Work ile SüreS. reçlerinizi Daha Verimli Hale Getirin Yeşim MUTLU. WebSphere Ürün Müdürü

Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC)

Yazılım Test Sürecinde Hata Yönetimi ve Finans Sektöründen Örnek Uygulama

Sedona. Nisan 2013 Eğitim Kataloğu

Doküman No:ITP 16.1 Revizyon No: 01 Tarih: Sayfa No: 1/5 KALİTE SİSTEM PROSEDÜRLERİ PROJE YÖNETİMİ PROSEDÜRÜ

Denetim & Yeminli Mali Müşavirlik SÜREKLİLİK İÇİN

ABANT İZZET BAYSAL ÜNİVERSİTESİ DOKÜMAN VERİ PROSEDÜRÜ

MAVİ YAKA İŞE ALIMINA ÖZEL ÜRÜN VE HİZMETLERİMİZ. Bu sunum PozitifİK tarafından hazırlanmıştır. Tüm hakları saklıdır.

TURKCELL HİZMETLERİ. Kullanım Bilgileri. LOGO Kasım 2014

MerSis. Bilgi Güvenliği Danışmanlık Hizmetleri

KolayOfis İzin Talep Süreci Rehberi

KALİTE YÖNETİM SİSTEMİ İÇ DENETİM PROSEDÜRÜ

SÜREÇ YÖNETİMİ KAPSAMINDA PROSEDÜR HAZIRLAMA

MerSis. Bilgi Teknolojileri Bağımsız Denetim Hizmetleri

İLAÇ GÜVENLİĞİ RAMAK KALA BİLDİRİMLERİMİZ VE KAZANIMLARIMIZ

DataRut: Web Mobil Sıcak, Soğuk Satış Rut Planları Yönetim Sistemi

SİSTEM ANALİZİ VE TASARIMI. Sistem Analizi -Bilgi Sistemleri-

11.DERS Yazılım Testi

Önceden belirlenmiş sonuçlara ulaşabilmek için organize edilmiş faaliyetler zinciridir.

İç denetimin yarattığı katma değer ve ölçümü

EKAP Elektronik Kamu Alımları Platformu

KoçSistem. İK Uygulaması

Şeffaf İnsan Kaynakları. Aktif personel. Etkin yönetici

BİLGİ GÜVENLİĞİ. Temel Kavramlar

Hizmet Odaklı Mimariye Dayanan İş Süreçleri Yönetimi Sistemi

CMMI. CMMI ve Çevik Yöntemler. Orhan KALAYCI Haziran Yazılım Süreç Kalitesi ve Yönetim Danışmanlığı.

AİTM Münferit Araç Uygunluk Belgesi (TADİLAT) Teknik Yönetici İnceleme İşlemleri

İŞLETMELERDE İŞ SÜREÇ YÖNETİMİ (BPM) UYGULAMASI. Hazırlayanlar Fatma Didem GÜRKAN Endüstri Mühendisi Ahmet Alper ÇALIŞKAN Endüstri Mühendisi

Biz Kimiz? Ekibimizi yakından tanıyın: adresgezgini.com/ekibimiz

Doküman No Revizyon No Yayın Tarihi Sayfa No PROSES FMEA TALİMATI

Yaşanmış Tecrübe Paylaşımı Önce Test Et Sonra Kodla XP Pratiği

NEDEN TAKIM ÇALIŞMALARI...

ACRON BİLİŞİM. Destek Hizmetleri Sunumu

Proje Kaynak Yönetimi

Turkcell Hizmetleri LOGO KASIM 2011

MÜŞTERİ İLİŞKİLERİ YÖNETİMİ

PROJE UYGULAMA SÜRECİ 2010 YILI MALİ DESTEK PROGRAMLARI İZLEME VE DESTEK FAALİYETLERİ

WINDESKCONCENTO. sıgnum. Kurumsal İş Süreçleri Uygulamaları. windesk.com.tr

ANKARA ANONİM TÜRK SİGORTA ŞİRKETİ

Dijitalleşme Yolunda ERP Dönüşümü

AHİ EVRAN ÜNİVERSİTESİ DOKÜMAN VERİ PROSEDÜRÜ

TNB KAYITLI ELEKTRONİK POSTA HİZMET SAĞLAYICILIĞI VE TİCARET A.Ş.

Kontrol: Gökhan BİRBİL

İŞLETME RİSK YÖNETİMİ. Yrd. Doç. Dr. Tülay Korkusuz Polat 1/30

TEK NOKTA EĞİTİMLERİ

Türk Akreditasyon Kurumu EĞİTİM ORGANİZASYONU VE DEĞERLENDİRMESİ TALİMATI. Doküman Adı: Doküman No.: T Revizyon No: 03. Kontrol Onay. İsim.

MAĞAZA MÜDÜRÜ VE MAĞAZA SATIŞ PERSONELİ TEST PAKETLERİ

MARMARA ÜNİVERSİTESİ ANKET UYGULAMA YÖNERGESİ. BİRİNCİ BÖLÜM Amaç, Kapsam, Dayanak, Tanımlar

X. Çözüm Ortaklığı Platformu

İÜ AÇIK VE UZAKTAN EĞİTİM FAKÜLTESİ. Süreç İyileştirme Standardı

YÖNTEM FİLO YÖNETİMİ ARAÇ İZLEME SİSTEMLERİ

Kurumsal Risk Yönetimi Mustafa AŞKIN Sadece bugünü değil geleceği de korumak için!

Kurumsallaşma Eğitimi

InnGenius Yönetici Paneli

CMMI 2. Süreçleri ve XP Pratiklerinin Birlikte Kullanımına İlişkin Gerçek Hayat Tecrübeleri

KAİD EĞİTİM DANIŞMANLIK. Isinizin L ideri Olun!

İç Denetim Prosedürü

Doğal Gaz Dağıtım Sektöründe Kurumsal Risk Yönetimi. Mehmet Akif DEMİRTAŞ Stratejik Planlama ve Yönetim Sistemleri Müdürü İGDAŞ

Bilgi Sistemleri RiskYönetimi Hizmetleri

Novartis İş Zekası Çözümü. 7 Kasım 2012, İstanbul Kaan Marangoz, Novartis

Agency-1 Golf Otomasyonu

Chronos Yönetici için Kullanım Kılavuzu

1. Validasyon ve Verifikasyon Kavramları

Erma Yazılım EBYS Sistemi. (Elektronik Belge Yönetim Sistemi) Dijital Arşivleme. Otomasyonu

Kısaca. Müşteri İlişkileri Yönetimi. Nedir? İçerik. Elde tutma. Doğru müşteri Genel Tanıtım

İŞLETMELERDE İŞ SÜREÇ YÖNETİMİ (BPM) UYGULAMASI. Hazırlayanlar Fatma Didem GÜRKAN Endüstri Mühendisi Ahmet Alper ÇALIŞKAN Endüstri Mühendisi

Mobil Kullanılabilirlik ve Kullanıcı Deneyimi Eğitimi

URGE NEDİR Uluslararası Rekabetçiliğin Geliştirilmesinin Desteklenmesi Hakkında Tebliğ

İ.Ü. AÇIK VE UZAKTAN EĞİTİM FAKÜLTESİ Senaryosuz Hizmetler Standardı

KOCAELİ BÜYÜKŞEHİR BELEDİYESİ İÇ KONTROL EYLEM PLANI (2011)

e-beyas İŞLEMLERİ TALİMATI

İÇ TETKİKÇİ DEĞERLENDİRME SINAVI

İŞ SÜREKLİLİĞİ YÖNETİM SİSTEMİ İÇİN KRİTİK BAŞARI FAKTÖRLERİ

İÜ İç Denetim Birim Başkanlığı İÇ DENETİM PROSEDÜRÜ

NEDEN DOĞULİNE. Detaylı Analiz. Doğru Planlama. Hedef Kitleye Uygunluk. Doğru İçerik Stratejisi. 7/24 Destek. Deneyimli Ekip

Bildiğiniz Turint, bildiğiniz gibi değil!

SAP Mobile Documents. İlave Şartlar ve Koşullar

BORUSAN TEKNOLOJİ GELİŞTİRME VE ARGE A.Ş. BORUSAN GRUBU PROJE YÖNETİM SİSTEMATİĞİ

İSTANBUL ÜNİVERSİTESİ İç Denetim Birimi Başkanlığı İÇ DENETİM PROSEDÜRÜ

Süreç Yönetimi. Logo

ISO 27001:2013 BGYS BAŞTETKİKÇİ EĞİTİMİ

YAŞAR ÜNİVERSİTESİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ

Burak ULUOCAK, PMP, CSM Senior Project Manager. 24 Eylül 2010

T. C. KAMU İHALE KURUMU

İŞ ZEKASI (BI * ) Veriniz geleceğe ışık tutsun İşinizi geleceğe göre planlayın

HR - İnsan Kaynakları Modülü Organizasyon Yönetimi - Organizasyon Şeması İşlemleri

Yüz Yüze Projesi Sorumlusu Uluslararası Af Örgütü Türkiye Şubesi

* İnsan Kaynakları alanında çalışmak isteyen tüm Öğrenci ve Yeni Mezunlar,

UFRS 16 Kiralamalar Standardı'nın 5N1K'sı. Cihan Harman Simin Gülen

Kamu İç Denetçileri Eğitim Programı

E-MASA YENİ SÜRÜM İLE GELEN YENİLİKLER

ENTEGRE RAPORLAMA TÜRKİYE AĞI «ERTA» Tanıtım Sunumu

BDDK-Bilgi Sistemlerine İlişkin Düzenlemeler. Etkin ve verimli bir Banka dan beklenenler Bilgi Teknolojilerinden Beklenenler

CEO - Yönetim Raporlama Sistemi

Transkript:

Yazılım Test Süreci ve Uygulama Örneği İle Süreç İyileştirme Çalışmaları ve Sonuçları Ayşe Betül Karagöz 1 Kuveyt Türk Katılım Bankası Ar-ge Merkezi, Kocaeli ayse.karagoz@kuveytturk.com.tr Özet: Makalede yazılım testi, yazılım testinin önemi, yazılım test süreci literatür terimleri kullanılarak genel hatları ile anlatılmıştır. Peşinden bir uygulama örneği verilerek tecrübeler paylaşılmıştır. Sonuç ve çıkarımlar kısmı sunularak tecrübelerden kazanılmış dersler ve sonuçlar paylaşılmıştır. Test süreçlerinin hemen değil zamanla olgun iyi seviyeye geldiği ve olgunluk seviyesi arttıkça kalitenin arttığı sonucuna varılmıştır. Anahtar Kelimeler: yazılım test, yazılım test süreci, hata yönetimi Abstract: In the article, the software test, the importance of the software test are outlined by using the literature terms of the software testing process. Experiences are shared by giving an example of an application afterwards. Results and conclusions are presented. lessons and results gained from experience are shared. Not in a short time, over time Test procedures come to good level and as the level of maturity level of test increases, so does quality. Keywords: software test, software testing proces, defect management 1. Giriş Yazılım testi, yazılımdaki hataları bulmak, riskleri tespit etmek ve mevcut uygulamayı tanımlanan en yüksek kalite seviyesine ulaştırmak için yapılan testler bütünüdür [1]. Yazılım testinin amacı yazılım ürünündeki hataları bulmaktır. Testin nihai hedefi ise müşteri memnuniyetini, kurumun itibarını, ürün kalitesi değerlendirmek, maliyeti azaltarak can ve mal kaybını önlemektir [2]. Testin önemine gelince rekabetin arttığı, bilgi dolaşımının çok hızlı hale geldiği ve kritik risklerin oluştuğu çağımızda rakiplerine fark atma, müşteri sadakatini sağlama, riskleri önleme ancak testlerle mümkün olabilmiş ve 1

bu durum testin önemini gözler önüne sermiştir. 2. Testin Önemi Günümüzde yazılım teknolojilerinin hızla geliştiği bir zamanda özellikle büyük sektörlerde uygulamalar binlerce eş zamanlı kullanıcı oturumlarının desteklemek için çok katmanlı işlevsel bir yapıya sahiptir. Büyük ölçekli sistemlere, ticari, resmi kuruluşlar, kartlarla ilgili birçok web servis, çevrim içi bağlantılara sahiptir. Uygulamaya karmaşık iş akışları ve iş kuralları hâkimdir. Sık sık gerçek zamanlı ve toplu işlemler yapılır. Saniyede yapılan işlem oranı diğer uygulamalara göre çok yüksektir. Güvenlik son derece önemlidir çünkü maddi değerler söz konudur. Çoğunlukla iç ve dış denetime ve değişen kanunlara tabidir. Afetlere hazırlıklı, her durumda iş sürekliliği sağlanacak bir alt yapıya sahiptir. Rekabetin had safhaya ulaştığı sektör uygulamaları hem müşterisi açısından hem de kendi açısından güvenliğin hat safhada önemli olduğu, risklerin göze alınamayacağı hassasiyet gerektiren uygulamalar haline gelmişlerdir. Müşteriler artık mobil sistemlerle her an uygulamaların çoğuna ulaşıp kullanma hizmetine sahiptir. 3.2.1. Risk Analizi 3. Yazılım Test Süreci Adımları 3.1. Test Hazırlık Süreci Test mühendisi projenin en başından itibaren projeye dahil olarak proje amaç ve içeriğini öğrenir. Projenin kritik, riskli, kompleks kısımlarını tespit eder. Bu hazırlık projenin anlaşılması, testlerde hangi kısımların öncelikli olacağının ve hangi kısımlara yoğunlaşılacağının görülmesi açısından büyük önem taşır. 3.2. Test Planı ve Kontrol Projeye ait Teknik Analiz, İş Analizi ve Gereksinim dokümanları incelenir. Roller ve sorumluluklar belirlenir. Risk analizi yapılır. Testte kritik ve öncelikli alanlar tespit edilir. Test çıkış kriterleri belirlenir. Test mühendisi ürün risk analizini yapar. Ürün riski analizi ürünün performansı, güvenliği, kullanışlılığı, genişletilebilirliği, veri bütünlüğü, test edilebilirliği ile ilgilidir. Risk analizi testin ne kadar sürmesi gerektiğinin belirlenmesinde kritik girdi sağlar. Riski yüksek alanlara daha fazla odaklanılır. Testte isabetli önceliklendirme yapılmasını sağlar. Testte hangi test tekniklerin uygulanacağı ve test yapılacağına karar verilmesinde etkili olur.testin amaçlarından biri de risklerin anlaşılması en az seviyeye indirgenmesidir. Riskler belirlenir, riskler önceliklendirilir ve gerekli önlemler alınır. Risk analizinde dikkat edilmesi gereken husus proje riski ile ürün risklerinin birbirine karıştırılmamasıdır. [3] 2

3.2.2. Test Çıkış Kriterlerinin Belirlenmesi Her Yazılım Test Ekibinin kendine özgü test çıkış kriterleri olabilir. Bu kriterler sektöre, rekabete, ürünün hemen pazara sürülmek istenmesi gibi etkenlere göre değişiklik gösterir. Temel olarak kriterleri aşağıdaki gibi sıralayabiliriz. Hazırlanan tüm senaryolar test edilmiş olmalıdır. Hata kayıtları çözülmüş olmalıdır. Uygulama gerçek ortamdan önce preprod ortamında test edilmelidir. Uygulamanın gerçek ortama alınmasının risk içermediğinden emin olunmalıdır.test hedefine ulaşmış olmalıdır. Bunların haricinde uygulamanın özellikleri ve uygulamanın risklerine göre o projeye özgü kriterler de belirlenir. Örneğin bir İnternet Şube uygulamasında hesap adı değiştirme gibi işlemler ile finansal işlemler aynı önemi ve riski taşımaz. Finansal işlemlerin çalışması bir İnternet Şube uygulaması projesinin test çıkış kriterlerinden biri olarak gösterilebilir. 3.3. Test Analiz ve Tasarım (Test Dizayn) İhtiyaçlar, mimari, tasarım, kullanıcı arayüzü, test verileri, test ortamı ve test araçları dikkate alınarak uygulanacak test seviyeleri, çeşitleri ve teknikleri belirlenir. Test senaryoları hazırlanır ve proje bağlamına göre ve amaca göre çeşitlendirilir. 3.4. Test Senaryolarının Uygulanması Test senaryoları belli test seviyelerinde belli test çeşitleri manuel veya test otomasyonları ile uygulanır. 3.5. Hataların Raporlanması Hata raporlamanın belli bir standardı olmalıdır. Detaylar anlaşılır şekilde olmalı, adım adım senaryolar halinde ve görsellerle desteklenmelidir. Tespit edilen hatalar hatanın mahiyetine göre ilgili analist, yazılımcı, databese yöneticisi, network sorumlusu vb. kişilere raporlanır. Hataların çözümünden sonra ilgili kısımlar veya tüm uygulama tekrar test edilir. 3.6. Test Çıkış Kriterlerine Uygunluk Kontrolü (Onaylama) Test çıkış kriterleri önemlidir çünkü risk analizleri ve projenin olmazsa olmazları bu kısımda listelenir. Uygulama çıkış kriterlerini taşıdığında artık gerçek ortama geçmek için hazır demektir. Aksi takdirde risk içeren bir projeyi gerçek ortama almış oluruz. Bu yüzden son olarak teste çıkış kriterlerine uygun olup olmadığının kontrolü muhakkak yapılmalıdır. 3.7. Test Kapanış Raporunun Hazırlanması Gerçek ortama alınacak uygulamadaki hataların ve yazılan test senaryolarının durumlarını gösteren rapordur. Test kapanış raporu proje paydaşlarına gönderilir. Proje paydaşlarının bilgileri, test ortam bilgilerini içerir. 3

Çözülmemiş hataların riski hakkında bilgi verilir.hataların kaç tanesi kapatıldı vb. Bilgisi ve grafiğini içerir.senaryoların kaç tanesi çalıştırıldığının bilgisi ve grafiğini içerir. 3.8. Testin Sonlandırılması Uygulamanın ihtiyaçlara uygun hale gelmesi, tespit edilen hataların giderilmesi, gerçek ortama alındığında risk içermemesi halinde test planındaki test çıkış kriterlerine de uygunluğu kontrol edilerek Test Kapanış Raporu hazırlanır ve test sonlandırılır. Testin süresi proje kapsamındaki riske ve uygulamanın riskine bağlı olarak değişir.[4] hesaplamasını yapar ve test kaynağı atamasını yapar. 4.2. Yazılım Test Mühendisinin Proje Toplantılarına Katılması Bu örnekte Test Süreci yazılım projesinin başından itibaren başlar. Projeye atanan test mühendisi en başından itibaren proje yöneticisinin uygun gördüğü birçok toplantıya katılır. Bu durum test mühendisinin proje paydaşı olarak neler istendiğini, nelerin önemli olduğunu anlaması ve test senaryolarını teste başlamadan hazırlamasını sağlar. Şekil 1. Yazılım Test Süreci Adımları 4. Test Süreci Uygulama Örneği 4.1. Test Planlaması 4.3. Test Dizaynı Proje Yöneticisi testin hangi ortamda yapılacağı kararını verir, yazılım test yöneticisi ile efor 4 QC ALM üzerinden yönetilen süreçte test mühendisi analizi inceler, analiz kriterlerinin uygulandığını kontrol eder. Düzeltilmesi

gereken kısım varsa analiste hata girer yoksa daha önce yazmış olduğu senaryolarını kontrol eder ve senaryolarını tamamlar. Şekil 2. QC ALM ve Test Kontrol Listeleri statüsüne çeker.[3] Çalıştırılmayan senaryolar No Run statüsünde kalmaya devam eder. 4.5. Hata Raporlama QC ALM üzerinden ekran görüntüleriyle birlikte hata raporlaması yapılır. Sistemden hatanın atandığı kullanıcıya mail ile defect atandığı bilgisi gider. Statüsü değişen hata tekrar ilgili kişilere mail olarak gider ve Fixed statüsüne çekilen hatalar test mühendisi tarafından kontrol edilir, uygun statüye alınır. Hata kontrolünde yapılan testler regresyon testleridir. Tüm hatalar çözüldüğünde testler sonlandırılır. 4.4. Test Çalıştırma Test mühendisi bu adımda senaryolarını tek tek çalıştırır ve senaryolarını Failed, Passed Şekil 3. Hata Giriş Ekranı 5

4.6. Test Kapanış Raporu Test Süreci bittiğinde tüm paydaşlara atılan ve ilgili ortam geçişi sonrasında oluşturulan rapordur. Bu rapor hataların tipi, önemi, statüsünü, çözülme süresini, senaryoların ne kadarının çalıştırıldığını ve ne kadarının başarılı veya başarısız olduğunu gösterir. Şekil 4. Test Sonuç Raporu 5. Uygulama Örneğinde İyileştirme Süreci ve Kazanımlar Uygulama örneği verilen şirkette daha önce projeye en son dahil edilen test süreci projelerin %80 lik kısmında proje sürecine en başında dahil olmuştur, bu projeye hakimiyeti, senaryoların çeşitliliğini 6 artırmış ve böylelikle testin kalitesini de artırmıştır. Test ekibinden alınan geri bildirimlerle uygulama sürüm saatlerinde, günlerinde değişiklikler yapılmış ve testin yoğun olmadığı saatlere geçiş planları yapılmıştır. Daha önce raporlanmayan testler test aracı ile grafikler oluşturularak raporlanabilir hale getirilmiştir. Kurumdaki

uygulamaya özel analiz kontrol, test kontrol, test onay kontrol listeleri oluşturulmuştur. Bunlar test senaryolarına eklenerek çalıştırılmıştır. Açık hata durumunda hatalar için sınıflandırılma yapılmış ve yönetici, müdür ve grup müdürüne kadar giden gerçek ortama çıkış onayı kriterleri oluşturulmuştur. Şekil 5. Test Kontrol Listeleri Testlerde elde edilen kalite ekiplerde kendi ekiplerine dedike çalışan test mühendisi talebi oluşturmuş ve hibrit model olan ekiplere dedike çalışan bir ek bir model merkezi ekibe eklenmiştir. Sürecin oturmasıyla birlikte performans, stres testleri, otomasyon testleri çalışmaları da başlatılarak. Web, mobil, ve desktop uygulamalar içeren test otomasyon kodları yazılmıştır. Her ay otomatik çalıştırılarak raporlanır hale getirilmiştir. Kalite Raporu ile yazılım ekiplerinin durumu raporlanmıştır. Kullanıcı Deneyimi servisi kurularak ekran standartları, metin çalışmaları ve tasarım çalışmaları düzenli bir şekilde yapılır hale gelmiştir. 6. Sonuç ve Çıkarımlar Uygulama örneğinde görülmüştür ki test süreci olgunlaşarak devam eden bir süreçtir. Kurum kültürü ile birlikte olgunlaşmaktadır. Yazılım Test Süreci hiç olmayan bir şirketin bu süreci literatüre uygun şekilde ilk anda uygulaması bu yüzden ilk anda zordur. Adım adım ilerlenmeli ve süreçler olgunlaştıkça süreçteki yeni bir uygulamaya, yeni bir adıma geçilmelidir. Yazılım projelerinde yazılım test süreci literatüre uygun şekilde yapılandıkça verimlilik ve kalite artmaktadır. Her organizasyonda test süreci olgunluk evreleri yaşanması literatürün ilk etapta direk uygulanamaması ile alakalıdır. Bu da yazılım test sürecinin organizasyonlara sonradan dahil edilmesiyle ve kurumların kalite hassasiyetiyle yakından ilgilidir. Uygulama örneği verilen kurumda iyileştirmelerin sonucu olarak test edilen projelerde gerçek ortama giden hataların 0 a indiği görülmüştür. Test ekibi personel sayısı 6 iken 12 ye çıkarılmıştır. Çalışmaların tüm projelere hakimiyeti, kalitesi ve sürdürebilirliği sonucunda Test ekibinin konumu merkezileştirilecek ve geçiş onaylarını veren otorite haline getirilecektir. 7. Kaynaklar [1]Yazılım Testi Sunumu, Güliz Aykut, Ocak 2007 [2] http://www.testingexcellence.com/testingt utorial/ [3]http://www8.hp.com/us/en/softwaresolu tions/alm-softwaredevelopmenttesting/try-now.html [4]http://www.istqb.org/, http://istqb.survey2016.sgizmo.com/s3/ 7