Yazılım Test Tahmini nedir?
Test Tahmini, bir Görevin tamamlanmasının ne kadar süreceğini tahmin eden bir yönetim etkinliğidir . Test için tahmini çaba , Test Yönetimindeki en önemli ve önemli görevlerden biridir.
Tahmin Testi Neden Yapılır?
Potansiyel test görevlerini tartışırken müşterilerinizden bekleyebileceğiniz iki soru şunlardır:
Küçük projeler için bu soruların cevaplanması nispeten kolaydır. Ancak Testing Guru99 Bank web sitesi gibi büyük proje için, bu soruları yanıtlamak için çok düşünmelisiniz.
Bu eğitimde öğreneceksiniz-
- Yazılım Test Tahmini nedir?
- Tahmin Testi Neden Yapılır?
- Ne Tahmin Edilmeli?
- Nasıl tahmin edilir?
- Adım 1) Tüm proje görevini alt görevlere bölün
- Adım 2) Her görevi ekip üyesine tahsis edin
- Adım 3) Görevler İçin Çaba Tahmini
- Yöntem 1) İşlev Noktası Yöntemi
- Yöntem 2) Üç Nokta Tahmini
- Adım 4) Tahmini doğrulayın
- Test tahmini en iyi uygulamaları
- Diğer Teknikler
Ne Tahmin Edilmeli?
- Kaynaklar: Herhangi bir proje görevini yerine getirmek için kaynaklar gereklidir . Bir proje faaliyetinin tamamlanması için gereken kişiler, ekipman, tesisler, finansman veya tanımlanabilecek başka herhangi bir şey olabilir.
- Zamanlar: Zaman, bir projedeki en değerli kaynaktır. Her projenin teslim süresi vardır.
- İnsan Becerileri: İnsan becerileri , Ekip üyelerinin bilgisi ve deneyimi anlamına gelir . Tahmininizi etkilerler. Örneğin, üyeleri düşük test becerisine sahip bir takım, yüksek test becerisine sahip bir ekipten daha fazla projeyi bitirmek için zaman alacaktır.
- Maliyet: Maliyet, proje bütçesidir . Genel olarak, projeyi bitirmek için ne kadar para harcandığı anlamına gelir .
Nasıl tahmin edilir?
Yazılım Test Tahmin Teknikleri Listesi
- İş Kırılım Yapısı
- 3 Noktalı Yazılım Test Tahmin Tekniği
- Geniş bant Delphi tekniği
- Fonksiyon Noktası / Test Noktası Analizi
- Kullanım - Vaka Noktası Yöntemi
- Yüzde dağılımı
- Geçici yöntem
Tahmine ulaşmak için 4 Adımlı süreç aşağıdadır
Guru99 Bank örnek olay incelemesine ilişkin tahmini bulmak için bu teknikleri nasıl birleştireceğinizi öğreneceksiniz.
Adım 1) Tüm proje görevini alt görevlere bölün
Görev, birine verilen bir iştir. Bunu yapmak için İş Kırılım Yapısı tekniğini kullanabilirsiniz.
Bu teknikte, karmaşık bir proje modüllere bölünmüştür. Modüller alt modüllere ayrılmıştır. Her bir alt modül ayrıca işlevselliğe bölünmüştür. Tüm proje görevini en küçük görevlere bölmek anlamına gelir .
Guru99 Bank projesini 5 küçük göreve bölmek için Work Break Down yapısını kullanın.
Bundan sonra, her bir görevi alt göreve ayırabilirsiniz . Bu etkinliğin amacı olarak görev oluşturmak olduğunu detaylı olarak mümkün .
Görev | Alt görev |
---|---|
Yazılım gereksinimi özelliklerini analiz edin | Esnek gereksinim özelliklerini araştırın |
Web sitesi hakkında daha fazla bilgi edinmek için geliştirici ve diğer paydaşlarla görüşün | |
Test Spesifikasyonunu Oluşturun | Tasarım testi senaryoları |
Test senaryoları oluşturun | |
Test senaryolarını gözden geçirin ve revize edin | |
Test senaryolarını yürütün | Test ortamını oluşturun |
Test senaryolarını yürütün | |
Test yürütme sonuçlarını inceleyin | |
Kusurları bildirin | |
Kusur raporlarını oluşturun | |
Kusurları bildirin |
Adım 2) Her görevi ekip üyesine tahsis edin
Bu adımda, her görev proje ekibindeki uygun üyeye atanır . Aşağıdaki gibi görev atayabilirsiniz
Görev | Üyeler |
---|---|
Yazılım gereksinimi özelliklerini analiz edin | Tüm üyeler |
Test özelliğini oluşturun | Test / Test Analisti |
Test ortamını oluşturun | Test Yöneticisi |
Test senaryolarını yürütün | Test Uzmanı, Test Yöneticisi |
Kusurları bildirin | Test cihazı |
Adım 3) Görevler İçin Çaba Tahmini
Görevler için gösterilen çabayı tahmin etmek için uygulayabileceğiniz 2 teknik vardır.
- Fonksiyonel Nokta Yöntemi
- Üç Nokta Tahmin
Yöntem 1) İşlev Noktası Yöntemi
Bu yöntemde, Test Yöneticisi görevler için Boyut, Süre ve Maliyet tahmininde bulunur.
Adım A) Görevin boyutunu tahmin edin
Adım 1'de, WBS yöntemini kullanarak tüm proje görevini zaten küçük göreve böldünüz. Şimdi bu görevlerin boyutunu tahmin ediyorsunuz. Belirli bir görevle edelim uygulama “ Test spesifikasyonu oluşturma ”
Bu görevin boyutu, test edilen sistemin işlevsel boyutuna bağlıdır. İşlevsel boyut , kullanıcıyla ilgili işlevsellik miktarını yansıtır . Daha fazla sayıda işlevselliği, daha karmaşık bir sistem.
Gerçek tahmin görevleri çabasına başlamadan önce, fonksiyonel noktalar aşağıdaki gibi Karmaşık , Orta Basit gibi üç gruba ayrılır :
Yazılım işlevlerinin karmaşıklığına bağlı olarak, Test Yöneticisi her bir işlevsel noktaya yeterli ağırlık vermelidir . Örneğin
Grup | Ağırlık |
---|---|
Karmaşık | 5 |
Orta | 3 |
Basit | 1 |
Daha net olmak için basit bir örnek alıştırmayı ele alalım:
Burada Guru99 Bank web sitesinin yazılım özelliklerine bir göz atın, yazılım mühendisi yazılım modüllerini ayrıntılı olarak tanımlamış, her modül için ağırlık vererek web sitesinin özelliklerinin karmaşıklığını belirleyebilir misiniz ?
Fonksiyon noktası ne kadar karmaşıksa, test etme çabası da o kadar fazladır. Web sitesi 12 işlev noktasına bölünmüştür , her bir işlev noktasının karmaşıklığını aşağıdaki gibi belirleyebilirsiniz:
Hayır. | Modül Adı | Uygulanabilir Roller | Açıklama | Ağırlık |
---|---|---|---|---|
1. | Bakiye Sorgulama | Yönetici Müşteri | Müşteri: Bir müşterinin birden fazla banka hesabı olabilir. Yalnızca hesaplarının bakiyesini görebilir Yönetici: Bir yönetici, gözetimine giren tüm müşterilerin bakiyesini görebilir | 3 |
2. | Fon Transferi | Yönetici Müşteri | Müşteri: Bir müşteri "kendi" hesabından herhangi bir hedef hesaba para aktarabilir. Yönetici: Bir yönetici, herhangi bir kaynak banka hesabından hedef hesaba para aktarabilir | 5 |
3. | Mini İfade | Yönetici Müşteri | Mini hesap özeti, bir hesabın son 5 işlemini gösterir Müşteri: Bir müşteri yalnızca "kendi" hesaplarının mini ekstresini görebilir Yönetici: Bir yönetici herhangi bir hesabın mini ekstresini görebilir | 3 |
4. | Özelleştirilmiş İfade | Yönetici Müşteri | Özelleştirilmiş bir ifade, bir hesaptaki işlemleri tarihe, işlem değerine göre filtrelemenize ve görüntülemenize olanak tanır Müşteri: Bir müşteri, yalnızca "kendi" hesaplarının bildirimini görebilir Yönetici: Bir yönetici, herhangi bir hesabın Özelleştirilmiş ifadesini görebilir | 5 |
5. | Şifre değiştir | Yönetici Müşteri | Müşteri: Bir müşteri yalnızca kendi hesabının şifresini değiştirebilir. Yönetici: Bir yönetici yalnızca kendi hesabının şifresini değiştirebilir. Müşterilerinin şifrelerini değiştiremez | 1 |
6. | Yeni müşteri | Yönetici | Yönetici: Bir yönetici yeni bir müşteri ekleyebilir. Yönetici: Bir yönetici, bir müşterinin adresi, e-postası, telefonu gibi ayrıntıları düzenleyebilir. | 3 |
7. | Yeni hesap | Yönetici | Şu anda sistem 2 tür hesap sunmaktadır
| 5 |
8. | Hesabı düzenlemek | Yönetici | Yönetici: Bir yönetici, mevcut bir hesap için hesap ayrıntılarını düzenleyebilir | 1 |
9. | Hesabı sil | Yönetici | Yönetici: Bir yönetici, bir müşteri için bir hesap silme ekleyebilir. | 1 |
10. | Müşteriyi Sil | Yönetici | Bir müşteri ancak aktif cari veya tasarruf hesabı yoksa silinebilir. Yönetici: Bir yönetici bir müşteriyi silebilir. | 1 |
11. | Depozito | Yönetici | Yönetici: Bir yönetici herhangi bir hesaba para yatırabilir. Genellikle bir banka şubesine nakit yatırıldığında yapılır. | 3 |
12. | Para çekme | Yönetici | Yönetici: Bir yönetici herhangi bir hesaptan para çekebilir. Genellikle bir banka şubesinden nakit çekildiğinde yapılır. | 3 |
ADIM B) Görevin süresini tahmin edin
Fonksiyon noktalarının karmaşıklığını sınıflandırdıktan sonra , onları test etmek için süreyi tahmin etmeniz gerekir . Süre , görevi bitirmek için ne kadar zamana ihtiyaç olduğu anlamına gelir .
- Toplam Çaba : Web sitesinin tüm işlevlerini tamamen test etme çabası
- Toplam İşlev Puanı : Web sitesinin toplam modülleri
- İşlev Puanı başına tanımlanan tahmin : Bir işlev puanı tamamlamak için ortalama çaba. Bu değer, bu görevi üstlenecek üyenin verimliliğine bağlıdır .
Proje ekibinizin İşlev Puanı başına 5 saat / puan olarak tanımlandığını varsayalım . Guru99 Bank web sitesinin tüm özelliklerini test etmek için gereken toplam çabayı aşağıdaki gibi tahmin edebilirsiniz:
Ağırlık | İşlev Puanı Sayısı | Toplam | |
---|---|---|---|
Karmaşık | 5 | 3 | 15 |
Orta | 3 | 5 | 15 |
Basit | 1 | 4 | 4 |
İşlev Toplam Puan | 34 | ||
Nokta başına tanımla tahmin et | 5 | ||
Toplam Tahmini Çaba (Kişi Saat) | 170 |
Dolayısıyla, Guru99 Bank'ın "Test özelliğini oluşturma" görevini tamamlamak için toplam çaba yaklaşık 170 adam-saattir
Gereken çabayı anladıktan sonra, görevin ne kadar süreceğini (süre) belirlemek için kaynaklar atayabilir ve ardından işçilik ve işçilik dışı maliyetleri tahmin edebilirsiniz.
Yukarıdaki örnek, ekibinizdeki üyenin önemini de göstermektedir. Eğer varsa yetenekli ve deneyimli üyeleri, içeri atanan görevi bitirmek küçük zaman ve proje tarihine veya daha erken bitecek.
ADIM C) Görevlerin maliyetini tahmin edin
Bu adım, müşterinin son sorusu olan " Maliyeti ne kadardır?"
Diyelim ki takım maaşınız saatte 5 dolar. "Test Özelliklerini Oluştur" görevi için gereken süre 170 saattir. Buna göre, görevin maliyeti 5 * 170 = 850 $ 'dır. Artık WBS'deki diğer etkinlikler için bütçeyi hesaplayabilir ve proje için genel bütçeye ulaşabilirsiniz.
Bir proje yöneticisi olarak, şirketinizin yatırımı için en fazla getiriyi nasıl elde edeceğinize karar vermelisiniz . Proje maliyeti tahmininiz ne kadar doğru olursa, projenizin bütçesini o kadar iyi yönetebilirsiniz.
YÖNTEM 2) Üç Nokta Tahmin
Üç Noktalı tahmin, bir görevi tahmin etmek için kullanılabilecek tekniklerden biridir. Üç noktalı tahminin basitliği, tahmin etmek isteyen bir Proje Yöneticisi için onu çok kullanışlı bir araç haline getirir.
Üç noktalı tahminde, önceki deneyime veya en iyi tahminlere dayalı olarak aşağıdaki gibi her görev için başlangıçta üç değer üretilir
Bir görevi tahmin ederken, Test Yöneticisinin yukarıda belirtildiği gibi üç değer sağlaması gerekir. Tanımlanan üç değer, optimum durumda ne olacağını , en olası olanı veya en kötü durum senaryosu olacağını düşündüğümüz şeyi tahmin eder .
Aşağıdaki örnekte yukarıdaki üç değeri nasıl kullanacağımızı görelim
" Test spesifikasyonunu oluşturun " görevi için test eforunu tahmin edebilir misiniz? Mecbur unutmayın tümünü kapsayacak Fonksiyon Noktası Yöntemi yapıldığı gibi Guru99 Bankası web sitesinin modülleri
Aşağıdaki gibi tahmin edebilirsiniz
- En iyi durumda bu görevi tamamlamaktır 120 adam-saat (yaklaşık 15 gün). Bu durumda yetenekli bir ekibiniz var, görevi en kısa sürede bitirebilirler.
- Büyük olasılıkla bu görevi tamamlamak için böyledir 170 adam-saat (yaklaşık 21 gün). Bu normal bir durumdur, görevi tamamlamak için yeterli kaynağa ve yeteneğe sahipsiniz
- En kötü durum bu görevi tamamlamaktır 200 adam-saat (yaklaşık 25 gün). Ekip üyeleriniz tecrübeli olmadığı için çok daha fazla iş yapmanız gerekiyor.
Şimdi, değeri her bir parametreye aşağıdaki gibi atayın
Görevi tamamlama çabası, aşağıdaki gibi çift üçgen dağılım formülü kullanılarak hesaplanabilir:
Yukarıdaki formülde, E parametresi Ağırlıklı Ortalama olarak bilinir . "Test özelliğini oluşturma" görevinin tahminidir.
Ama patronun sana sorabilir
Yukarıdaki tahminde, sadece olası bir değeri belirlersiniz ve belirli bir değer değil , tahminin doğru olma olasılığını bilmemiz gerekir . Diğer formülü kullanabilirsiniz:
Yukarıdaki formülde, SD ortalama Standart Sapma, bu değer size tahminin doğru olma olasılığı hakkında bilgi verebilir .
Artık "Test özelliğini oluşturun" görevinin tahminini tamamlayabilirsiniz.
Guru99 Bank web sitesinin "Test spesifikasyonunu oluşturma" görevini tamamlamak için 166.6 ± 13.33 Adam-saat (153.33 ila 179.99 adam-saat) gerekir.
Adım 4) Tahmini doğrulayın
WBS'de bahsedilen tüm görevler için toplu bir tahmin oluşturduğunuzda , bunu gözden geçirecek ve onaylayacak olan yönetim kuruluna iletmeniz gerekir.
Yönetim kurulu üyesi CEO, Proje Yöneticisi ve diğer paydaşlardan oluşabilir.
Yönetim kurulu tahmin planınızı gözden geçirecek ve sizinle tartışacaktır. Tahmin planınızı onaylayabilmeleri için onlara tahmininizi mantıklı ve makul bir şekilde açıklayabilirsiniz .
Test tahmini en iyi uygulamaları
Bu konu, Test doğruluğunun nasıl tahmin edileceğine ilişkin genel ipuçlarını tanıtır.
- Biraz tampon süresi ekleyin: Yetenekli bir ekip üyesinin aniden işinden ayrılması, testin tamamlanması tahmin edilenden daha uzun sürmesi gibi birçok öngörülemeyen şey projenize olabilir. Bu yüzden tahmininize biraz tampon eklemeniz gerekir. Tahminde bir tampona sahip olmak, meydana gelebilecek gecikmelerin üstesinden gelmeyi sağlar.
- Hesap Kaynak planlaması tahmini: Ekibinizdeki bazı üyeler uzun süre izin alırsa ne yapmalısınız? Projeyi geciktirebilir. Tahminde kaynak planlaması anahtar bir rol oynar. Kaynakların mevcudiyeti, tahminlerin gerçekçi olmasını sağlamaya yardımcı olacaktır. Burada ekip üyeniz için, genellikle uzun izinler için izinleri göz önünde bulundurmalısınız.
- Geçmiş deneyimi referans olarak kullanın: Geçmiş projelerden edinilen deneyimler zaman tahminlerini hazırlarken hayati bir rol oynar. Bazı projeler bazı benzerlikler olabileceğinden, geçmiş tahminleri yeniden kullanabilirsiniz. Örneğin, bir web sitesini test etmek gibi bir proje yapmak için kullanırsanız, bu deneyimden öğrenebilir, geçmiş projelerde karşılaşılan tüm zorluklardan veya sorunlardan kaçınmaya çalışabilirsiniz.
- Tahmininize bağlı kalın: Tahmin sadece tahmindir çünkü yanlış gidebilir . Projenin erken aşamalarında , test tahminlerini sık sık tekrar kontrol etmeli ve gerekirse değişiklik yapmalısınız . Gereksinimde büyük değişiklikler olmadıkça veya yeniden tahmin hakkında müşteriyle görüşmeniz gerekmedikçe, tahmini düzelttikten sonra uzatmamalıyız.
Yazılım Testi Tahmin Şablonu
Yazılım Test Tahmin Excelini (.xlsx) indirin
Diğer Teknikler
Genişbant Delphi Tekniği, Kullanım - Durum Noktası Yöntemi, Yüzde dağılım, Ad-hoc yöntemi Yazılım Mühendisliğinde diğer tahmin teknikleridir.
Videoya erişilemiyorsa burayı tıklayın
Video Transkripti- Bir tatbikat yapalım -Uçuş Rezervasyonu Uygulaması için bir İş Kırılım Yapısı hazırlayalım.
- - Oturum Açma İşlevini Kontrol Etme, Yeni Sipariş İşlevselliğini Kontrol Etme, Faks İşlevselliğini Kontrol Etme ve diğer benzer işlevler ve bu işlevleri test etmek için gereken çabayı tahmin etme gibi çeşitli test görevleri
- Örneğin, oturum açma işlevi 2 saat içinde test edilebilir. Aynı şekilde, tüm görevlerin ve ilgili çabaların bir listesini hazırlayın. Eğitim öğreticisini duraklatın ve alıştırmayı tamamlayın. Umarım gereken çaba konusunda bilgili bir tahminde bulunmuşsunuzdur
- Bu, Test Tahmini için Aşağıdan Yukarıya Stratejidir. Bu teknik aşağıdan yukarıya olarak adlandırılır, çünkü iş kırılım hiyerarşisinin en düşük seviyesinde olan görevlere dayalı olarak süreyi, bağımlılıkları ve kaynakları tahmin edersiniz.
- Aşağıdan yukarıya stratejide, tahminler tek bir kişi tarafından değil, tüm paydaşlar, bireysel katkıda bulunanlar, uzmanlar ve deneyimli personel tarafından toplu olarak alınır. Buradaki fikir, doğru test tahminlerine ulaşmak için ekip üyelerinin işbirlikçi bilgeliğinden yararlanmaktır.
- Artık uçuş rezervasyon sisteminde hatırı sayılır bir deneyime sahip olduğunuz için. Web sitesinin tam İşlevsel Testi için gereken çabayı tahmin etmek için bu deneyimi kullanın. - http://newtours.demoaut.com/
- Bu site işlevsel olarak Uçuş Rezervasyon Uygulaması ile aynıdır, sadece web tabanlıdır. Öğreticiyi duraklatın ve alıştırmayı şimdi yapın
- Umarım deneyiminize dayanarak, web sitesini test etmek için gereken çaba konusunda iyi bir tahminde bulunmuşsunuzdur.
- Bu, deneyime dayalı tahmin için Yukarıdan Aşağıya Yaklaşımdır.
- Diğer bir teknik, projeyi boyutlarına ve karmaşıklıklarına göre sınıflandırmak ve ardından belirli bir boyut ve karmaşıklığa sahip bir projenin geçmişte ne kadar sürdüğünü görmektir.
- Diğer bir yaklaşım, benzer projeler için geçmişte Test Başına Ortalama İşgücü belirlemek ve ardından mevcut projenin tahmini test durumlarını kullanmak ve toplam çabaya ulaşmaktır.
- Daha karmaşık tahmin modelleri, karmaşık matematiksel modelleri içerir. Uygulamada, projelerin çoğu tahmin için yukarıdan aşağıya yaklaşımı kullanır.
- Test tahminleri, zamanlama baskıları, insan faktörleri, test ekibinin coğrafi dağılımı gibi birçok faktörden etkilenebilir.