View
43
Download
0
Category
Preview:
Citation preview
YILDIZ TEKNİK ÜNİVERSİTESİELEKTRİK-ELEKTRONİK FAKÜLTESİ
BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
BİLGİSAYAR PROJESİ
TEST ve HATA DURUMU İZLEME ARACI
Proje Yöneticisi: Prof. Dr. Oya KALIPSIZ
Proje Grubu:
02011029 Emrah İLERİGELEN
İstanbul, 2014
Bu projenin bütün hakları Yıldız Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü’ne aittir.
İÇİNDEKİLER
SEMBOL LİSTESİ.........................................................................................................vii
KISALTMA LİSTESİ....................................................................................................viii
ŞEKİL LİSTESİ...............................................................................................................ix
TABLO LİSTESİ............................................................................................................xii
ÖNSÖZ..........................................................................................................................xiii
ÖZET..............................................................................................................................xiv
ABSTRACT....................................................................................................................xv
1. GİRİŞ.............................................................................................................................1
1.1. Test ve Hata İzleme Araçları..................................................................................2
2. ÖN İNCELEME............................................................................................................4
2.1. Bugzilla...................................................................................................................5
2.2. Fitnesse...................................................................................................................7
2.3. JIRA........................................................................................................................8
2.4. Mantis Bug Tracker................................................................................................9
2.5. Testopia................................................................................................................10
2.6. Trac.......................................................................................................................11
2.7. HP Quality Center................................................................................................11
2.8. Test ve Hata Yönetim Araçları Karşılaştırma......................................................14
3. FİZİBİLİTE.................................................................................................................16
3.1. Teknik Fizibilite...................................................................................................16
3.1.1. Kullanıcı........................................................................................................16
3.1.2. Geliştirici.......................................................................................................16
3.1.3. Sunucu...........................................................................................................18
3.2. Zaman Fizibilitesi.................................................................................................20
3.3. Ekonomik Fizibilite..............................................................................................21
3.3.1. Kullanıcı........................................................................................................21
3.3.2. Geliştirici.......................................................................................................21
3.3.3. Sunucu...........................................................................................................21
3.4. Maliyet / Fayda.....................................................................................................22
3.4.1. Geliştirme Maliyeti........................................................................................22
3.4.2. Uygulama Bakım Maliyeti............................................................................22
3.4.3. Uygulama Sunum Maliyeti............................................................................23
3.4.4. Uygulama Fayda Hesaplama.........................................................................24
4. SİSTEM ANALİZİ......................................................................................................25
4.1. Gereksinim...........................................................................................................25
4.1.1. Gereksinim detayları.....................................................................................25
4.1.2. Gereksinim İşlemleri.....................................................................................26
4.1.3. Gereksinim Klasörleri...................................................................................26
4.1.4. Gereksinim Sekmesi Kullanıcı Yetkileri.......................................................27
4.2. Test Senaryo.........................................................................................................29
4.2.1. Test Senaryo Detayları..................................................................................29
4.2.2. Test Senaryo İşlemleri...................................................................................30
4.2.3. Test Senaryo Klasörleri.................................................................................31
4.2.4. Test Senaryo Sekmesi Kullanıcı Yetkileri....................................................31
4.3. Test Kümeleri.......................................................................................................33
4.3.1. Test Kümeleri Detayları (Test Gerçekleştirme Detayları)............................33
4.3.2. Test Kümesi işlemleri....................................................................................34
4.3.3. Test Küme Klasörleri....................................................................................34
4.3.4. Test Kümesi Sekmesi Kullanıcı Yetkileri.....................................................35
4.4. Hata.......................................................................................................................37
4.4.1. Hata Detayları................................................................................................37
4.4.2. Hata işlemleri.................................................................................................37
4.4.3. Hata Sekmesi Kullanıcı Yetkileri..................................................................38
4.5. Diğer Kullanıcı İşlemleri......................................................................................43
4.5.1. Admin............................................................................................................43
4.5.2. İzleyici...........................................................................................................43
4.5.3. Ziyaretçi.........................................................................................................43
5. SİSTEM TASARIMI...................................................................................................44
5.1. Yazılım Tasarımı..................................................................................................44
5.1.1. Klasör Oluşturma...........................................................................................44
5.1.2. Obje Linkleme...............................................................................................44
5.1.3. Yorum Ekleme...............................................................................................45
5.1.4. Yeni Gereksinim Girişi / Güncelleme...........................................................45
5.1.5. Yeni Test Senaryo Girişi / Güncelleme.........................................................45
5.1.6. Yeni Hata Girişi / Güncelleme......................................................................45
5.2. Veritabanı Tasarımı..............................................................................................45
5.2.1. Hata Özeti......................................................................................................47
5.2.2. Test Senaryo Özeti........................................................................................47
5.2.3. Test Gerçekleştirme Özeti.............................................................................47
5.3. Girdi – Çıktı Tasarımı..........................................................................................48
5.3.1. Gereksinim Sekmesi......................................................................................48
5.3.2. Test Senaryo Sekmesi....................................................................................49
5.3.3. Test Kümeleri Sekmesi..................................................................................51
5.3.4. Hata Sekmesi.................................................................................................53
6. UYGULAMA..............................................................................................................55
6.1. Kullanıcı girişi ve Yetki Doğrulama....................................................................55
6.1.1. Klasör Ekleme / Silme / Güncelleme............................................................56
6.1.1.1. Klasör Ekleme........................................................................................56
6.1.1.2. Klasör Güncelleme................................................................................57
6.1.1.3. Klasör Silme..........................................................................................58
6.1.1.4. Yenile.....................................................................................................58
6.2. Sağ Menü ve Nesne Bağlama...............................................................................58
6.2.1. Gereksinim Sekmesi Sağ Panel İşlemleri......................................................58
6.2.2. Test Senaryo Sekmesi Sağ Panel İşlemleri...................................................61
6.2.3. Test Kümesi Sekmesi Sağ Panel İşlemleri....................................................61
6.2.4. Hata Sekmesi Sağ Panel İşlemleri.................................................................63
6.3. Yorum Ekleme......................................................................................................64
6.4. Gereksinim Sekmesi.............................................................................................65
6.4.1. Yeni Gereksinim Ekleme..............................................................................67
6.4.2. Gereksinim Güncelleme................................................................................68
6.5. Test Senaryo Sekmesi...........................................................................................69
6.5.1. Yeni Test Senaryo Ekleme............................................................................70
6.5.2. Test Senaryo Güncelleme..............................................................................74
6.5.3. Test Senaryo Silme........................................................................................75
6.6. Test Kümesi Sekmesi...........................................................................................76
6.6.1. Test Gerçekleştirme.......................................................................................78
6.7. Hata Sekmesi........................................................................................................80
6.7.1. Yeni Hata Kaydı Ekleme...............................................................................80
6.7.2. Hata Kaydı Güncelleme................................................................................82
7. SONUÇ........................................................................................................................86
7.1. Uygulamanın Getirileri.........................................................................................86
7.2. Uygulamanın Götürüleri.......................................................................................86
7.3. Uygulamanın Geliştirmeye Açık Yönleri.............................................................87
7.4. Uygulamanın Benzer Uygulamalar ile Karşılaştırması........................................88
KAYNAKLAR................................................................................................................89
EKLER............................................................................................................................90
Ek 1 - Proje Planı Gannt Diagramı..............................................................................90
ÖZGEÇMİŞ.....................................................................................................................91
SEMBOL LİSTESİ
KISALTMA LİSTESİ
UAT User Acceptance Test (Kullanıcı Kabul Testleri)
TC Test Case (Test Senaryosu)
UC Use Case (Kullanım Senaryosu)
E2E End to End (Baştan Sona Test Metodu)
IEEE The Institute of Electrical and Electronics Engineers
(Elektrik Elektronik Mühendisleri Enstitüsü)
GB GigaByte
MB MegaByte
DB Data Base (Veri Tabanı)
OEM Originel Equipment Manifacturer (Donanım içerisinde ücretlenir)
MTBF İki Arıza Arası Geçen Ortalama Süre
ADO Arıza Duruş Oranı (Plansız arıza kesintisi)
BBM Bakım Birim Maliyeti
ŞEKİL LİSTESİ
Şekil 1.1 Hata Maliyetleri..................................................................................................1
Şekil 2.1 Bugzilla ile hata kaydı açma..............................................................................5
Şekil 2.2 Bugzilla ile hata kayıtlarını görüntüleme...........................................................6
Şekil 2.3 Fitnesse test senaryo sayfası...............................................................................7
Şekil 2.4 Jira test senaryo detayı.......................................................................................8
Şekil 2.5 Jira test kümesi detayları....................................................................................9
Şekil 2.6 Mantis bug tracker..............................................................................................9
Şekil 2.7 Testopia test kümesi sayfası.............................................................................10
Şekil 2.8 Trac proje yönetimi..........................................................................................11
Şekil 2.9 Quality Center Test kümeleri sayfası...............................................................12
Şekil 2.10 Quality Center hata kayıtları sayfası..............................................................13
Şekil 2.11 Test senaryo sayfası.......................................................................................13
Şekil 3.1 Bakım Birim Maliyeti Yıllara göre Oranı........................................................23
Şekil 4.1 Gereksinim Sayfası Admin işlemleri...............................................................27
Şekil 4.2 Gereksinim Sayfası Test Sorumlusu işlemleri.................................................28
Şekil 4.3 Gereksinim Sayfası Geliştirme Sorumlusu ve Proje Yöneticisi işlemleri........29
Şekil 4.4 Test Senaryo Sayfası Admin işlemleri.............................................................32
Şekil 4.5 Test Senaryo Sayfası Test Sorumlusu işlemleri...............................................32
Şekil 4.6 Test Senaryo Sayfası Geliştirme Sorumlusu ve Proje Yöneticisi işlemleri.....33
Şekil 4.7 Test Kümeleri Sayfası Admin işlemleri...........................................................35
Şekil 4.8 Test Kümeleri Sayfası Test Sorumlusu işlemleri.............................................36
Şekil 4.9 Test Kümeleri Sayfası Geliştirme Sorumlusu ve Proje Yöneticisi işlemleri. . .36
Şekil 4.10 Hata Sayfası Admin işlemleri........................................................................39
Şekil 4.11 Hata Sayfası Test Sorumlusu işlemleri..........................................................40
Şekil 4.12 Hata Sayfası Geliştirme Sorumlusu ve Proje Yöneticisi işlemleri.................41
Şekil 4.13 Hata hayat döngüsü........................................................................................42
Şekil 5.1 Tasarlanan Sistemin Yapısı..............................................................................44
Şekil 5.2 Veri Tabanı Genel Tasarımı.............................................................................46
Şekil 5.3 Gereksinim Sekmesi Tasarımı.........................................................................48
Şekil 5.4 Yeni Gereksinim Ekleme Tasarımı..................................................................49
Şekil 5.4 Test Senaryo Sekmesi Tasarımı.......................................................................49
Şekil 5.6 Yeni Test Senaryo Girişi..................................................................................50
Şekil 5.7 Test Kümeleri Sekmesi Tasarımı.....................................................................51
Şekil 5.7 Test Gerçekleme Tasarımı...............................................................................52
Şekil 5.7 Hata Sekmesi Tasarımı.....................................................................................53
Şekil 5.8 Yeni Hata Girişi...............................................................................................54
Şekil 6.1 İlk açılış sayfası ve Kimlik Doğrulama............................................................55
Şekil 6.2 Yetkili kullanıcı girişi.......................................................................................56
Şekil 6.3 Klasör Ekleme..................................................................................................57
Şekil 6.4 Klasör Güncelleme Hata..................................................................................57
Şekil 6.5 Klasör Güncelleme...........................................................................................57
Şekil 6.5 Klasör Silme Onay...........................................................................................58
Şekil 6.7 Gereksinim Sekmesi Sağ Panel........................................................................59
Şekil 6.8 Gereksinim Bağlama Hata 1............................................................................59
Şekil 6.9 Gereksinim Bağlama Hata 2............................................................................60
Şekil 6.10 Gereksinim Bağlama Başarılı 1......................................................................60
Şekil 6.11 Gereksinim Bağlama Başarılı 2......................................................................60
Şekil 6.12 Test Senaryo Sekmesi Sağ Panel...................................................................61
Şekil 6.13 Test Küme Sekmesi Sağ Panel.......................................................................62
Şekil 6.14 Test Küme Ekleme Hata 1.............................................................................62
Şekil 6.15 Test Küme Ekleme Hata 2.............................................................................62
Şekil 6.16 Test Küme Ekleme Başarılı............................................................................63
Şekil 6.17 Hata Sekmesi Sağ Panel.................................................................................63
Şekil 6.18 Nesne Detayları Yorum Sekmesi...................................................................64
Şekil 6.19 Yorum Ekleme Hata 1....................................................................................64
Şekil 6.20 Yorum Ekleme...............................................................................................65
Şekil 6.21 Yorumlar........................................................................................................65
Şekil 6.22 Gereksinim Sekmesi Ekran Görüntüsü..........................................................66
Şekil 6.23 Gereksinim Sekmesi Alt Panel - Açıklama....................................................66
Şekil 6.24 Gereksinim Sekmesi Alt Panel – Bağlı Test Senaryoları...............................67
Şekil 6.25 Gereksinim Ekleme Hata...............................................................................67
Şekil 6.26 Gereksinim Ekleme........................................................................................68
Şekil 6.27 Gereksinim Güncelleme Hata........................................................................68
Şekil 6.28 Gereksinim Güncelleme.................................................................................69
Şekil 6.29 Test Senaryo Sekmesi....................................................................................69
Şekil 6.30 Test Senaryo Ayrıntısı....................................................................................70
Şekil 6.31 Test Senaryo Ekleme Hata.............................................................................70
Şekil 6.32 Test Senaryo Ekleme 1...................................................................................71
Şekil 6.33 Test Senaryo Ekleme 2...................................................................................71
Şekil 6.34 Test Senaryo Ekleme 3...................................................................................72
Şekil 6.35 Test Senaryo Ekleme 4...................................................................................73
Şekil 6.36 Test Senaryo Ekleme Hata 1..........................................................................73
Şekil 6.37 Test Senaryo Ekleme Hata 2..........................................................................74
Şekil 6.38 Test Güncelleme Hata....................................................................................74
Şekil 6.39 Test Güncelleme.............................................................................................75
Şekil 6.40 Test Senaryo Silme Hata................................................................................75
Şekil 6.41 Test Kümesi Sekmesi.....................................................................................76
Şekil 6.42 Son Test Gerçekleştirme Ayrıntıları..............................................................77
Şekil 6.43 Teste Bağlı Hata Kayıtları..............................................................................77
Şekil 6.44 Önceki Gerçekleştirme Sonuçları...................................................................77
Şekil 6.45 Test Gerçekleştirme........................................................................................78
Şekil 6.46 Test Gerçekleştirme 2.....................................................................................79
Şekil 6.47 Hata Sekmesi..................................................................................................80
Şekil 6.48 Hata Sekmesi..................................................................................................81
Şekil 6.49 Hata Sekmesi – Hata mesajları.......................................................................81
Şekil 6.50 Hata Sekmesi – Güncellenecek bilgi bulunmuyor.........................................82
Şekil 6.51 Hata Güncelleme – Test Sorumlusu...............................................................83
Şekil 6.52 Hata Güncelleme – Geliştirme Sorumlusu.....................................................83
Şekil 6.53 Hata Güncelleme – Durum Bilgisi.................................................................84
Şekil 6.54 Hata Güncelleme – Admin.............................................................................85
Şekil 6.55 Hata Güncelleme – Hata geçmişi...................................................................85
Şekil Ek.1 Proje Planı Gannt Diagramı...........................................................................90
TABLO LİSTESİ
Tablo 2.1 Test ve Hata Yönetim Araçları Karşılaştırması..............................................14
Tablo 2.2 Test ve Hata Yönetim Araçları Ek Özellikleri................................................15
Tablo 3.1 Kullanıcı Donanım ve Yazılım Gereksinimi...................................................16
Tablo 3.2 Visual Studio 2012 Donanım ve Yazılım Gereksinimi...................................18
Tablo 3.3 Geliştirici Donanım ve Yazılım Gereksinimi.................................................18
Tablo 3.4 Sunucu Donanım Gereksinimi........................................................................19
Tablo 3.5 Proje Zaman Planlaması..................................................................................20
Tablo 3.6 Sunucu Yazılım Maliyeti................................................................................22
Tablo 6.1 Hata alanları güncelleme konfigurasyonu.......................................................82
Tablo 7.1 Test ve Hata Yönetim Araçları Karşılaştırması..............................................88
ÖNSÖZ
Türk Dil Kurumu’na yaptıkları çevirilerden ötürü teşekkür ediyorum, pop up’ı “açılır
pencere”, drop down list’i “aşağı açılır liste” şeklinde kendinden yüklemli devrik
cümlelerle Türkçeleştirdikleri için projenin en zorlu kısmının cümle kurmak olacağını
hiç tahmin etmemiştim. Rapordaki “açılır pencere kapanır” gibi pencerenin tam olarak
ne yaptığının anlaşılamadığı cümlelerin nedeni budur.
ÖZET
Raporunu okuyacak olduğunuz proje, mevcut yazılım test izleme araçlarındaki bir
eksiği giderme amacıyla yazılmamıştır, aksine kullanımı zorlaştıran, deneyim ve idare
gerektiren tüm işlevler kapsam dışı bırakılarak; gereksinim, test senaryo ve hataların en
az işlevle en etkili izlenmesi ve raporlamasını sağlayacak şekilde basite indirgenmiştir.
Test, yazılım geliştirme aşamalarının genelde en sonunda bulunan ve geliştirme
sırasında bir gecikme olursa süresinden yenilen bir süreçtir. Testlerin sürecin en
sonunda olması nedeniyle projelerin gecikeceği genelde proje test sorumlularının
elindeyken anlaşılır, bu da yanlış da olsa projenin testlerinin geciktiği izlenimi
uyandırır. İyi raporlanmayan, hatalar ve sorunlarla ilgili bilgilendirmeleri iyi
yapılmayan bir test süreci bu izlenimi destekler, test sorumlularının projenin günah
keçisi olmasını sağlar. Bununla birlikte sadece test senaryosu ve hataları izleyebilmek
için yapılacak yatırım birçok küçük şirketin bütçesini sarsacak kadar büyük olabilir. Bu
nedenle birçok küçük şirket bu araçları kullanmaktansa elektronik posta şeklinde
dolaşan, güncel sürümüne ulaşmanın zor olduğu, çoğu zaman da sürümlerin karışıp
yanlış raporlamalara yol açan dosyaları tercih etmektedir. Herhangi bir sorun
durumunda ise bu elektronik postaları aramak, onlar içerisinden gerekli olanı bulup
ayıklamak zorunda kalınır. Büyük bir projenin gecikmesi gibi alarm durumlarında
anında bu gecikmeye cevap bulunamaması projenin testte geciktiği izlenimini
perçinleyecektir. Test uygulamalarının maliyetini taşıyabilecek şirketlerde sürümlerin
yönetilmesi, dokümanların yönetilmesi, görev dağılımlarının yapılması ve benzeri tüm
süreçler için farklı yazılımlar kullanılır. Bu uygulamalar tüm süreçler mükemmele yakın
işletildiğinde bile her türlü isteği karşılayacak işlevi bünyesinde barındıran
uygulamalardır. Ki barındırmıyor olsa bile, arkalarında küçük bir servet karşılığında
bunu seve seve mevcut uygulamaya ekleyebilen büyük şirketler bulunmaktadır.
Bu projenin asıl amacı tüm bu süreçler için elektronik posta ve takvim araçlarını
kullanan küçük şirketlere, elden ele dolaşan dosyalardan daha kolay test takip ve
raporlamasını sağlayacak bir araç hazırlamaktır ve hedef kitlesi birkaç dakika içerisinde
testlerin neden geciktiğini yöneticisine anlatabilmeyi uman test sorumlusudur.
ABSTRACT
1. GİRİŞ
Test IEEE standartlarına göre yazılım kod, prosedür, dokümantasyon ve kodu
çalıştıracak girdi verisinin tümüdür. Bir kodun yazılım olabilmesi için kodun ne işe
yaradığına dair dokümantasyonu, kodun çalıştığı prosedür ve kodu çalıştıracak girdi
bilgisinin olması gerekir. Bunların tümü sağlandığında ise iş bunların doğru olup
olmadığının kontrolüne gelir. [1]
Birçok yazılım sürecinde bu doğruluğun kontrolü dokümantasyon aşamasından başlar.
Gereksinimlerin sunulduğu tasarın dokümanlarından yazılımın son haline gelindiğinde
oluşturulan işletim ve bakım dokümantasyonuna kadar tüm dokümanlar kontrol edilmeli
yani test sürecine sokulmalıdır.
Yazılım testi üretilen bir ürünün verilen girdiler ile edinilen çıktılarının olması gerekene
uygunluğunun ve doğruluğunun onaylanması sürecidir. Her yazılım hatalar barındırır,
yazılımın kullanılmadan önce kontrol edilmesi hataların son kullanıcı ya da müşteri
tarafından bulunmasını, müşterinin ve yazılımı üretenin mağduriyetini önler.
Birçok araştırma hataların ne kadar erken bulunursa o kadar az maliyet ile düzeltildiğini
göstermektedir.
Şekil 1.1 Hata Maliyetleri
Yukarıdaki grafiğe bakıldığında aynı hatanın maliyeti gereksinimlerin çıkarılması
sırasında bulunduğunda 1 birim iken bu hatanın maliyeti gerçek ortamda bulunursa 150
birim olabilmektedir. Hatanın büyüklüğüne göre bu çok ciddi bir maliyet olabilir.
Ayrıca bu grafik hatanın düzeltilme maliyetidir. Hata mali bir konu ile ilgili ise bu
hatanın doğuracağı gelir kaybı da düzeltme maliyetine eklenirse maliyet çok ciddi
boyutlara çıkabilir.
Hatalar sadece ilk üretim sırasında bulunmaz, kullanım sırasında bulunanlar, kullanım
sırasında bulunan hataları düzelttikten sonra bu yamanın yol açtığı hatalar ve hatta
ürünün tasarımı sırasında bulunan hatalar olabilir. Hata ne kadar erken bulunursa
düzeltme maliyeti o kadar düşük olacaktır.
Yazılım testleri esnasında test sürecine uygun bir yazılım kullanılmasının, testleri ve
hataları bu yazılım üzerinden izlemek ve bunu genel süreçlerden biri haline getirmek
son üründeki hataların en aza indirilmesinde önemli bir yeri vardır. Kullanılacak
yazılım gereksinim ve test senaryolarının yazılım geliştirme esnasında güncellenmesini,
test ve hataların kolaylıkla raporlanabilmesini sağlamalıdır.
1.1. Test ve Hata İzleme Araçları
IEEE’nin test tanımına geri dönersek, test kod, prosedür, dokümantasyon ve kodu
çalıştıracak girdi bütünüdür. Bir test ve hata durumu izleme aracından beklenilen en
temel özellikler aşağıda sıralanmıştır:
Dokümantasyonda verilmiş olan her maddenin bu yazılımda kendine bir yer
bulabilmesi gerekir. Bize dokümantasyonda verilmiş işlevlerin kısa ve öz
önermeler şeklinde maddelendirilmiş haline gereksinim dersek, yazılım
gereksinimleri barındırıyor olmalıdır.
Dokümantasyonda verilmiş olan işlemlerin kontrollerinin nasıl yapılacağı ise
prosedürlerdir. Bir gereksinimin tümüyle test edilebilmesi için her türlü
dallanmanın da bu yazılımda belirtilebiliyor olması gerekir. Bunlara da kısaca
test senaryoları diyoruz.
Test senaryolarının farklı girdilerle farklı sonuçlar vereceğini biliyoruz. Bu
nedenle test senaryolarımızı kaydettiğimiz alan dışında bir de bu test
senaryolarını gerçekleştireceğimiz bir alana ihtiyacımız olacak.
Son olarak da test tanımındaki “kod” kısmına geldik. Daha çok sürüm yönetimi
araçlarında olmasını beklesek de, kodlamanın aslında test izleme araçlarında da
yeri vardır. Direkt olarak kodu bu test izleme araçları bağdaştıramasak da test
senaryolarının gerçekleşen çıktılarında ve hatalarda test edilen ürünün kodunun
belirli bölümlerini kaydedebiliyor olmamız gereklidir.
Sonuç olarak sadece test kavramının tanımına bakarak bile en basit test ve hata izleme
aracında olması gereken özellikleri bulabiliyoruz;
Gereksinimler kaydedilebilmeli.
Test senaryoları ve girdileri kaydedilebilmeli.
Testler gerçekleştirildikten sonra çıktılar kaydedilebilmeli.
Beklenen çıktıyı vermeyen test senaryoları için hata kayıtları girilebilmeli.
Ön inceleme bölümünde kullanılan araçlardan da örnek verilerek uygulamanın neden
yukarıdaki paragrafta anlatıldığı kadar sade olması gerektiği konusunda bilgi
verilecektir.
2. ÖN İNCELEME
Test süreçleri izleme araçları gereksinim ve testlerin kaydedildiği, belirli kümeler
halinde bunların gerçekleştirildiği, sonuçlarının kaydedildiği ve gerekirse bu testlere
bağlı hata kayıtlarının girildiği sistemlerdir.
Tarayıcı Desteği
Özellikle WEB tabanlı uygulamalarda tüm tarayıcıları destekleyebiliyor olması.
Analiz Raporları
Test sonuçlarını yorum gerektirmeden yayınlayabiliyor olması, yayınlanan
raporun test durumunu ortaya koyabiliyor olması.
Kullanım Kolaylığı
Araç test yapan kişilerin test yapma hızını düşürmemeli, test sürecini yavaşlatan
bir araca dönüşmemelidir.
Süreç Uyumu
Kullanılan aracın kullanıcının test süreçlerine uyum sağlayabiliyor olması,
gerektiğinde yeni özellikler eklenerek kişiselleştirilebilir olması. Örneğin; testi
yapan kişinin bir hata bulduktan sonra bu hatanın geliştirme grubuna gitmeden
önce onaylanması gerekiyorsa hata durumlarına bu ara seviye eklenebilir olması.
Fiyat
Yukarıdaki sayılanların aksine, platform ya da test senaryoları ile ilgisi olmayan
ancak her türlü organizasyon tarafından ilk bakılan kriterdir.
Proje test izleme araçlarının sahip olmadığı bir özelliği bünyesinde barındırıp fark
yaratma gayesinde olmaktan ziyade girişte de belirtildiği gibi en temel özellikleri
kullanıcının işine yeni bir kalem eklemeden işini kolaylaştırmak üzere kullanıcı dostu
olarak bir araya getirme amacındadır.
Kullanıcının ihtiyacından fazlasını talep olmadan vermeye çalışmak süreçlerine ekstra
eforlar getirecek ve test izleme konusunda iyileştirmeden çok gerilemeye neden
olabilecektir.
Konuyla ilgili piyasada kullanılan bazı araçların projede örnek alınan ya da özellikle
projeye dahil etmekten kaçınılan bazı özellikleri örneklerle aşağıdadır:
2.1. Bugzilla
En çok kullanılan hata izleme araçlarından biri olmakla birlikte arayüzü en karışık
olanlarından biridir. Ekrana bakıldığında bile tüm bu alanları doldurup hata kaydı
açmaktansa bir elektronik posta ile hatayı ilgili kişilere iletmenin daha kolay olduğunu
görebilirsiniz.
Şekil 2.2 Bugzilla ile hata kaydı açma
Bununla birlikte hata kayıtlarını görüntüleme işlemi de yeterince kullanışlı değildir.
Aşağıdaki ekran görüntüsünde göreceğiniz gibi filtreleme değil arama ile hata
kayıtlarına ulaşılır dolayısı ile üzerinden uzun zaman geçmiş ve tam olarak ne
aratacağınızı bilmediğiniz hata kayıtlarına ulaşmanız çok zordur.
Şekil 2.3 Bugzilla ile hata kayıtlarını görüntüleme
Bugzilla ismini kanıtlamış ve çok kullanılan bir uygulama olmasına rağmen projeyi
yaparken hiçbir özelliği örnek alınmamış aksine karışık görüntüsü nedeniyle hata kaydı
sayfasının mümkün olduğunzca sade olması gerektiği konusunda örnek olmuştur.
2.2. Fitnesse
Sadece hata değil test senaryo izleme aracı olarak da kullanılır. Ara yüz olarak fazla
örnek bulunamamış olmakla birlikte ilk bakışta testin ne durumda olduğunu
göstermekte yetersiz olduğu anlaşılmaktadır. Ekrandaki öğeler birbirlerinden bağımsız
durmakta test senaryosunun nerede başlayıp nerede bittiği anlaşılmamaktadır.
Şekil 2.4 Fitnesse test senaryo sayfası
2.3. JIRA
En çok kullanılan araçlardan biridir. Test izleme aracı olmakla birlikte kişilerin birbirine
görev atamasını da sağlar. Kullanılan araçlar içerisinde test senaryo ara yüzü kolay
anlaşılır olanlardan biridir.
Şekil 2.5 Jira test senaryo detayı
Bu projede de yapılacağı gibi test senaryoları adımlar halinde sunulmuş ve her adımın
beklenen ve gerçekleşen sonuçları için kullanıcıya alanlar sağlanmıştır.
Test senaryolarının hata kayıtlarıyla bağlanması hata kayıt ID’sinin yazı alanına elle
girilmesi ile yapılır. Bu insan hatasına çok açık bir yöntem olduğu için bu projede
bağlantı işlevi hata kayıtları sayfasında test kümelerinin listelenmesi ve işaret
kutucuklarının işaretlenmesi ile yapılacaktır.
Şekil 2.6 Jira test kümesi detayları
Test kümeleri projede de hedeflendiği gibi açık ve net görünmektedir. Hangi testin
sonucunun ne olduğu test özeti ve test durumu ile kısaca belirtilmiştir.
2.4. Mantis Bug Tracker
Kullanımı en zor olan uygulamalardan biridir. Bugzilla ile benzer özellikler taşır, iki
uygulama da hedef kitle olarak çok geniş bir yelpazeyi seçtiği için kullanıcılarına
istenilen her özellikte hata kaydı açabilmeyi sağlamak için çok fazla seçenek sunmakta,
bu da kullanıcının ilk bakışta hangi alanları doldurması gerektiğini anlamakta
zorlanmasına neden olmaktadır.
Şekil 2.7 Mantis bug tracker
2.5. Testopia
Aşağıdaki ekran görüntüsünde de görüldüğü gibi basit ve kullanışlı bir uygulama
olmasına rağmen sadece ara yüz tasarımı nedeniyle olduğundan daha karışık
görünmektedir.
Şekil 2.8 Testopia test kümesi sayfası
Projede test kümelerinin yukarıdaki şekilde de görüldüğü gibi net anlaşılır olmasına
dikkat edilecektir.
2.6. Trac
Aşağıda görüldüğü gibi daha çok proje yönetiminde kullanılan ve kişilerin birbirine
görev atamasını sağlayan bir uygulamadır. Bu görevlerin filtrelenmesi kişinin kendine
atanmış görevleri bulmasını kolaylaştırmaktadır. Projede bu özellik hata sayfasında
örnek alınacaktır.
Şekil 2.9 Trac proje yönetimi
2.7. HP Quality Center
Projede en çok örnek alınan uygulamalardan biridir. Quality Center tüm ürünleri ile
kullanıldığında bir projenin dokümantasyonundan, kodların versiyonlamasına ve test
süreçlerinin raporlamasına kadar tüm grupların kullanabileceği bir uygulamadır.
Ancak yine hedef kitlenin yanlış seçilmesi durumunda süreçleri kolaylaştırmak yerine
herkese ekstra iş yükü getirecektir.
Şekil 2.10 Quality Center Test kümeleri sayfası
Testlerin durumu rahat anlaşılabilir şekilde listelenmiştir. Filtrelerle farklı türdeki test
senaryolarının seçilmesi kolaylaştırılmıştır. Ancak kullanıcıya çok geniş özellikler
sunmaktadır. Kolonların çoğu bir çok kullanıcı için anlam ifade etmemekte ve boş
bırakılmaktadır.
Şekil 2.11 Quality Center hata kayıtları sayfası
Yine kullanıcıya kullanabileceğinden fazla alan sunmakla birlikte hata kayıtlarını en iyi
gösteren uygulamalardan biridir. Açılır panel projede örnek alınacaktır.
Şekil 2.12 Test senaryo sayfası
Testlerin kolay kullanılabilir olmasını sağlayan bir tasarımı vardır. Bunun yanında
deneyimli kullanıcıların kullanabileceği parametre ve konfigürasyon özelliklerini
sunmaktadır. İlk bakışta test senaryolarının tekrar kullanılabilir olmasını sağlayan bu
özellik test izleme araçlarına yeni geçiş yapan firmalar için işleri zorlaştırmaktan başka
bir katkı sağlamaz.
Son durumda projede yukarıdaki örneklerden yola çıkılarak aşağıdaki özelliklere dikkat
edilecektir:
Test senaryolarının kolay kaydedilebilir olması
Hata kayıtlarının filtrelenebilir ve kolay aranabilir olması
Sayfaların gereksiz nesnelerden arındırılarak daha sade olması
İnsan hatalarını mümkün olan en aza indirecek şekilde tasarım yapılması
İlk bakışta test ve hata durumunun anlaşılabilir olması
2.8. Test ve Hata Yönetim Araçları Karşılaştırma
Ele alınan araçlar Tablo 2.1’de verilen kriterlere göre karşılaştırılmıştır. Kriter olarak
test’in ne olduğunu söylerken bahsettiğimiz gereksinimlerin yönetiliyor olması, test
senaryolarının girilebilmesi ve sonuçlarının izlenebilmesi, hata kayıtlarının girilebiliyor
olması göz önünde bulundurulmuştur.
Bunun dışında raporlama olup olmadığı, kabaca kullanılabilirlik ve fiyatı kriter olarak
seçilmiştir.
Tablo 2.1 Test ve Hata Yönetim Araçları Karşılaştırması
Bugzilla Fitnesse Jira *Mantis Bug Tracker Testopia Trac
Quality Center
Gereksinimler Yok Yok İş atama olarak var Yok Var Yok VarTest Senaryoları Yok Var Kişiselleştirilebilir Yok Var Var VarTest Gerçekleme Yok Var Kişiselleştirilebilir Yok Var Var Var
Hata Kayıtları Var Var İş atama olarak var Var Var Var Var
Raporlar Var Var Var Var Var Var Var
Kullanılabilirlik Düşük Orta Yüksek Orta Orta Orta Yüksek **
Fiyat Ücretsiz Ücretsiz $ 50 / Pe $ 24.95 /MO Ücretsiz Ücretsiz ***
*Jira asıl kullanım amacı görev yönetimi olan bir araçtır ancak kişiselleştirme açısından
çok olanak sağladığı için test yönetim aracı olarak kullanılması mümkündür.
**Quality Center sağladığı özellikler göz önünde bulundurulduğunda kullanışlı bir araç
olmakla birlikte kullanıcıya çok seçenek sunduğu için “kullanımı kolay” değildir.
***Ücretlendirmeye dair net bilgi bulunamadı, Araç modüler bir yapıya sahip olup
ücretlendirme firmaların almak istediği modüllere ve lisanslı kullanıcı sayısına göre
belirlenir. 100 kişilik lisans ve en temel modüllerle 6 haneli ücretlere çıkar.
Tablo 2.2 de araçların tablo 2.1 e ek olarak sağladığı özellikler listelenmiştir.
Tablo 2.2 Test ve Hata Yönetim Araçları Ek Özellikleri
Ek Özellikler
Bugzilla Hata versiyonlama ve hatalara ait bir çok ek bilgi
Fitnesse Doküman ve Proje road map yönetimi
Jira * Görev atama
Mantis Bug Tracker Hata versiyonlama ve hatalara ait bir çok ek bilgi
Testopia --
Trac Proje Road map yönetimi
Quality Center
VersiyonlamaParametre ve konfigurasyon eklemeBusiness Model YönetimiDoküman ve versiyon yönetimi
3. FİZİBİLİTE
Ürünün geliştirilmesi, kullanıcıya sunulması ve kullanılabilmesi için gerekli tüm teknik,
zaman ve ekonomik ihtiyaçlar aşağıdaki başlıklarda verilmiştir. Öncelikle teknik
ihtiyaçlar belirlenmiş, sonrasında ürünün geliştirilmesi için gerekli insan gücü eklenmiş
en son ise tüm bu ihtiyaçların ekonomik olarak maliyeti hesaplanmıştır.
3.1. Teknik Fizibilite
Bu bölüm kullanıcı, geliştirici ve sunucunun yazılım ve donanım fizibilitesini içerir.
3.1.1. Kullanıcı
Ürünü kullanacak olan kullanıcıların bilgisayarlarının özellikleri aşağıda verilmiştir.
Gereğinden yüksek özellikler olması piyasadaki bilgisayar standartlarının
yükselmesinden kaynaklanmaktadır. Web tabanlı bir uygulama olduğu için kullanıcı
açısından işletim sistemi gereksinimi bulunmamaktadır. Aşağıdaki tabloda sadece bir
örnek verilmiştir.
Tablo 3.3 Kullanıcı Donanım ve Yazılım Gereksinimi
CPU 1.6GHz 800 Mhz FSB
RAM (MB) 512MB DDR 400Mhz
HDD (GB) 80 GB 7200 rpm
Görüntü Kartı (MB) 128MB FX5200 AGP 8X
Klavye Fare M.M. Klavye, Optik Fare
Ethernet 10/100 Ethernet
İşletim Sistemi MS Windows XP Home
Monitör 15’
3.1.2. Geliştirici
Fizibilitenin bu kısmında geliştiricinin yazılım seçimleri ve bu yazılımların ihtiyaç
duyduğu minimum donanım kriterleri verilmiştir.
3.1.2.1. Yazılım Fizibilitesi
Visual Studio 2012
Microsoft Visual Studio, Microsoft tarafından geliştirilen bir tümleşik geliştirme
ortamıdır (IDE). Microsoft Windows, Windows Mobile, Windows CE, .NET
Framework, .NET Compact Framework ve Microsoft Silverlight tarafından desteklenen
tüm platformlar için yönetilen kod ile birlikte yerel kod ve Windows Forms
uygulamaları, web siteleri, web uygulamaları ve web servisleri ile birlikte konsol ve
grafiksel kullanıcı arayüzü uygulamaları geliştirmek için kullanılır.
Visual Studio IntelliSense'in yanı sıra "code refactoring" destekleyen bir kod editörü
içerir. Entegre hata ayıklayıcı, hem kaynak-seviyesinde hem de makine-seviyesinde
çalışır. Diğer yerleşik araçlar, GUI uygulamaları, web tasarımcısı, sınıf tasarımcısı
ve veritabanı şema tasarımcısı yaratabilmek için bir form tasarımcısı içerir. Hemen
hemen her işlevsellik düzeyinde dahil olmak üzere, kaynak kontrol sistemleri için
destek (Subversion ve Visual SourceSafe gibi) sunan eklentileri kabul eder.
Visual Studio, değişik programlama dillerini destekler, bu da kod editörü ve hata
ayıklayıcısının neredeyse tüm programlama dillerini desteklemesini sağlamaktadır.
Dahili dillerC/C++ (Görsel yoluyla C++), VB.NET (Visual Basic .NET
üzerinden), C# (Visual C# ile), ve F# (Visual Studio 2010 itibariyle) içermektedir. [4]
Bu proje için seçim nedeni daha önce bu platformda program geliştirilmiş olmasıdır.
Daha önce bitirme projesi olarak tamamlanan proje test süreçlerinin raporlanması
şeklinde özetlenebilir, ve gelecekte bu proje ile birleştirilerek daha geniş kapsamlı bir
test süreç izleme, raporlama ve görev paylaşımı platformu haline getirilebileceği için
aynı yazılım geliştirme platformu üzerinden devam edilmiştir.
Oracle Express
Ücretsiz olması, editörlerinin (TOAD) kullanıcı dostu olması, geliştiricinin önceki
deneyimlerinin bu platforma uygun olması sebebiyle sql server yerine bu platform
tercih edilmiştir.
3.1.2.2. Donanım Fizibilitesi
Fizibilitenin bu bölümü Visual Studio 2012 programının minimum yazılım ve donanım
ihtiyaçlarına göre hazırlanmıştır.
Tablo 3.4 Visual Studio 2012 Donanım ve Yazılım Gereksinimi
Donanım ihtiyacı
1.6 GHz veya üstü
1 GB RAM
10 GB (NTFS)
5400 RPM hard disk
DirectX 9- 1024 x 768 çözünürlük
Kullanılabilir İşletim
Sistemleri
Windows 7 (x86 ve x64)
Windows 8 (x86 ve x64)
Windows Server 2008 R2 SP1 (x64)
Windows Server 2012 (x64)
Kullanılabilir Mimari32-bit (x86)
64-bit (x64)
Yukarıdaki tabloya göre geliştiricinin kullanabileceği bir bilgisayarın donanım
özellikleri aşağıdaki tabloda verilmiştir.
Tablo 3.5 Geliştirici Donanım ve Yazılım Gereksinimi
CPU 2.66 GHz, 533MHz, 2x1 MB L2 cache,
Bellek (MB) 1 GB DDR2 533 MHz
Sabit Disk (GB) 80 GB
Ekran Kartı 256 MB AGP Ekran Kartı
İşletim Sistemi MS Windows XP – Windows 7 - Windows 8
3.1.3. Sunucu
Bu bölüm sunucunun WEB üzerinde olması ve şirketin kendi bünyesinde olmasına göre
iki grup halinde incelenmiştir.
Tablo 3.6 Sunucu Donanım Gereksinimi
Kullanıcı Sayısı Konfigurasyon CPU RAM HDD
250 kullanıcıdan az Tek Sunucu 1 core 2.13 GHz 2 GB (125 GB)
250 - 500 kullanıcı Tek Sunucu dual core 2.13 GHz 4 GB (300 GB)
500 - 2,200 kullanıcıWeb Sunucu dual core 2.13 GHz 4 GB (500 GB)
DB 1 quad core 2.33 GHz 8 GB (2 TB)
2,200 - 3,600 kullanıcıWeb Sunucu 1 quad core 2.13 GHz 8 GB (500 GB)
DB 2 quad core at 2.33 GHz 16 GB (3 TB)
3.1.3.1. WEB üzerinde
Web üzerindeki bir sunucu için yukarıdakilerden başlangıç olarak 500-2200 kullanıcıyı
destekleyen donanıma sahip sunucu kullanılabilir.
3.1.3.2. Şirket Bünyesinde
Proje genel olarak küçük ölçekli şirketler için tasarlandığından dolayı yukarıda
listelenmiş özelliklerdeki sunuculardan ilki hedef kitle için yeterli olacaktır.
3.2. Zaman Fizibilitesi
Proje için öngörülen zaman planlaması Tablo 3.5 verilmiştir. Gannt Diagramı için Ekler
bölümünde Şekil Ek-1’e bakabilirsiniz.
Tablo 3.7 Proje Zaman Planlaması
Task Name Duration Start Finish
Gereksinimlerin Toparlanması 5 days Fri 18.10.13 Thu 24.10.13
DB yapısının oluşturulması 3 days Fri 25.10.13 Tue 29.10.13
Arayüzlerin tasarlanması 4 days Wed 30.10.13 Mon 4.11.13
1. Gelişim Raporu Dokümantasyonu 3 days Tue 5.11.13 Thu 7.11.13
Database Oluşturulması 4 days Fri 8.11.13 Wed 13.11.13
Database Sample Data oluşturulması 2 days Thu 14.11.13 Fri 15.11.13
Arayuzlerin Oluşturulması 5 days Mon 18.11.13 Fri 22.11.13
Arayüzlerin DB okuma entegrasyonu 5 days Mon 25.11.13 Fri 29.11.13
Yeni Gereksinim Ekleme/Silme/Güncelleme
Fonksiyonu2 days Mon 2.12.13 Tue 3.12.13
Yeni Test Ekleme/Silme/Guncelleme Fonksiyonu 4 days Wed 4.12.13 Mon 9.12.13
2. Gelişim Raporu Dokümantasyonu 3 days Tue 10.12.13 Thu 12.12.13
Yeni Test Kümesi Oluşturma/Silme/Güncelleme
Fonksiyonu2 days Fri 13.12.13 Mon 16.12.13
Test Gerçekleme Fonksiyonu 7 days Tue 17.12.13 Wed 25.12.13
Yeni Defect Ekleme/Silme/Güncelleme
Fonksiyonu3 days Thu 26.12.13 Mon 30.12.13
Word'e Aktarma Fonksiyonu 3 days Tue 31.12.13 Thu 2.1.14
Dokümantasyon 5 days Fri 3.1.14 Thu 9.1.14
3.3. Ekonomik Fizibilite
Teknik fizibilitede verilen yazılım ve donanımın maliyeti kullanıcı, geliştirici ve sunucu
dallanmalarına göre aşağıda verilmiştir.
3.3.1. Kullanıcı
Kullanıcı için Tablo 3.1’de verilen özelliklerdeki bir bilgisayarın maliyeti aşağıda
verilmiştir. Ürünün WEB’de sunulması durumunda bilgisayara ek olarak internet erişim
ücreti de bulunması gerekmektedir.
Tablo 3.1’deki bilgisayar maliyeti 495$+KDV
Internet Erişim Ücreti 49 TL / Ay Türk Telekom.
3.3.2. Geliştirici
Geliştirici için Tablo 3.3’de verilen özelliklerdeki bir bilgisayarın maliyeti aşağıda
verilmiştir. Ürünün WEB’de sunulması durumunda bilgisayara ek olarak internet erişim
ücreti de bulunması gerekmektedir.
Geliştiricinin bunun yanında tablo 3.5’te verilen proje planına göre 60 adam/gün’lük
maliyeti de bulunmaktadır.
Tablo 3.3’teki bilgisayar maliyeti 849$+KDV
Internet Erişim Ücreti 49 TL / Ay Türk Telekom.
MS Visual Studio 2012 – 499$
Oracle Express Edition – Ücretsiz
3.3.3. Sunucu
Sunucunun şirket içinde kullanılmasına ya da WEB’de yayınlanmasına göre aşağıdaki
sunuculardan uygun olan seçilebilir. Şirket ölçeğine göre Tablo 3.6’daki sunuculardan
biri seçilebilir:
Tablo 3.8 Sunucu Yazılım Maliyeti
Kullanılacağı Uygulamalar Licensing Model Maliyet
Görsel olarak yüksek ve Claud uyumlu uygulamalar Processor + CAL* $6,155
Görsellik olarak düşük uygulamalar Processor + CAL* $882
Küçük ve orta ölçekli işletmeler için iki işlemcili Server (25 Kullanıcı Limit) $501
Küçük ve orta ölçekli işletmeler için tek işlemcili Server (15 Kullanıcı Limit) OEM
3.4. Maliyet / Fayda
Yapılan projenin ücretli olarak kullanıcıya sunulması durumunda maliyetini ne kadar
sürede karşılayabileceğinin incelendiği bu bölümde uygulamanın bakım maliyeti,
uygulamanın kurulacağı sunucunun dışardan alınması gereken bakım maliyeti ve ilk
üretim maliyetleri hesaplanacaktır. Uygulamanın WEB’de sunulması ve/veya firmaya
satılması ile sağlayacağı faydalar incelenecektir.
3.4.1. Geliştirme Maliyeti
Bölüm 3.2.2 de incelenen geliştirici bilgisayarı ve yazılımlarının maliyeti 6 aylık
internet erişimi de dahil 3200 TL olarak hesaplanmıştır.
Proje planına göre proje yaklaşık 60 iş gününde tamamlanmıştır. Bu da 1 adam gün
mesai harcanarak 3 aylık bir geliştirme masrafı demektir (kabaca 12.000TL). Bu
durumda geliştirme maliyeti kabaca 15.000 TL’dir.
3.4.2. Uygulama Bakım Maliyeti
Bakım maliyetinin aylık 0.25 adam tutacağı öngörülmüştür. Kullanıcı sayısının artması
durumunda bu maliyet artacaktır.
Daha çok makine mühendisliğine yönelik hazırlanan aşağıdaki grafikte görüldüğü gibi
bakım maliyeti ilk yıl içerisinde yaklaşık %25 azalacak 2.yıl sonunda ise %50 civarına
inecektir. [6]
Şekil 3.13 Bakım Birim Maliyeti Yıllara göre Oranı
Bölüm 3.4.1 deki geliştirme insan maliyeti düşünülürse uygulamanın bakım maliyeti ilk
yıl aylık 1000 TL civarında olacaktır.
İkinci yıl bu maliyet 750 TL, 3.yıl ise 500TL civarına gerileyecektir.
3.4.3. Uygulama Sunum Maliyeti
Uygulamayı kendi sunucumuz ile sunmak ilk aşamada gereksiz bir harcama olarak
görünmektedir. Bunun nedenleri aşağıdaki şekilde sıralanmıştır:
- Veritabanı maliyeti : Geliştirme olarak Oracle Express kullanılmıştır ancak
ücretsiz olarak temin edilebilen bu ürün 3GB limitli olarak kullanıcıya sunulur,
bu kısa sürede yetersiz kalacaktır.
- Yedekleme sistemi : olası bir arıza durumunda yedek sistemden dönülmesi
gerekeceği için Veritabanının bir yedekleme sisteminin kurulması gerekecektir.
Bu da veritabanı maliyetini yaklaşık 2 katına çıkaracaktır.
- DR (Disaster Recovery) ortam : olası bir arıza halinde müşteriye hizmetin
eksiksiz sağlanabilmesi için asıl ortam ayağa kalkana kadar yedek bir ortamda
hizmetin sunulmasına devam edilmelidir. 3. Bir veritabanı ve 2. Bir sunucu
maliyeti daha eklenmelidir.
- Sunucu bakımı: Sunucunun ADO maliyetini düşürmek için planlı bakımlar
yapılmalıdır. Özel bir şirketten alınan maliyete göre bu yıllık 2000 TL civarında
bir anlaşma yapılması ve olası arıza durumlarında saati 80 TL ile 300 TL
arasında onarım hizmeti alınması anlamına gelmektedir. [7]
Bu nedenlerle ilk aşamada bir sunucu firması ile anlaşılması ve uygulamanın bu
firma üzerinden sunulması maliyeti gözle görülür bir şekilde düşürecektir. 1000
kullanıcılık MySQL veritabanı ile sunulmasına karar verilirse aylık maliyeti 30TL
civarında olacaktır. [8]
3.4.4. Uygulama Fayda Hesaplama
Benzeri uygulamalar web hosting ile 7$/ay/kullanıcı, uygulamanın müşteriye
satılması durumunda 25$/ay gibi fiyatlara bulunmaktadır.
Geliştirilen uygulama küçük ölçekli firmalar (test yapan 4-5 kişilik grup ve
raporlamaya bakmak için kullanıcı talep edecek 20-30 kullanıcılık) için tasarlandığı
için fiyatının ilk aşamada mümkün olduğunca düşük tutulması faydalı olacaktır.
Bu nedenle aşağıdaki gibi bir fiyatlandırma öngörülmüştür.
Web hosting ile:
5TL/ay/kullanıcı
Firmaya satılması durumunda
25 TL/ay (sunucu maliyetlerini düşünerek bunu tercih etmeyecek firmalar
bulunacaktır)
Bu durumda bir firmadan ortalama 120 TL’lik bir gelir elde edilmesi varsayılabilir.
Konusunda yapılmış çok az örneği bulunan bir uygulama olduğu için hizmeti satın
almak isteyecek en az 20 firma bulunacağı öngörülürse:
Kazanç:
120TL*20*0,82 (KDV hesaplanmıştır) = 1968 TL
Harcama:
İlk Yıl :
1000TL (Bakım geliştirici maliyeti) + 30 TL (hosting maliyeti) =1030 TL
Aylık ortalama net kazanç: 938 TL
İkinci Yıl:
750TL (Bakım geliştirici maliyeti) + 30 TL (hosting maliyeti) =780 TL
Aylık ortalama net kazanç: 1188 TL
Son durumda uygulamanın kendi maliyetini çıkarması en fazla 15 ay sürecektir
15000 TL Toplam maliyet = 12 ay *938 TL + 3.15 ay * 1188TL
4. SİSTEM ANALİZİ
Ürün web tabanlı bir uygulama olarak tasarlanmıştır ve giriş bölümünde bahsedildiği
gibi test ve hata izleme aracında olması gereken özellikler aşağıdaki gibidir,
Gereksinimler kaydedilebilmeli.
Test senaryoları ve girdileri kaydedilebilmeli.
Testler gerçekleştirildikten sonra çıktılar kaydedilebilmeli.
Beklenen çıktıyı vermeyen test senaryoları için hata kayıtları girilebilmeli.
Kullanım kolaylığı açısından yukarıda verilen 4 ana bölüm tek sayfada 4 sekmeden
oluşacaktır. Bu sayfanın ilk açılışında 4 ayrı sekmenin yüklenmesi biraz uzun sürecektir
ancak kullanım sırasında sürekli güncellenmesindense sekmeler arasında gidip gelme
işleminin anında gerçekleşmesi daha kullanıcı dostu olacağı için bu yöntem seçilmiştir.
Sekmeler ve bu sekmelerdeki işlemler aşağıda detaylandırılmıştır.
4.1. Gereksinim
Kullanıcılar yetkilerine göre gereksinim ekleme/güncelleme işlemlerini yapabilecektir.
Bu işlevlerin web ara yüzünde aynı isimli bir sekme altında yapılması tasarlanmaktadır.
4.1.1. Gereksinim detayları
Bir gereksinimin anlaşılır olması için gereksinimde bulunması gereken özelliklerdir.
Gereksinim numarası
Gereksinimin benzersiz numarasıdır. Hem ara yüzde görünecek hem de veri tabanında
gereksinim için ayırıcı olarak kullanılacaktır.
Gereksinim ismi
Gereksinimin ara yüzde kolay anlaşılması için verilen ismidir.
Gereksinim Açıklaması
Gereksinimin ekranda listeleme sırasında karışıklık yaratmaması için isminden daha
uzun olan detaylı açıklamasıdır.
Gereksinim tipi
Projenin genelinde bahsedilen gereksinimlerin tipidir, bazı gereksinimlere bağlı test
senaryosu olmayabilir. Örnek bazı tipler ve açıklamaları aşağıdaki gibidir:
o Fonksiyonel
Fonksiyonel gereksinimlerdir, bu gereksinimlere bağlı testcaseler oluşturulacaktur.
o İş Akışı
Fonksiyonel olmayan ancak iş akışında bulunan gereksinimlerdir. Sistemsel yapılmayan
ancak manual olarak yürütülen işler bu gereksinimler kapsamında incelenir.
o Performans
Sistemin performans kriterlerinin verileceği gereksinimlerdir.
o Kapsam dışı
Proje kapsamında bulunmayan ve bazı durumlarda bunların da belirtilmesi gereken
gereksinimlerdir. Örneğin bu proje kapsamında raporlama gereksinimi olmayacaktır ve
raporlama gereksinimi bu tipte yazılacaktır.
Oluşturulduğu tarih
Gereksinimin oluşturulduğu tarihtir.
Kimin tarafından oluşturulduğu
Gereksinimin kimin tarafından oluşturulduğu bilgisidir.
Yorum alanı
Gereksinimlerin zamanla değişeceği düşünülerek değiştiren kişinin yorum girmesi için
bu alan tasarlanmıştır.
4.1.2. Gereksinim İşlemleri
4.1.2.1. Yeni gereksinim ekleme
Kullanıcı yeni gereksinim ekleyebilir.
4.1.2.2. Gereksinim güncelleme/silme
Gereksinimler belirlenen kullanıcı tipleri için güncellenebilir ve silinebilir olacaktır.
Güncelleme ve silme işlemlerinin tamamlanabilmesi için kullanıcının yorum girmesi
şartı koşulacaktır.
4.1.2.3. Yeni yorum ekleme
Gereksinimlere gelecekte neden değiştirildiğine dair notlar konulabilir, bu notlar
görüntülenebilir.
4.1.2.4. Gereksinim ve Test senaryo eşleştirme
Gereksinim sekmesinde test senaryoları ile eşleştirmek için bir işlev geliştirilecektir.
4.1.3. Gereksinim Klasörleri
Gereksinimler aynı anda birden fazla proje yürütülmesi düşünülerek klasörlere ayrılmış
durumda olacaktır.
4.1.3.1. Klasör Ekleme
Gereksinimler için yeni klasör oluşturma işlemi yapılabilir.
4.1.3.2. Klasör Güncelleme
Gereksinim sekmesinde mevcut klasörler güncellenebilir.
4.1.3.3. Klasör Silme
Gereksinim sekmesinde mevcut klasörler silinebilir.
4.1.4. Gereksinim Sekmesi Kullanıcı Yetkileri
Gereksinim sekmesinde yapılabilen tüm işlemlerin hangi kullanıcı grupları tarafından
yapılabileceği aşağıda verilmiştir.
4.1.4.1. Admin
Klasör Oluşturma/Silme/Güncelleme
Gereksinim Ekleme/Silme/Güncelleme
Gereksinim Yorum Ekleme
Gereksinim & test senaryo ilişkilendirme
Şekil 4.14 Gereksinim Sayfası Admin işlemleri
4.1.4.2. Test Sorumlusu
Klasör Oluşturma/Güncelleme
Gereksinim Ekleme/Silme/Güncelleme
Gereksinim Yorum Ekleme
Gereksinim & test senaryo ilişkilendirme
Şekil 4.15 Gereksinim Sayfası Test Sorumlusu işlemleri
4.1.4.3. Geliştirme Sorumlusu
Klasör görüntüleme
Gereksinim Görüntüleme/Ekleme/Güncelleme
Gereksinim Yorum Ekleme
Gereksinim & test senaryo görüntüleme
4.1.4.4. Proje Yöneticisi
Klasör Görüntüleme
Gereksinim Görüntüleme/Ekleme/Güncelleme
Gereksinim Yorum Ekleme
Gereksinim & test senaryo görüntüleme
Şekil 4.16 Gereksinim Sayfası Geliştirme Sorumlusu ve Proje Yöneticisi işlemleri
4.1.4.5. İzleyici
Klasör Görüntüleme
Gereksinim Görüntüleme
Gereksinim Görüntüleme
Gereksinim & test senaryo görüntüleme
4.2. Test Senaryo
Kullanıcıların test senaryolarını girebileceği aynı isimli sekmede bulunması tasarlanan
fonksiyonalitelerdir.
4.2.1. Test Senaryo Detayları
Test senaryoları temel olarak aşağıdaki yapıdadır
Test senaryo ismi
Test senaryosunun ismidir.
Test senaryo aksiyonları
Test senaryosunu oluşturmak için gereken aksiyonların tamamıdır.
Test senaryo beklenen sonucu
Test senaryosu aksiyonları gerçekleştirildikten sonra beklenen durumdur. Test
senaryoları farklı birçok aksiyon ve adımlar halinde sonuçları alınacak bir senaryo
olabilir. Bu durumda test adımları devreye girer. Aslında yukarıda bahsettiğimiz içerik
tek adımlı bir test senaryosunda olması gereken adımın içeriğidir. Test senaryosu bunun
gibi birçok adımdan oluşabilir.
Test senaryosunun yazarı
Test senaryosunun kimin tarafından yazıldığı bilgisidir.
Test senaryosunun yazılma tarihi
Test senaryosunun ne zaman yazıldığı bilgisidir.
Test senaryosunun benzersiz numarası
Test senaryosunun benzersiz numarasıdır. Hem ara yüzde görünecek hem de veri
tabanında gereksinim için ayırıcı olarak kullanılacaktır.
4.2.2. Test Senaryo İşlemleri
4.2.2.1. Yeni test senaryosu ekleme
Kullanıcı yeni senaryo ekleyebilir.
4.2.2.2. Test senaryo güncelleme/silme
Test senaryoları belirlenen kullanıcı tipleri için güncellenebilir ve silinebilir olacaktır.
Güncelleme ve silme işlemlerinin tamamlanabilmesi için kullanıcının yorum girmesi
şartı koşulacaktır.
4.2.2.3. Test senaryo – gereksinim eşleştirme
Kullanıcı Test senaryoları ile gereksinimleri eşleştirebilmelidir. Bir senaryo birden fazla
gereksinime bağlı olabileceği gibi, bir gereksinim birden fazla senaryo ile de eşleşmiş
olabilir.
4.2.2.4. Test adım ekleme
Kullanıcı mevcut senaryolara yeni adımlar ekleyebilir.
4.2.2.5. Test adım silme/güncelleme
Test adımları belirlenen kullanıcı tipleri için güncellenebilir ve silinebilir olacaktır.
Güncelleme ve silme işlemlerinin tamamlanabilmesi için kullanıcının yorum girmesi
şartı koşulacaktır.
4.2.3. Test Senaryo Klasörleri
Test Senaryoları aynı anda birden fazla proje yürütülmesi düşünülerek klasörlere
ayrılmış durumda olacaktır.
4.2.3.1. Klasör Ekleme
Test Senaryoları için yeni klasör oluşturma işlemi yapılabilir.
4.2.3.2. Klasör Güncelleme
Test Senaryoları sekmesinde mevcut klasörler güncellenebilir.
4.2.3.3. Klasör Silme
Test Senaryoları sekmesinde mevcut klasörler silinebilir.
4.2.4. Test Senaryo Sekmesi Kullanıcı Yetkileri
Test Senaryo sekmesinde yapılabilen tüm işlemlerin hangi kullanıcı grupları tarafından
yapılabileceği aşağıda verilmiştir.
4.2.4.1. Admin
Klasör Oluşturma/Silme/Güncelleme
Test Senaryo Ekleme/Silme/Güncelleme
Test Senaryo Yorum Ekleme
Gereksinim & test senaryo ilişkilendirme
Şekil 4.17 Test Senaryo Sayfası Admin işlemleri
4.2.4.2. Test Sorumlusu
Klasör Oluşturma/Güncelleme
Test Senaryo Ekleme/Silme/Güncelleme
Test Senaryo Yorum Ekleme
Gereksinim & test senaryo ilişkilendirme
Şekil 4.18 Test Senaryo Sayfası Test Sorumlusu işlemleri
4.2.4.3. Geliştirme Sorumlusu
Klasör görüntüleme
Test Senaryo Görüntüleme/Ekleme/Güncelleme
Test Senaryo Yorum Ekleme
Gereksinim & test senaryo görüntüleme
4.2.4.4. Proje Yöneticisi
Klasör Görüntüleme
Test Senaryo Görüntüleme/Ekleme/Güncelleme
Test Senaryo Yorum Ekleme
Gereksinim & test senaryo görüntüleme
Şekil 4.19 Test Senaryo Sayfası Geliştirme Sorumlusu ve Proje Yöneticisi işlemleri
4.2.4.5. İzleyici
Klasör Görüntüleme
Test Senaryo Görüntüleme
Test Senaryo Görüntüleme
Gereksinim & test senaryo görüntüleme
4.3. Test Kümeleri
Kullanıcı belirli senaryoları bir araya getirerek kendine ait bir test kümesi
oluşturabilecek ve bu kümeyi gerçekleştirip sonuçlarını kaydedebilecektir.
4.3.1. Test Kümeleri Detayları (Test Gerçekleştirme Detayları)
Test kümelerinde test senaryolarına ek olarak aşağıdaki alanlar bulunur.
Test adım sonucu açıklaması
Test adımının gerçekleşen sonucunun yazıldığı alandır.
Test adım sonucu
Test adımının Başarılı/başarısız sonucudur.
Testin kimin tarafından koşulduğu
Test senaryosunun kimin tarafından gerçekleştirildiğini belirten alandır.
Testin gerçekleştirilme tarihi
Test senaryosunun ne zaman gerçekleştirildiğini veren tarihtir
4.3.2. Test Kümesi işlemleri
Test kümeleri sekmesinde yapılabilen işlemlerdir.
4.3.2.1. Klasör oluşturma/silme/güncelleme
Kullanıcı yeni klasör ekleme/silme/güncelleme işlemleri yapabilir.
4.3.2.2. Yeni test kümesi oluşturma
Kullanıcı yeni senaryolarını istediği test kümesine ekleyebilir. Bir senaryo birden fazla
test kümesinde bulunabilir.
4.3.2.3. Klasörden senaryo silme/güncelleme
Kullanıcı klasörden senaryo silebilir, var olan senaryoları güncelleyebilir.
4.3.2.4. Senaryo gerçekleştirme
Kullanıcı var olan senaryoları çalıştırabilecektir. Bu durumda karşısına senaryoların
sonuçlarının girileceği bir pop-up ekran açılması beklenir.
Senaryo yeni gerçekleme
Kullanıcı senaryoları baştan gerçekleyebilir. Bu durumda karşısına boş bir ekran
çıkacaktır.
Senaryo gerçekleme devam
Kullanıcı bir önceki gerçeklemeden devam etmek isteyebilir. Bu durumda senaryonun
en son kayıtlı gerçekleme işlemi açılır. Gerçekleştirilen adımların sonuçları dolu
olmalıdır.
4.3.3. Test Küme Klasörleri
Test Kümeleri aynı anda birden fazla proje yürütülmesi düşünülerek klasörlere ayrılmış
durumda olacaktır.
4.3.3.1. Klasör Ekleme
Test Kümeleri için yeni klasör oluşturma işlemi yapılabilir.
4.3.3.2. Klasör Güncelleme
Test Kümeleri sekmesinde mevcut klasörler güncellenebilir.
4.3.3.3. Klasör Silme
Test Kümeleri sekmesinde mevcut klasörler silinebilir.
4.3.4. Test Kümesi Sekmesi Kullanıcı Yetkileri
Test Kümesi sekmesinde yapılabilen tüm işlemlerin hangi kullanıcı grupları tarafından
yapılabileceği aşağıda verilmiştir
4.3.4.1. Admin
Klasör Oluşturma/Silme/Güncelleme
Koşulacak Test Kümesi Ekleme/Silme/Güncelleme
Test Kümesi Koşma
Şekil 4.20 Test Kümeleri Sayfası Admin işlemleri
4.3.4.2. Test Sorumlusu
Klasör Oluşturma/Silme/Güncelleme
Koşulacak Test Kümesi Ekleme/Silme/Güncelleme
Test Kümesi Koşma
Şekil 4.21 Test Kümeleri Sayfası Test Sorumlusu işlemleri
4.3.4.3. Geliştirme Sorumlusu
Klasör görüntüleme
Koşulacak Test Kümesi Görüntüleme
4.3.4.4. Proje Yöneticisi
Klasör Görüntüleme
Koşulacak Test Kümesi Görüntüleme
Şekil 4.22 Test Kümeleri Sayfası Geliştirme Sorumlusu ve Proje Yöneticisi işlemleri
4.3.4.5. İzleyici
Klasör Görüntüleme
Koşulacak Test Kümesi Görüntüleme
4.4. Hata
Kullanıcıların hata kayıtlarını girebileceği aynı isimdeki sekmedir.
4.4.1. Hata Detayları
Hata kayıtları aşağıdaki alanları içermektedir.
Hata numarası
Hata kaydının ekranda görünecek, aynı zamanda veri tabanında ayrıştırılmasını
sağlayacak benzersiz numarasıdır.
Hata özeti
Hata kaydının ekranda kullanıcıların görebilmesi ve ayırt edebilmesi için gerekli özet
açıklamasıdır.
Hata detayı
Hata kaydının ekranda listelenmeyecek detaylı açıklamasıdır.
Hata bulunma zamanı
Hata kaydının ne zaman bulunduğunu belirten alandır.
Hatanın kime atandığı
Hata kaydının kimin yaptığı geliştirme ile ilgili olduğunu belirten açıklamadır.
Hata durumu
Hata kaydının ne durumda olduğunu gösteren açıklamadır.
4.4.2. Hata işlemleri
Hata kayıtları ile ilgili işlemlerdir.
4.4.2.1. Yeni hata kaydı oluşturma
Test senaryosu oluşturulurken girilen yeni hata kayıtlarıdır. Hata kaydı iki şekilde
oluşturulur.
Hata sekmesinden oluşturma
Boş bir hata kaydı penceresi açılır ve kullanıcının tüm alanları doldurması beklenir. Bu
durumda hata bir test senaryosu ile ilişkili değildir.
Test kümesi sekmesinden oluşturma
Test gerçekleştirilirken belirli bir adım için hata açarken kullanılır. Bu durumda hata
açıklaması bölümüne test senaryosunun aksiyonu, beklenen sonucu ve gerçekleşen
sonucu bölümleri kopyalanır.
Bu şekilde açıldığında hata kaydı otomatik olarak senaryo ile ilişkilendirilir.
4.4.2.2. Hata kaydı silme/güncelleme
Hata kayıtları kullanıcı yetkilerine göre silinip güncellenebilir.
4.4.2.3. Hata kaydı durum güncelleme
Hata kayıtlarını durumları güncellenebilir olmalıdır. Her durumun hata kaydı için bir
açıklaması vardır ve yazılım hata yönetimi süreçlerinde tanımlanmıştır.
Yeni
Hata kaydının yeni açıldığı anlamına gelir.
Ele alındı
Hata kaydı ile ilgili çalışmaya başlandığı anlamına gelir.
Düzeltildi
Hata kaydının düzeltildiği anlamına gelir.
Reddedildi
Hata kaydının bir hata olmadığı ya da eksik/yanlış olduğu anlamına gelir.
Yeniden Açıldı
Reddedildikten ya da düzeltildikten sonra hatanın giderilmediği durumlarda hatayı
tekrar geliştiriciye yönlendirmek için kullanılır.
Kapatıldı
Hata kaydının sona erdiği anlamına gelir.
4.4.2.4. Hata kaydı atanan kişi güncelleme
Atanan kişi güncelleme işlemi hatanın en son kimde olduğu ve kimden aksiyon
beklendiğinin belirtilmesi için kullanılır.
4.4.2.5. Hata kaydı yorum ekleme
Yorum ekleme status ve atanan kişi güncellemelerinin ne amaçla yapıldığının
incelenmesi açısından önemlidir.
4.4.3. Hata Sekmesi Kullanıcı Yetkileri
Hata sekmesinde yapılabilen tüm işlemlerin hangi kullanıcı grupları tarafından
yapılabileceği aşağıda verilmiştir
4.4.3.1. Admin
Admin kullanıcıları tüm hata kayıtları üzerinde işlem yapabilir, kimin tarafından
bulunduğu önemli değildir.
Hata Ekleme/Silme/Güncelleme
Hatanın kimin tarafından bulunduğu bilgisini değiştirebilirler
Hata yorum ekleme
Hatanın bulunduğu test kümesini güncelleme
Şekil 4.23 Hata Sayfası Admin işlemleri
4.4.3.2. Test Sorumlusu
Kullanıcılar sadece kendi oluşturdukları hata ile ilgili güncelleme işlemi yapabilirler.
Hata Ekleme/Güncelleme
o “Yeni” hata kaydı oluşturabilir.
o Kendilerine “Reddedildi” durumunda gelen hata kayıtlarının durumunu
“Kapalı” ya da “Yeni” durumuna çekebilirler.
o “Düzeltildi” durumundaki hata kayıtlarının durumunu “Kapalı” ya da
“Yeni” durumuna çekebilirler.
o Atanan kişi bilgisini güncelleyebilirler.
Hata yorum ekleme
Hatanın bulunduğu test kümesini güncelleme
Şekil 4.24 Hata Sayfası Test Sorumlusu işlemleri
4.4.3.3. Geliştirme Sorumlusu
Hata Güncelleme
o Kendilerine “Yeni” durumunda gelen hata kayıtlarının durumunu
“Reddedildi” ya da “Düzeltildi” durumuna çekebilirler.
o Atanan kişi bilgisini güncelleyebilirler.
Hata yorum ekleme
4.4.3.4. Proje Yöneticisi
Hata Güncelleme
o Kendilerine “Yeni” durumunda gelen hata kayıtlarının durumunu
“Reddedildi” ya da “Düzeltildi” durumuna çekebilirler.
o Atanan kişi bilgisini güncelleyebilirler.
Hata yorum ekleme
Şekil 4.25 Hata Sayfası Geliştirme Sorumlusu ve Proje Yöneticisi işlemleri
Hataların durum bilgisi belirli kurallara göre değiştirilebilir bu nedenle aşağıdaki
diagram hazırlanmıştır:
Şekil 4.26 Hata hayat döngüsü
4.5. Diğer Kullanıcı İşlemleri
Sistemdeki kullanıcı tipleri ve yetkileri aşağıda belirtilmiştir.
4.5.1. Admin
Genel olarak sistemin yöneticiliğini yapacak olan kullanıcı grubudur.
Kullanıcı Ekleme/Silme/Güncelleme
Kullanıcıları ekleyebilir, Güncelleyebilir ve silebilir.
Kullanıcı Yetkilendirme
Kullanıcılara belirli grupların yetkisini verebilir.
4.5.2. İzleyici
Tüm sekmelerde görme işlemi yapabilirler.
4.5.3. Ziyaretçi
Sisteme giriş yapmadan Gereksinim, test senaryo ve hata sekmelerini
görüntüleyebilirler.
Server
5. SİSTEM TASARIMI
5.1. Yazılım Tasarımı
Testlerin izlenebilmesi için temel işlevlerin sunulduğu WEB tabanlı bir sistem
geliştirilecektir.
Şekil 5.27 Tasarlanan Sistemin Yapısı
AJAX Tool Kit kullanılarak sayfa güncellemesi az olan ve kullanıcının sekmeler
arasında rahat geçiş yapabileceği bir ortam sunulacaktır.
Kodlama sırasında sürekli db bağlantısı yapmamak için iki adet fonksiyon yazılacaktır,
bunlardan ilki tüm veri sorgulama işlemlerinde ikincisi tüm veri yazma işlemlerinde
kullanılacaktır.
Use Case Diagramlarından yola çıkarak çok kullanılan aşağıdaki işlemler için
fonksiyonlar tasarlanmıştır:
5.1.1. Klasör Oluşturma
Tüm seklemelerde aynı fonksiyon kullanılabilecek şekilde tasarlanmıştır. Girdi olarak
obje tipi verilecek ve bu sayede hangi sekmeye klasör oluşturulacağı anlaşılacaktır.
5.1.2. Obje Linkleme
Gereksinim-Test Senaryo, Test Senaryo – Test Kümesi ve Test Kümesi – Hata
bağlantılarının tek bir fonksiyon ile yapılması tasarlanmıştır. Girdi olarak obje id’leri ve
obje tipleri verilecektir.
WEB
DB
5.1.3. Yorum Ekleme
Tüm objelere tek fonksiyon üzerinden yorum eklenecektir. Girdi olarak obje id’leri ve
obje tipleri verilecektir.
5.1.4. Yeni Gereksinim Girişi / Güncelleme
Gereksinim girişi ve güncelleme için tek fonksiyon yazılacak, fonksiyona girdi olarak
ID alanı da geliyor ise fonksiyon bunun güncelleme olduğunu anlayacaktır.
5.1.5. Yeni Test Senaryo Girişi / Güncelleme
Test senaryo girişi ve güncelleme için tek fonksiyon yazılacak, fonksiyona girdi olarak
ID alanı da geliyor ise fonksiyon bunun güncelleme olduğunu anlayacaktır.
5.1.6. Yeni Hata Girişi / Güncelleme
Yeni hata girişi ve güncelleme için tek fonksiyon yazılacak, fonksiyona girdi olarak ID
alanı da geliyor ise fonksiyon bunun güncelleme olduğunu anlayacaktır.
5.2. Veritabanı Tasarımı
Veri tabanı genel olarak aşağıdaki şekilde tasarlanmıştır bunun dışında özel olarak
ilişkilenen tablolar kullanım açıklamasına göre ayrıca verilmiştir:
Şekil 5.28 Veri Tabanı Genel Tasarımı
Her bilgi okuma işleminde bir çok tabloyu birleştirmek yerine veri tabanı üzerinde
view’lar oluşturulmuştur. Bu viewlar sayesinde kod içerisinde çok uzun select
cümlelerinin olması engellenmiştir. Aşağıda bu viewların en önemlileri ile ilgili kısaca
bilgi verilmiştir.
5.2.1. Hata Özeti
Hata, Durum, Kullanıcı, Önem, Öncelik ve Tip sayfalarından (T_Defect,
T_Defect_Status, T_Severity, T_Defect_Type) bilgileri çekerek okunabilir halde
sunulmasını sağlar.
5.2.2. Test Senaryo Özeti
Test Senaryo, Senaryo Tipi ve Kullanıcı tablolarını birleştirip okunabilir hale gelmesini
sağlar.
5.2.3. Test Gerçekleştirme Özeti
Test Gerçekleme, Adım Gerçekleme, Test Durumu ve kullanıcı tablolarını birleştirerek
okunabilir hale gelmesini sağlar. Diğer araçlardan farklı olarak test durumu sadece
adımlarda tutulmuştur. Bunun nedeni, örneğin, test adımlarının hepsi başarılı
durumdayken test senaryosunun durumunun başarısız olmasını engellemektir.
Test adımlarının durumları birleştirilirken aşağıdaki kurallar göz önünde
bulundurulmuştur:
Test senaryosunun tüm adımları “Başarılı” ise test başarılıdır.
Test senaryosunun bir adımı bile “Başarısız” ise test senaryosu başarısızdır.
Test senaryosunun bir adımı bile “Gerçekleştirilemez” ise test senaryosu
gerçekleştirilemezdir.
Test senaryosunun tüm adımları “Gerçekleştirilmedi” ise test senaryosu
gerçekleştirilmemiştir.
Test senaryosunun bir adımı bile “Gerçekleştirilmedi” olarak kaldıysa test
senaryosu “Tamamlanmamıştır”
Test senaryosunun Adım gerçekleme tablosunda kaydı yoksa test senaryosu
“Gerçekleştirilmmiştir”
5.3. Girdi – Çıktı Tasarımı
Arayüzler sade renklerde tasarlanmıştır. Açılır kapanır paneller AJAX yardımı ile
yapılacak ve kullanıcının güncellenme ile mümkün olan en az karşılaşması
sağlanacaktır.
5.3.1. Gereksinim Sekmesi
Gereksinim Sekmesinin görünümü aşağıdaki gibi olacaktır.
BAŞLIK Login MenüsüAna Sekmeler (1)
Klasör Butonları (2) Gereksinim Butonları (3)
Gereksinim ve Senaryo Linkleme Butonları (4)
Klasör Ağaç Görünümü (5)
Geresinimler(6)
Test Senaryoları Ağaç Görünümü (9)Gereksinim Ayrıntılari Sekmesi (7)
Seçilen Sekmeye Göre Gereksinim Ayrıntıları (8)
Şekil 5.29 Gereksinim Sekmesi Tasarımı
1 Nolu bölümde kullanıcının Gereksinim, Test Senaryoları, Test Kümeleri ve Hatalar
sayfalarına ulaşacağı bir Sekme bölümü olacaktır.
2 Nolu bölümde yeni gereksinim klasörü ekleme / silme ve klasörleri güncelleme
butonları bulunacaktır.
3 Nolu bölümde yeni gereksinim ekleme / silme ve güncelleme butonları bulunacaktır.
4 Nolu bölümde gereksinimlere test senaryoları ekleme butonları bulunacaktır.
5 Nolu bölümde klasörler açılır kapanır ağaç görünümünde olacak ve üzerine tıklanan
klasör altındaki gereksinimler 6 nolu bölümde tablo şeklinde gösterilecektir.
Bu tablodan bir gereksinim seçildiğinde 7 ve 8 bolu bölümleri barındıran açılır kapanır
panel’in içi dolacaktır ve kullanıcı seçili gereksinimin ayrıntılarını bu bölümlerden
görüntüleyebilecektir.
9 nolu bölüm ilk açılışta kapalı olacak tıklandığında açılacak ve seçim kutucukları
sayesinde seçili gereksinim ile test senaryoları ilişkilendirilecektir.
Gereksinim Adı 1Gereksinim Tipi 2Gereksinim Açıklaması
3
Şekil 5.30 Yeni Gereksinim Ekleme Tasarımı
1 nolu alan Gereksinimin isminin girileceği bir metin kutusu olacaktır.
2 nolu alan gereksinimin tipinin seçileceği bir liste olacaktır.
3 nolu alan gereksinimin açıklamasının girileceği çok satırlı bir metin kutusu olacaktır.
5.3.2. Test Senaryo Sekmesi
Test senaryo sekmesi aşağıdaki gibi görünecektir.
BAŞLIK Login MenüsüAna Sekmeler (1)
Klasör Butonları (2) Test Senaryo Butonları (3)
Gereksinim ve Senaryo Linkleme Butonları (4)
Klasör Ağaç Görünümü (5)
Test Senaryoları (6) Gereksinimler Ağaç Görünümü (9)
Test Senaryo Ayrıntılari Sekmesi (7)
Seçilen Sekmeye Göre Test Senaryo Ayrıntıları (8)
Şekil 5.31 Test Senaryo Sekmesi Tasarımı
1 Nolu bölümde kullanıcının Gereksinim, Test Senaryoları, Test Kümeleri ve Hatalar
sayfalarına ulaşacağı bir Sekme bölümü olacaktır.
2 Nolu bölümde yeni test senaryo klasörü ekleme / silme ve klasörleri güncelleme
butonları bulunacaktır.
3 Nolu bölümde yeni test senaryo ekleme / silme ve güncelleme butonları bulunacaktır.
4 Nolu bölümde gereksinimlere test senaryoları ekleme butonları bulunacaktır.
5 Nolu bölümde klasörler açılır kapanır ağaç görünümünde olacak ve üzerine tıklanan
klasör altındaki test senaryoları 6 nolu bölümde tablo şeklinde gösterilecektir.
Bu tablodan bir test senaryosu seçildiğinde 7 ve 8 bolu bölümleri barındıran açılır
kapanır panel’in içi dolacaktır ve kullanıcı seçili test senaryosunun ayrıntılarını bu
bölümlerden görüntüleyebilecektir. Ayrıca bu bölümde kişi senaryoya test adımı
ekleyebilecek ve mevcut test adımlarını sıralayabilecektir.
9 nolu bölüm ilk açılışta kapalı olacak tıklandığında açılacak ve seçim kutucukları
sayesinde seçili gereksinim ile test senaryoları ilişkilendirilecektir.
Test Senaryo Adı 1Test Senaryo Tipi
2
Test Adım ekleme butonları (3)
4
Test Adım Açıklama Test Adım Beklenen Sonuç
5 6
Şekil 5.32 Yeni Test Senaryo Girişi
1 nolu alan Test senaryosunun adının girileceği bir metin kutusu olacaktır.
2 nolu alan Test senaryosunun tipinin seçileceği bir liste olacaktır.
3 nolu alan Test Adımı ekleme butonu olacaktır.
4 nolu alanda eklenen test adımlarının görünmesini sağlayacak bir tablo bulunacaktır.
Bu tablo üzerinde Güncelleme ve Silme butonları bulunacaktır.
5 nolu alan Test Adımının açıklamasının girileceği çok satırlı bir metin kutusu olacaktır.
6 nolu alan Test Adımının Beklenen sonucunun girileceği çok satırlı bir metin kutusu
olacaktır.
5.3.3. Test Kümeleri Sekmesi
BAŞLIK Login MenüsüAna Sekmeler (1)
Klasör Butonları (2) Test Küme Butonları (3)
Test Kümesine Senaryo Ekleme Butonları (4)
Klasör Ağaç Görünümü (5)
Test Kümeleri (6)
Test Senaryoları Ağaç Görünümü (9)Test küme Ayrıntılari Sekmesi (7)
Seçilen Sekmeye Göre Test Küme Ayrıntıları (8)
Şekil 5.33 Test Kümeleri Sekmesi Tasarımı
1 Nolu bölümde kullanıcının Gereksinim, Test Senaryoları, Test Kümeleri ve Hatalar
sayfalarına ulaşacağı bir Sekme bölümü olacaktır.
2 Nolu bölümde yeni test kümesi klasörü ekleme / silme ve klasörleri güncelleme
butonları bulunacaktır.
3 Nolu bölümde seçili test senaryolarını gerçekleştirme butonları bulunacaktır.
4 Nolu bölümde test kümesine test senaryoları ekleme butonları bulunacaktır.
5 Nolu bölümde klasörler açılır kapanır ağaç görünümünde olacak ve üzerine tıklanan
klasör altındaki test kümesi 6 nolu bölümde tablo şeklinde gösterilecektir.
Bu tablodan bir gereksinim seçildiğinde 7 ve 8 bolu bölümleri barındıran açılır kapanır
panel’in içi dolacaktır ve kullanıcı seçili testin ayrıntılarını bu bölümlerden
görüntüleyebilecektir.
9 nolu bölüm ilk açılışta kapalı olacak tıklandığında açılacak ve seçim kutucukları
sayesinde seçili kümeye test senaryoları eklenebilecektir.
Test Senaryo Adı 1Test Adım Gerçekleme butonları (2)
3Test Adımı Adı 4
Test Adım Açıklama
5Test Adım Beklenen Sonuç
6Test Adımı Alınan Sonuç
7
Şekil 5.34 Test Gerçekleme Tasarımı
1 Nolu alanda gerçeklenen test senaryosunun adı bulunacaktır.
2 Nolu alanda “Başarılı”, “Başarısız” ve “Gerçeklenemez” butonları bulunacaktır.
Bunun yanında istenen test adımına gidilebilmesini sağlayacak “Yukarı” ve “Aşağı”
butonları burada bulunacaktır.
3 Nolu alanda Test adımlarının tablosu bulunacaktır.
4 nolu alanda üzerine gelinen adımın adı bulunacaktır.
5 nolu alanda üzerine gelinen adımın açıklaması sadece okunur şekilde
görüntülenecektir.
6 nolu alanda üzerine gelinen adımın beklenen sonucu sadece okunur şekilde
görüntülenecektir.
7 nolu alanda üzerine gelinen adım için alınan sonucun girileceği çok satırlı metin
kutusu bulunacaktır.
5.3.4. Hata Sekmesi
BAŞLIK Login MenüsüAna Sekmeler (1)
Hata Butonları (2) Hatalara Test senaryo Butonları (7)
Hata Filtreleri (3)
Test Senaryoları Ağaç Görünümü (8)
Hatalar (4)
Hata Ayrıntılari Sekmesi (5)
Seçilen Sekmeye Göre Test Hata Ayrıntıları (6)
Şekil 5.35 Hata Sekmesi Tasarımı
1 Nolu bölümde kullanıcının Gereksinim, Test Senaryoları, Test Kümeleri ve Hatalar
sayfalarına ulaşacağı bir Sekme bölümü olacaktır.
2 Nolu bölümde yeni hata ekleme/silme/güncelleme butonları bulunacaktır
3 nolu bölümde hataları filtreleme kuralları bulunacaktır
4 nolu bölümde Hatalar listelenecektir ve bu listeden bir hata seçildiğinde 5 ve 6 nolu
bölümler barındıran panel açılabilecek ve kullanıcının hata ayrıntılarını görüntülemesi
sağlanacaktır.
7 nolu bölümde hatalar ile test kümeleri eşleştirilebilecektir.
8 nolu bölümde hata kümeleri ağaç görünümünde listelenecektir.
Hata Başlığı 1Hata Önceliği 2 Hata Önemi 4Hata Tipi 3 Hata Durumu 5Hatanın Tarihi 6 Kime Atandığı 7Hata Açıklaması
7
Şekil 5.36 Yeni Hata Girişi
Kullanıcı Yeni hata girişi yapmak istediğinde yukarıdaki tasarıma benzer bir açılır
pencere belirecek, kullanıcının istenen verileri doldurması beklenecektir.
1 nolu alana hatanın özeti girilir
2 nolu alana hatanın önceliği girilir, öncelik “düşük”, “orta”, “yüksek” ve “kritik”
değerlerinden biri seçilerek girilir. Öncelik hatanın düzeltilme zamanının önemini
vurgular.
4 nolu alana hatanın önemi girilir, öncelik “düşük”, “orta”, “yüksek” ve “kritik”
değerlerinden biri seçilerek girilir. Hatanın önemi hatanın sistem açısından ne kadar
önemli bir hata olduğu ile alakalıdır, öncelikle karıştırılmamalıdır.
3 nolu alana hatanın tipi girilir. Tip bilgisi “kodlama”, “analiz”, “veri girdisi”,
“konfigürasyon”, “doküman” ve “kullanılabilirlik” değerlerinden biri seçilerek yapılır.
5 nolu alana hata durumu ilk açılışta “yeni” seçili ve değiştirilemez olarak gelir.
6 nolu alana hatanın tarihi giriş yapılan gün seçili ve değiştirilemez olarak gelir.
7 nolu alana hatanın kime atandığı sisteme kayıtlı kullanıcılar listesinden seçilerek
girilir.
8 nolu alan serbest metin şeklindedir ve kullanıcının hata ayrıntılarını buraya girmesi
beklenir.
6. UYGULAMA
Projenin gerçekleşen aşamaları aşağıdaki ekran görüntülerinde verilmiştir. Sayfa
tasarımları css dosyaları ile yapılmakta olup henüz son halinde olmayabilir.
6.1. Kullanıcı girişi ve Yetki Doğrulama
Kullanıcı uygulamayı ilk açtığında aşağıdaki şekilde özel sekme ve butonlarının
hiçbirini göremez şekilde açılacaktır. Uygulamanın öncelikle firma bünyesinde
kullanılması, dolayısı ile firmadaki herkesin görüntüleme hakkı olması öngörüsü ile
böyle bir tasarım yapılmıştır. Aksi takdirde ya da uygulamanın WEB’de sunulması
durumunda görüntüleme için de yetki doğrulama şartı eklenmelidir.
Şekil 6.37 İlk açılış sayfası ve Kimlik Doğrulama
Kullanıcı giriş yaptığında yetkilerine göre bazı sekmeler açılacak ve bazı butonları
görebilecektir.
Kullanıcıyı birçok farklı sayfa ile meşgul etmek yerine giriş modülü giriş yapılmadığı
durumlarda görünür olacak şekilde tasarlanmıştır. Giriş yapıldığı durumda bu modül
görünmez olacak ve çıkış modülü aktive edilecektir.
Şekil 6.38 Yetkili kullanıcı girişi
Şekil 6.2 de görüldüğü gibi giriş yapıldığında Klasör butonları ve Gereksinim ekleme
butonları görünür olmuştur. Bunun yanında sağda bir açılır-kapanır panel
bulunmaktadır. Bu panel gereksinim ve diğer tüm sekmelerde gerekli objeleri birbirine
bağlamak amacı ile kullanılacaktır.
6.1.1. Klasör Ekleme / Silme / Güncelleme
Hata Kaydı hariç tüm sekmelerde menü modülü bulunmaktadır. Menü veri tabanı
üzerinden dinamik olarak çekilir. Menüye yeni bir klasör ekleme işlemi, mevcut klasörü
güncelleme işlemi ve silme işlemi yapılabilir.
6.1.1.1. Klasör Ekleme
Şekil 6.3’te görüldüğü gibi, “Klasör Ekle” butonuna basıldığında küçük bir açılır
pencere açılır. İlk durumda “ekle” butonu seçilemez kılınmıştır. Metin kutusu içerisine
giriş yapılmadığı veya girilmiş olan metin tamamen temizlendiği zamanlar seçilemez
olarak kalır. Giriş yapıldığında seçilebilir hale gelir.
Sol paneldeki menüden bir nesne seçilmemiş ise eklenen klasör en üst hiyerarşide
eklenir. Eğer bir nesne seçilmiş ise bunun altına eklenir.
Bu ve diğer tüm pop-up pencerelerinde arka plan seçilemez kılınmıştır.
Şekil 6.39 Klasör Ekleme
İptal butonuna basıldığında pop-up pençesi kaybolur.
6.1.1.2. Klasör Güncelleme
Seçili klasörün ismini değiştirme işleminin yapılmasını sağlar. Klasör ekleme işleminde
olduğu gibi bu işlem de pop-up pencere üzerinden yapılır.
Şekil 6.40 Klasör Güncelleme Hata
Eğer bir klasör seçili değil ise Şekil 6.4’teki hata ekrana yazılır.
Şekil 6.41 Klasör Güncelleme
Seçili bir klasör varsa Şekil 6.5’teki açılır pencere açılır. Metin kutusunun için seçili
klasörün adı ile doldurulmuştur ve “Güncelle” butonu seçilemez kılınmıştır. Metin
değiştirildiğinde seçilebilir hale gelir.
Güncelle butonuna basıldığında veri tabanında seçili klasörün ismi değiştirilir.
6.1.1.3. Klasör Silme
Seçili klasörün silinmesi işlemini yapar. Seçili bir klasör yoksa güncelleme işlemindeki
gibi hata basar.
Şekil 6.42 Klasör Silme Onay
Seçili bir klasör bulunuyor ise onay açılır pencere açılır. “Sil” butonuna basıldığında
veri tabanında ilgili klasörün “silindi” alanı set edilir. Proje boyunca hiçbir verinin
kaybolmuyor olmasına dikkat edilmiştir.
6.1.1.4. Yenile
Bu sekmedeki “Yenile” butonu klasör menüsünün veri tabanından tekrar doldurulmasını
sağlar. Birden fazla kişinin çalıştığı durumlarda gerekli görülmüştür.
“Yenile” butonu ayrıca her sekmedeki ana içeriğin (Gereksinim sekmesi için gereksinim
tablosu, test senaryo sekmesi için test senaryo tablosu vs.) veri tabanından tekrar
çekilmesini sağlar. Her sekmedeki “Yenile” butonu için ayrıca açıklama
yazılmayacaktır.
6.2. Sağ Menü ve Nesne Bağlama
Giriş yapılmadığında görünür durumda olmayan sağ panel giriş yapıldıktan sonra
kullanıcının yetkisine göre görünebilir. Sağ paneldeki menü yapısı her sekme için ayrı iş
yapmaktadır.
6.2.1. Gereksinim Sekmesi Sağ Panel İşlemleri
Gereksinim sekmesinde sağ panelde gereksinimle ilişkilendirilecek olan test senaryoları
listelenmiştir. Klasör yapısı daha sonra “Test Senaryoları” bölümünde işleyeceğimiz
klasör yapısının aynısıdır. Ancak bu menüde menü yaprağı olarak sadece test
senaryoları bulunmaktadır.
Şekil 6.43 Gereksinim Sekmesi Sağ Panel
Test senaryosu olan yaprakların başlarında onay kutusu (check box) bulunmaktadır.
“Test Senaryosu Bağla” butonuna basıldığında bu kutuları işaretlenmiş olan test
senaryoları ile gereksinim tablosunda seçili olan gereksinim birbirine bağlanır.
Test senaryosu ile gereksinim arasında n-n ilişkisi bulunmaktadır. Birden fazla
gereksinim aynı senaryoya bağlanabilir, bunun yanında birden fazla senaryo da aynı
gereksinime bağlı olabilir. Bu nedenle daha sonra göreceğimiz gibi Test Senaryo
sekmesinde de Gereksinimlerle bağlama işlemi bulunmaktadır.
Şekil 6.44 Gereksinim Bağlama Hata 1
Gereksinim tablosundan bir gereksinim seçilmediği sürece gereksinim bağlama işlemi
yapılamaz.
Şekil 6.45 Gereksinim Bağlama Hata 2
Sağ menüdeki işaret kutularından en az bir tanesi seçilmediği sürece gereksinim
bağlama işlemi yapılamaz.
Şekil 6.46 Gereksinim Bağlama Başarılı 1
Şekil 6.10 da seçili olan gereksinime bağlı bir adet test senaryosu olduğu ve sağ panelde
işaretli olan test senaryolarından bir tanesinin de zaten bağlı olan bu test senaryosu
olduğu görülmektedir.
Şekil 6.47 Gereksinim Bağlama Başarılı 2
Bu durumda bağlama işleminin sonucu Şekil 6.11’de verilmiştir. Başarılı bir şekilde
bağlanan test senaryoları ve zaten bağlı olan test senaryoları ayrı ayrı listelenmektedir.
6.2.2. Test Senaryo Sekmesi Sağ Panel İşlemleri
Test senaryo sekmesinde sağ panel üzerinden senaryolar ile gereksinimler birbirine
bağlanır.
Şekil 6.48 Test Senaryo Sekmesi Sağ Panel
Gereksinim sekmesinde olduğu gibi,
Test Senaryo tablosunda bir kayıt seçili değil ise hata verilir.
Sağ panelde en az bir gereksinim işaretli değil ise hata verilir.
İşlem tamamlandığında yeni bağlananlar ve zaten bağlı olanlar bilgilendirme
amaçlı listelenir.
6.2.3. Test Kümesi Sekmesi Sağ Panel İşlemleri
Diğer Sekmelerden farklı olarak bu sekmedeki sağ panel iki nesneyi birbirine bağlama
işlemi yapmaz. Bu panelde test senaryoları testin gerçekleştirileceği klasörlere (Test
kümesi) eklenir.
Şekil 6.49 Test Küme Sekmesi Sağ Panel
Test kümesine ihtiyaç Giriş bölümünde dile getirilmiştir. Özetlemek gerekirse, test
senaryoları bir projenin farklı aşamalarında tekrar tekrar kullanılabilir. Her bir aşama
için ayrı bir senaryo girilmesi hem uygulamada zaman alacak hem de güncelleme
işlemleri sonucunda hangi senaryonun en güncel versiyon olduğu konusunda net bilgi
alınmasını engelleyecektir. Bu nedenle aynı senaryonun farklı klasörlerde
gerçekleştirilmesi yöntemine gidilmiştir.
Bu sayede hem proje fazlarında aynı senaryonun koşulması, hem de farklı projelerde
aynı senaryonun koşulmasına olanak sağlamıştır. Bunun yanında aynı projenin aynı
fazında önceki gerçekleme sonuçlarına ulaşabilmemize olanak tanımaktadır.
Şekil 6.50 Test Küme Ekleme Hata 1
Test Kümesine senaryo ekleme işleminde bir test kümesinin seçili olması
gerekmektedir.
Şekil 6.51 Test Küme Ekleme Hata 2
Test Kümesine Senaryo eklemek için sağ paneldeki senaryolardan en az bir tanesinin
işaretli olması gerekmektedir.
Şekil 6.52 Test Küme Ekleme Başarılı
Test Kümesine Senaryo ekleme işlemi başarılı olduğunda Şekil 6.16’daki gibi başarılı
olanlar ve zaten bağlı olanlar listelenmelidir.
6.2.4. Hata Sekmesi Sağ Panel İşlemleri
Hata sekmesinde sağ panel üzerinden hatanın hangi test gerçekleştirme işlemlerinde
yaşandığı bağlantısı yapılır.
Şekil 6.53 Hata Sekmesi Sağ Panel
Gereksinim sekmesinde olduğu gibi,
Hata tablosunda bir kayıt seçili değil ise hata verilir.
Sağ panelde en az bir test gerçekleştirme kaydı işaretli değil ise hata verilir.
İşlem tamamlandığında yeni bağlananlar ve zaten bağlı olanlar bilgilendirme
amaçlı listelenir.
6.3. Yorum Ekleme
Güncelleme işlemlerinden sonra gelecek başka kullanıcılara yol göstermesi açısından
yorum ekleme işlevi uygulamaya eklenmiştir. Bu sayede başka bir kullanıcı değişiklik
yapıldığını anlayabilecektir.
Yorum işlevi gelecekte versiyonlama fonksiyonu eklenirse zorunlu hale getirilebilir, şu
an kullanıcının seçimine bağlıdır.
Şekil 6.54 Nesne Detayları Yorum Sekmesi
Yorum işlevi gereksinim, test senaryo ve hata sekmesine eklenmiştir, Test gerçekleme
sekmesinde her hangi bir güncelleme işlemi yapılmadığı için bu sekmeye yorum işlevi
eklenmemiştir.
Yorumla ilgili her üç sekmede de aynı şekilde işlem yapılmaktadır bu nedenle sadece
test senaryo sekmesinden örnekler verilmiştir.
Şekil 6.55 Yorum Ekleme Hata 1
Yorum ekleme işleminden önce yorumun ekleneceği nesne seçilmiş olmalıdır.
Şekil 6.56 Yorum Ekleme
Seçili bir nesne bulunuyor ise çok satırlı metin kutusu içeren Şekil 6.20’deki açılır
pencere açılır.
Şekil 6.57 Yorumlar
Eklenen yorumlar Şekil 6.21’deki gibi gösterilir. Yorumu yazan, tarih ve yorum aynı
alanda olacak şekilde listelenmesi sağlanmıştır.
6.4. Gereksinim Sekmesi
İlk açıldığında aşağıdaki gibi görünmektedir. Alt ve sağ paneller otomatik kapalı
şekildedir. Seçilen klasör altındaki gereksinimler görülebilmektedir.
Şekil 6.58 Gereksinim Sekmesi Ekran Görüntüsü
Sağ panel tıklandığında seçili gereksinime eklenebilecek test senaryoları ağaç yapısında
listelenir.
Alt panele tıklandığında seçili gereksinimin ayrıntıları görüntülenir. Alt Panel de sekme
yapısındadır ve bu sekmelerden gereksinimin açıklaması, hangi test senaryoları ile
ilişkili olduğu ve yorumlar görülebilir.
Şekil 6.59 Gereksinim Sekmesi Alt Panel - Açıklama
Alt panelde gereksinim açıklaması, gereksinime bağlı olan test senaryoları ve yorumlar
ayrı sekmeler halinde kullanıcıya sunulmuştur. Açıklama alanı gereksinimin uzun
açıklamasıdır.
Şekil 6.60 Gereksinim Sekmesi Alt Panel – Bağlı Test Senaryoları
Şekil 6.24’te Gereksinim sekmesinde alt panel bağlı test senaryolarının nasıl görüldüğü
verilmiştir.
6.4.1. Yeni Gereksinim Ekleme
Ana gereksinim içerik bölümündeki “Ekle” tuşuna basıldığında yeni gereksinim ekleme
açılır penceresine geçilir.
Şekil 6.61 Gereksinim Ekleme Hata
Gereksinim ekleme işleminde gereksinimin ekleneceği klasörün seçilmiş olmalıdır.
Şekil 6.62 Gereksinim Ekleme
Bir gereksinim klasörü seçili ise “Ekle” tuşuna basıldığında gereksinim ekleme açılır
penceresine geçilir. Ekle tuşuna basıldığında kullanıcı adı Session parametresinden
alınır ve sistem tarihi ile veri tabanına kaydedilir.
6.4.2. Gereksinim Güncelleme
Mevcut gereksinimi güncelleme işlemi yapılabilir.
Şekil 6.63 Gereksinim Güncelleme Hata
Gereksinim güncelleme işleminden önce güncellenecek bir gereksinim seçilmiş olması
gerekmektedir.
Şekil 6.64 Gereksinim Güncelleme
Bir gereksinim seçili iken “Güncelle” butonuna basıldığında Şekil 6.28’deki açılır
pencereye geçilir. Gereksinim adı ve açıklaması değiştirilebilir, Tip ve Yazan alanları
da açılır listeden seçilerek yapılır. Gereksinim numarası ekranda değiştirilemez şekilde
açılır.
6.5. Test Senaryo Sekmesi
İlk açıldığında aşağıdaki şekilde görünmektedir. Test senaryolarının kaydedildiği
bölümdür. Test senaryosu kendi içerisinde o testin nasıl yapılacağını açıklama ve
beklenen sonuç ile ifade eden test adımlarından oluşmaktadır.
Şekil 6.65 Test Senaryo Sekmesi
Alt Panelde test senaryosunun ayrıntısı bulunmaktadır. Gereksinim sekmesinde olduğu
gibi test senaryosuna bağlı olan gereksinimler ve test senaryosu ile ilgili yorumlar
burada bulunur.
Şekil 6.66 Test Senaryo Ayrıntısı
Test Senaryo detayları sekmesinde test senaryosunun adımları şekil 6.30’da görüldüğü
gibi test adım açıklaması ve beklenen sonucu ile verilir.
6.5.1. Yeni Test Senaryo Ekleme
Yeni Senaryo eklemek için kullanılan alandır yeni bir test senaryosunda gerekli olan
alanlar doldurularak eklenir.
Şekil 6.67 Test Senaryo Ekleme Hata
Test senaryo eklemek için öncelikle ekleneceği klasör seçilmelidir.
Şekil 6.68 Test Senaryo Ekleme 1
Eğer bir klasör seçili ise “Ekle” butonuna basıldığında yeni test senaryosu ekleme
penceresi yukarıdaki gibi boş bir şekilde açılır.
Test adımı adı alanı değiştirilebilir bir şekilde ama kendinden dolu olarak gelir.
Buradaki adım sayısı kaçıncı adım eklendiği ile belirlenir. Dolayısı ile birkaç adım
eklendikten sonra aradan bir adım silinirse bu isim son kaldığı yerden devam
etmeyecek, toplam eklenmiş adımları sayıp bir fazlasına ayarlanacaktır.
Öncelikle senaryo adı ve Test adım bölümleri doldurulur ve Adım ekle butonuna basılır.
Şekil 6.69 Test Senaryo Ekleme 2
“Adım ekle” butonuna basıldığında yukarıdaki gibi eklenen adım test adımları
tablosuna atılır.
Bu işlemden sonra istenildiği kadar adım eklenerek devam edilebilir.
Şekil 6.70 Test Senaryo Ekleme 3
Eklenen adımlar üzerinde güncelleme ve silme işlemleri yapılabilir. Ayrıca adımların
sırası değiştirilebilir.
Şekil 6.71 Test Senaryo Ekleme 4
Eklenen test senaryosu son durumda yukarıdaki gibi görünür.
Test senaryosu ekleme işleminde boş alanlarla ilgili kontroller konulmuştur. “Ekle”
butonu test senaryo adını ve tipini kontrol eder. Eğer test senaryo adı doldurulmadı ise
ekleme butonu aktif değildir.
Şekil 6.72 Test Senaryo Ekleme Hata 1
Test tipi seçilmedi ise şekil 6.36’daki hata ile karşılaşılır.
Şekil 6.73 Test Senaryo Ekleme Hata 2
Test Adım açıklaması, Test adım beklenen sonucu girilmeden ya da test adım adı
silinerek adım ekle butonuna basılır ise yukarıdaki şekilde olduğu gibi hata verilir.
6.5.2. Test Senaryo Güncelleme
Test senaryoları sekmesinde mevcut testler güncellenebilir.
Şekil 6.74 Test Güncelleme Hata
Güncelleme işlemini yapmak için öncelikle bir test senaryosunun seçili olması
gerekmektedir.
Şekil 6.75 Test Güncelleme
Seçili test senaryosu varsa yukarıdaki açılır pencerede olduğu gibi mevcut bilgiler veri
tabanından alınarak değiştirilebilir şekilde kullanıcıya sunulur.
6.5.3. Test Senaryo Silme
Test senaryo sekmesinde test senaryo silme işlemi de yapılmaktadır. Daha önceki silme
işlemlerindeki gibi silme sırasında veri kaybı yaşanmaz, veri tabanında silindi alanı
sıfırlanarak işlem gerçekleştirilir.
Şekil 6.76 Test Senaryo Silme Hata
Silme işleminden önce bir test senaryosunun seçili olması gerekmektedir.
6.6. Test Kümesi Sekmesi
Test Kümesi sekmesi testlerin gerçekleştirildiği bölümdür. Testlerin gerçekleştirilmek
üzere gruplanmasına test kümeleri diyoruz. Test gerçekleme işleminde güncelleme ve
silme gibi işlemler özellikle çıkarılmıştır.
Test gerçekleme güncellemesi (test gerçekleme işlemine devam) daha önce yarım kalan
test gerçekleme ile devam edilen zaman arasında gerçekleştirilmek istenen test
senaryosu değiştirilmiş olabileceği için özellikle çıkarılmıştır.
Versiyonlama işlevi eklendiği takdirde teste devam işlemi de projeye eklenilebilir,
şimdilik bu kontrole gerek duyulmamıştır.
Şekil 6.77 Test Kümesi Sekmesi
Sekme ilk açıldığında yukarıdaki şekilde görülür. Daha önce bahsedildiği gibi sağ
panelden gerçekleştirilmek istenen test senaryoları test kümesine eklenebilir. Alt
panelde ise testin son gerçekleştirilme ayrıntıları , testi içinde bulunulan klasörde
koşarken bağlandığı hata kayıtları ve önceki test gerçekleştirmelerinin sonuçları
görülebilir.
Testin bağlı olduğu hataların sadece mevcut klasörle kısıtlı tutulmasının amacı bir test
senaryosunun yazıldıktan sonra defalarca kullanılabileceği, her zaman eski hataların
görülmesine gerek duyulmayacağıdır.
Gelecekte gerekli görülürse ayrı bir sekmede eski hata kayıtları arasındaki bağları da
eklenebilir.
Şekil 6.78 Son Test Gerçekleştirme Ayrıntıları
Son test gerçeklemesinin adımları ve sonuçları ile birlikte ayrıntılarının görüldüğü
sekme yukarıda verilmiştir. Çubuk üzerinden aşağı doğru inildiğinde tüm adımların
görüntülenmesi sağlanır.
Şekil 6.79 Teste Bağlı Hata Kayıtları
Test senaryosuna bağlı olan hata kayıtları yukarıdaki şekilde gösterilir.
Şekil 6.80 Önceki Gerçekleştirme Sonuçları
Test senaryosuna bağlı önceki gerçekleştirme işlemlerinin sonuçları yukarıdaki şekilde
gösterilir. Bu işlemlerin test adımlarına erişime henüz gerek duyulmamıştır.
6.6.1. Test Gerçekleştirme
Şekil 6.81 Test Gerçekleştirme
Gerçekleştirilecek test senaryosu seçilip “Gerçekleştirme” butonuna basıldığında
yukarıdaki ekran açılır. Test adımlarından ilki önceden seçili olarak gelir. Bu adımın
adı, açıklaması ve beklenen sonucu ise ilgili alanlara değiştirilemez olarak atanır.
Adımların durumu Gerçekleştirilmedi olarak işaretlenmiş durumdadır.
Gerçekleştirilmedi ve Tamamlanmadı durumları kullanıcının kendisinin seçeceği
durumlar değildir.
Şekil 6.82 Test Gerçekleştirme 2
Kullanıcı yukarıdaki tuşlardan birine bastığında tablodaki tarih ve durum bilgisi değişir,
tablo otomatik olarak sıradaki adıma geçer ve Adım adı, açıklaması ve beklenen sonucu
bilgileri güncellenir.
Yukarı ve aşağı tuşları ile istenilen adıma geri dönülebilir.
Son durumda tamamla tuşuna basılarak test gerçekleştirme tamamlanır.
6.7. Hata Sekmesi
Hata Sekmesi testler sırasında bulunan hataların kaydedildiği bölümdür.
Şekil 6.83 Hata Sekmesi
Sağ panelde hata kaydı ve test gerçekleştirme kayıtlarının birbirine bağlanabildiği liste
bulunmaktadır. Alt menüde ise hata kaydının ayrıntılı açıklaması, bağlı olduğu test
senaryoları, hatanın değişiklik geçmişi ve yorumları bulunmaktadır. Diğer alanlar daha
önceki bölümlerde anlatıldığı için sadece değişiklik geçmişi hata güncelleme
işlemlerinden sonra anlatılacaktır.
6.7.1. Yeni Hata Kaydı Ekleme
Yeni hata kayıtları “Ekle” butonuna basılarak açılan yeni pencere üzerinden kaydedilir.
Hata kayıtlarının sistem açısından önemi “Önem” alanına, kullanıcı açısından çözüm
gelme önceliği “Öncelik” alanına yazılır. Bu iki alan genellikle birbirine karıştırılabilir.
Şekil 6.84 Hata Sekmesi
Hata kaydındaki girilmesi zorunlu alanlar Şekil 6.48’de verilmiştir. Bu alanlara bilgi
girilmeden hata eklenmek istendiğinde Şekil 6.49’daki hata mesajı verilir.
Şekil 6.85 Hata Sekmesi – Hata mesajları
6.7.2. Hata Kaydı Güncelleme
Hata kayıtları en çok güncelleme yapılacak alandır. Normal bir sürecinde bile bir hata
kaydı en az 4 kere güncellenir. Hata kaydının durum güncellemelerine ait süreç Şekil
4.13 Hata hayat döngüsünde gösterilmiştir.
Hata kayıtlarında belirli rollerin bazı alanları güncelleyebilmesi için bir konfigürasyon
tablosu hazırlanmıştır. Bu konfigürasyon için hata kayıtlarının alanları belirlenmiş ve bu
alanların değişiminde loglama yapılıp yapılmayacağı belirtilmiştir.
Tablo 6.9 Hata alanları güncelleme konfigurasyonu
PROPERTY_ID PROPERTY_NAME KEEP_HISTORY1STATUS 12SEVERITY 13PRIORITY 14ASSIGNED 15TYPE 16DETECTED 07NAME 08DESCRIPTION 0
Kullanıcı bir hata kaydını güncellemek istediğinde bu alanlar kontrol edilmekte, ayrıca
hangi kullanıcı rolünün hangi alanları değiştirebileceği bilgisinin tutulduğu tablodan bu
bilgi alınarak kullanıcıya sadece değiştirebileceği alanlar aktif halde sunulmaktadır.
Şekil 6.86 Hata Sekmesi – Güncellenecek bilgi bulunmuyor
Kullanıcının güncelleyebileceği bir alan bulunmaması durumunda Şekil 6.50’deki hata
mesajı ekrana basılmaktadır.
Şekil 6.87 Hata Güncelleme – Test Sorumlusu
Test sorumlusunun hatanın Şekil 6.51’de verilen alanlarını güncellemesi sağlanmıştır.
Bu bir tablodaki konfigürasyonla yapılmakta olup gerektiğinde kolayca değiştirilebilir.
Şekil 6.88 Hata Güncelleme – Geliştirme Sorumlusu
Geliştirme sorumlusunun hatanın Şekil 6.51’de verilen alanlarını güncellemesi
sağlanmıştır. Bu bir tablodaki konfigürasyonla yapılmakta olup gerektiğinde kolayca
değiştirilebilir. Geliştirme sorumlusu Hatanın durumunu ve atanan kişi bilgisini Hata
yaşan döngüsü kurallarınca değiştirebilir. Bunun yanında hatanın tipini de geliştirme
sorumlusu daha doğru bir şekilde güncelleyecektir.
Şekil 6.89 Hata Güncelleme – Durum Bilgisi
Hatanın durum bilgisi karışıklıkları önlemek için sadece süreçsel olarak geçirilebilecek
olan alanlar listelenerek güncellenir. Bu şekilde yapılarak kullanıcı hatalarının önüne
geçilmiş ve ekstra kontroller yapılması engellenerek sistem rahatlatılmıştır.
Durum geçişleri de Veri tabanında konfigurasyonel halde tutulur ve istendiğinde
kolaylıkla değiştirilebilir.
Admin rolünün her bilgiyi değiştirebiliyor olmasına özellikle karar verilmiştir. Bu
bilgiler arasında hatayı bulan kişi bilgisi de bulunmaktadır. Firmalardaki çalışan
sirkülasyonu düşünüldüğünde bu da gerekli olabilir.
Şekil 6.90 Hata Güncelleme – Admin
Ayrıca Admin kullanıcısnın hata yaşam döngüsünden bağımsız olarak durum bilgisini
her durumdan her duruma geçirebilecek şekilde güncelleme yapabilmesi sağlanmıştır.
Şekil 6.91 Hata Güncelleme – Hata geçmişi
Hata güncelleme işleminden sonra eğer güncellenen bilgi geçmişi tutulması gereken bir
bilgi ise kayda alınması sağlanmıştır. Bu sayede raporlamalarda hatanın kimde ne kadar
beklediği gibi bilgilere ulaşılabilecektir.
7. SONUÇ
Test ve hata süreci izleme amacı ile tasarlanan uygulama beklenen gereksinimleri
gerçekleştirecek şekilde tamamlanmıştır. Web’de kullanıma sunulması için güvenlik ve
performans konularında tekrar çalışılması gerekmektedir ancak yerel ağda bir sunucuya
kurularak firma bünyesinde kullanılması uygundur.
7.1. Uygulamanın Getirileri
Uygulamanın kullanılması durumunda getireceği yenilikler aşağıda listelenmiştir.
Göreceğiniz gibi tam olarak ölçülebilir bir iş faydasından bahsedilememekle birlikte
zamanla kalitenin de artmasını sağlayacaktır.
Gereksinimlerin yönetilmesi ve güncel tutulması sağlanmıştır.
Test senaryolarının yönetilmesi ve güncel tutulması sağlanmıştır.
Test senaryolarının farklı projelerin farklı fazlarında kullanılabilmesi sağlanarak
aynı süreçlerle ilgili defalarca aynı test senaryolarının yazılmasının önüne
geçilmiş, iş ve zaman kaybı engellenmiştir.
Test senaryolarının herkesin erişebileceği bir ortamda güncel tutulması
sağlanmış bu sayede elektronik postalarda arama iş ve zaman kaybı
engellenmiştir.
Olası hata durumlarında hataların gerekli tüm bilgilerle kayıt altına alınması bu
sayede geriye dönük bir veri haznesi oluşturulması sağlanmıştır. Proje
gecikmelerinde hataların kimde ne kadar beklediği gibi bilgilere kolay erişilmesi
sağlanmış, bu gibi durumlarda kişilerin elektronik postalardan rapor oluşturmaya
çalışmasındaki iş ve zaman kaybının önüne geçilmiştir.
Gerektiği şekilde kullanıldığında kişilerin performansının bile ölçülebileceği bir
uygulama haline gelip test ve hata süreci yönetmenin ötesinde insan yönetmeye
yardımcı bir araç olarak kullanılabilir. Ancak bir çok firmanın yaptığı hataya
düşmemek ve tek kriter olarak bu uygulamadaki verileri almamaya dikkat etmek
gerekir.
7.2. Uygulamanın Götürüleri
Birçok araçta olduğu gibi alışılan yöntemin dışına çıkmak ilk başta işleri yavaşlatabilir.
Bu nedenle uygulamayı üstten çalışana doğru zorlamak yerine çalışanın ihtiyaçlarına
göre şekillendirmek en uygun yöntem olacaktır. Örneğin dokümantasyonun çok düzgün
işletilmediği bir firmada bu uygulamanın gereksinim sekmesini kullandırmaya çalışmak
ilk başta süreçleri düzeltmeye yardımcı olacak gibi görünür. Ancak dokümantasyon
olmadan gereksinim çıkarmaya çalışan test sorumlusunun kaybedeceği zaman hesaba
katılarak ya dokümantasyonu düzeltecek yeni yöntemler bulup tüm ilgilileri
bilgilendirmek ya da uygulamanın gereksinim sekmesinin kullanılmamasına karar
vermek gerekir.
7.3. Uygulamanın Geliştirmeye Açık Yönleri
Aşağıdaki maddeler uygulama kullanılmaya başlandıktan sonra uygulamanın
kullanılabilirliğini artırmaya yönelik ekstra işlevlerdir. Aşağıda verilen maddelerin
tamamı kullanıcıya opsiyonel olarak verilmeli, süreçsel olarak zorlanmamalıdır.
Hata kaydı atanması durumunda kullanıcıya bilgilendirme elektronik postası,
bilgilendirme SMS’i atması sağlanabilir.
Yapı birçok yerde konfigürasyonel olarak tasarlanmıştır kullanıcıya daha fazla
kişiselleştirme alanı sağlanabilir, kullanıcı tanımlı hata kaydı alanları, kullanıcı
tanımlı test durumları vs.
Küçük eklemelerle kullanıcıların birbirlerine görev atayabilmesi sağlanabilir, bu
sayede atanan görevlerin testlerinin de aynı uygulamadan yapılması ve bir aracın
maliyetinin daha düşürülmesi hedeflenir.
Versiyonlama işlevi tüm nesnelere eklenerek geçmiş versiyonların kaydının
tutulması sağlanabilir.
Hata kayıtlarına ekran görüntüsü alma işlevi eklenebilir, kullanıcının tarayıcısına
bir addon yüklemeden yapmanın yolu bulunamadığı için bu projede
gerçekleştirilememiştir.
Excel üzerinden test senaryo ve gereksinim yükleme işlevi eklenebilir. Geçmişe
yönelik test senaryolarının da eklenmesi aracın tercih edilmesini sağlayabilir.
7.4. Uygulamanın Benzer Uygulamalar ile Karşılaştırması
Daha önce Tablo 2.1’de yapılan karşılaştırmaya geliştirilen uygulama da eklenerek
tablo 7.1 oluşturulmuştur. Ücretsiz olması ve temel işlevlerin tamamını karşılaması
nedeni ile seçilen uygulamalar arasında küçük ölçekli firmalar için en uygun araç
olduğu görülmektedir.
Tablo 7.10 Test ve Hata Yönetim Araçları Karşılaştırması
Bugzilla Fitnesse Jira * Mantis Testopia TracQuality Center
Test Merkezi
Gereksinimler Yok Yokİş atama
olarak var Yok Var Yok Var Var
Test Senaryoları Yok Var Eklenebilir Yok Var Var Var Var
Test Gerçekleme Yok Var Eklenebilir Yok Var Var Var Var
Hata Kayıtları Var Varİş atama
olarak var Var Var Var Var Var
Raporlar Var Var Var Var Var Var Var Var
Kullanılabilirlik Düşük Orta Yüksek Orta Orta OrtaYüksek
** Yüksek
Fiyat Ücretsiz Ücretsiz $ 50 / Pe
$ 24.95 /MO Ücretsiz Ücretsiz ***
Ücretsiz****
KAYNAKLAR
[1] A Software Testing Primer by Nick Jenkins (04.04.2011)
[2] Software Quality Assurance From Theory to Implementation by Daniel Galin,
Pearson (09.05.2011)
[3] Wikipedia Platform karşılaştırmaları (04.10.2013)
http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments
[4] Visual Studio 2012
http://tr.wikipedia.org/wiki/Microsoft_Visual_Studio
[5] Windows Sunucu Maliyeti
https://www.microsoft.com/en-us/server-cloud/products/windows-server-2012-r2/
default.aspx#fbid=h4HfdaCRa1X
[6] Çamkoru A., Sayın V. (2011) “Bakım Maliyeti Yönetimi”, Mühendis ve Makine,
Cilt: 53, Sayı: 635 , Sayfa:16-21
[7] Gigasoft Bakım Ücretleri
http://www.gigasoft.com.tr/bakim.htm
[8] WEB Hosting Maliyeti – Godaddy.com
EKLER
Ek 1 - Proje Planı Gannt Diagramı
Şekil Ek.92 Proje Planı Gannt Diagramı
ÖZGEÇMİŞ
Ad Soyad : Emrah İlerigelen
Doğum Tarih : 02.01.1983
Doğum Yeri : Akhisar
Lise : Akhisar Anadolu Lisesi
Staj Yaptığı Yerler : Vestel AŞ
İş Tecrübesi : Mayıs 2007 – Ocak 2010 Keytorc Test Hizmetleri
Ocak 2010 - ~ Avea İletişim Hizmetleri A.Ş.
Başarılar :
Üyelikler :
Recommended