Yazılım Testi Tahmin Teknikleri
Yazılım Test Tahmini Nedir?
Test Tahmini, tahmine yaklaşan bir yönetim faaliyetidir. ne kadar Bir Görevin tamamlanması gerekir. Test için harcanan çabanın tahmin edilmesi, büyük ve önemli Test Yönetimindeki görevler.
Neden Test Tahmini?
Potansiyel test sözleşmelerini tartışırken müşterilerinizden bekleyebileceğiniz iki soru şunlardır:
Küçük projeler için bu soruların yanıtlanması nispeten kolaydır. Ama böyle büyük bir proje için Test yapmak Guru99 Bank web sitesinde bu sorulara cevap vermek için çok düşünmelisiniz.
Ne Tahmin Edilmeli?
- Kaynaklar: Kaynaklar gereklidir gerçekleştirmek herhangi bir proje görevi. Bunlar, bir proje faaliyetinin tamamlanması için gerekli olan insanlar, ekipman, tesisler, finansman veya tanımlanabilecek başka herhangi bir şey olabilir.
- Zamanlar : Zaman bir projedeki en değerli kaynaktır. Her projenin teslim tarihi vardır.
- İnsan yetenekleri : İnsan becerileri şu anlama gelir: bilgi ve deneyim Ekip üyelerinden. Tahmininizi etkilerler. Örneğin, üyeleri düşük test etme becerisine sahip olan bir ekibin projeyi bitirmesi, yüksek test etme becerisine sahip olan ekipten daha fazla zaman alacaktır.
- Maliyet: Maliyet projedir bütçe. Genel olarak konuşursak, şu anlama gelir ne kadar para projeyi bitirmek gerekiyor.
Nasıl tahmin edilir?
Yazılım Testi Tahmin Tekniklerinin Listesi
- İş Dökümü Yapısı
- 3 Noktalı Yazılım Testi 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
Bir tahmine ulaşmak için 4 Adımlı süreç aşağıdadır
Guru99 Bank vaka çalışmasına 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 eserdir. Bunu yapmak için şunları kullanabilirsiniz: İş Dökümü Yapısı tekniği.
Bu teknikte, karmaşık bir proje modüllere bölünür. Modüller alt modüllere bölünür. Her alt modül daha sonra işlevselliğe bölünür. Bu, tüm proje görevini en küçük görevler.
Guru99 Bank projesini 5 küçük göreve bölmek için İş Kırılım yapısını kullanın.
Bundan sonra her görevi parçalara ayırabilirsiniz. alt görev. Bu aktivitenin amacı şu şekilde görev oluşturmaktır: detaylı as mümkün.
Görev | Alt görev |
---|---|
Yazılım gereksinimi spesifikasyonunu analiz edin | Esnek gereksinim özelliklerini inceleyin |
Web sitesi hakkında daha fazla bilgi edinmek için geliştirici ve diğer paydaşlarla röportaj | |
Test Spesifikasyonunu Oluşturun | Test senaryoları tasarlayın |
Test senaryoları oluşturun | |
Revtest vakalarını görüntüleyin ve gözden geçirin | |
Test senaryolarını yürütün | Test ortamını oluşturun |
Test senaryolarını yürütün | |
Revtest yürütme sonuçlarını görüntüle | |
Kusurları bildirin | |
oluşturmak kusur raporları | |
Kusurları bildirin |
Adım 2) Her görevi ekip üyesine atayın
Bu adımda her görev, uygun proje ekibinin üyesi. Görevi aşağıdaki gibi atayabilirsiniz
Görev | Üyeler |
---|---|
Yazılım gereksinimi spesifikasyonunu analiz edin | Tüm üyeler |
Test spesifikasyonunu oluşturun | Test Uzmanı/Test Analisti |
Test ortamını oluşturun | Test Yöneticisi |
Test senaryolarını yürütün | Test Uzmanı, Test Yöneticisi |
Kusurları bildir | Test cihazı |
Adım 3) Görevler İçin Çaba Tahmini
Görevlere yönelik çabayı tahmin etmek için uygulayabileceğiniz 2 teknik vardır
- Fonksiyonel Nokta Yöntemi
- Üç Nokta Tahmini
Yöntem 1) Fonksiyon Noktası Yöntemi
Bu yöntemde Test Yöneticisi görevlerin Boyutunu, Süresini ve Maliyetini tahmin eder
Adım A) Görevin boyutunu tahmin edin
In 1. Adım, WBS yöntemini kullanarak tüm proje görevini zaten küçük göreve böldünüz. Artık bu görevlerin boyutunu tahmin ediyorsunuz. Belirli bir görevle pratik yapalım "Test spesifikasyonunu oluşturunbaşlıklı bir kılavuz yayınladı
Bu görevin boyutu, test edilen sistemin işlevsel boyutuna bağlıdır. İşlevsel boyut şunları yansıtır: miktar kullanıcıyla ilgili işlevsellik. Daha fazla numara işlevsellik arttıkça karmaşık sistemdir.
Gerçek tahmin görevleri çabasına başlamadan önce, fonksiyonel noktalar aşağıdaki gibi üç gruba ayrılır: Karmaşık, Orta Basit aşağıdaki gibi:
Yazılım fonksiyonlarının karmaşıklığına dayanarak, Test Yöneticisi yeterli bilgi sağlamalıdır. ağırlık her fonksiyonel noktaya. Örneğin
grup | Ağırlık |
---|---|
Karmaşık | 5 |
Orta | 3 |
Basit | 1 |
Daha açık hale getirmek için basit bir örnek alıştırma yapalım:
Guru99 Bank web sitesinin yazılım özelliklerine bir göz atın okuyun, yazılım mühendisi yazılım modüllerini ayrıntılı olarak tanımlamıştır, bunları belirleyebilir misiniz? karmaşıklık Her modül için ağırlık vererek web sitesinin özelliklerinin neler olduğunu biliyor musunuz?
Fonksiyon noktası ne kadar karmaşıksa, onu test etmek için o kadar fazla çaba gerekir. Web sitesi şu şekilde bölünmüştür: 12 işlev noktaları belirleyebilirsiniz. karmaşıklık her fonksiyon noktasının aşağıdaki gibi-
Hayır. | Modül Adı | Uygulanabilir Roller | Tanım | Ağırlık |
---|---|---|---|---|
1. | Bakiye Sorgulama | müdür
Hesap |
Müşteri: Bir müşterinin birden fazla banka hesabı olabilir. Yalnızca hesaplarının bakiyesini görebilir
Müdürü: Bir yönetici, denetimi altına giren tüm müşterilerin bakiyesini görebilir |
3 |
2. | Fon Transferi | müdür
Hesap |
Müşteri: Bir müşteri "kendi" hesabından herhangi bir hedef hesaba para transferi yapabilir.
Müdürü: Bir yönetici herhangi bir kaynak banka hesabından hedef hesaba para aktarabilir |
5 |
3. | Kısa Açıklama | müdür
Hesap |
Mini ekstre, bir hesabın son 5 işlemini gösterecek
Müşteri: Bir müşteri yalnızca "kendi" hesaplarının mini ekstresini görebilir Müdürü: Bir yönetici herhangi bir hesabın mini ekstresini görebilir |
3 |
4. | Özelleştirilmiş Bildirim | müdür
Hesap |
Özelleştirilmiş bir ekstre, 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 Özelleştirilmiş ekstresini görebilir Müdürü: Bir yönetici herhangi bir hesabın Özelleştirilmiş ekstresini görebilir |
5 |
5. | Şifrenizi Değiştirin | müdür
Hesap |
Müşteri: Müşteri yalnızca kendi hesabının şifresini değiştirebilir.
Müdürü: Yönetici yalnızca kendi hesabının şifresini değiştirebilir. Müşterilerinin şifrelerini değiştiremez |
1 |
6. | Yeni Müşteri | müdür | Müdürü: Yönetici yeni bir müşteri ekleyebilir.
Müdürü: Bir yönetici, bir müşterinin adres, e-posta, telefon gibi bilgilerini düzenleyebilir. |
3 |
7. | Yeni Hesap | müdür | Şu anda sistem 2 tür hesap sunmaktadır
Bir müşterinin birden fazla tasarruf hesabı olabilir (biri kendi adına, diğeri ortak ad vb.). Sahibi olduğu farklı şirketlere ait birden fazla cari hesap sahibi olabilir. Veya birden fazla cari ve tasarruf hesabına sahip olabilir. Müdürü: Yönetici mevcut bir müşteri için yeni bir hesap ekleyebilir. |
5 |
8. | Hesabı düzenlemek | müdür | Müdürü: Bir yönetici mevcut bir hesap için hesap ayrıntılarını düzenleyebilir veya ekleyebilir | 1 |
9. | Hesabı sil | müdür | Müdürü: Bir yönetici, bir müşteri için hesap ekleyebilir veya silebilir. | 1 |
10 | Müşteriyi Sil | müdür | Bir müşterinin ancak aktif cari veya tasarruf hesabının olmaması durumunda silinebilir
Müdürü: Yönetici bir müşteriyi silebilir. |
1 |
11 | mevduat | müdür | Müdürü: Bir yönetici herhangi bir hesaba para yatırabilir. Genellikle banka şubesine nakit yatırıldığında yapılır. | 3 |
12 | Para Çekme | müdür | Müdürü: Bir yönetici herhangi bir hesaptan para çekebilir. Genellikle banka şubesinden nakit çekildiğinde yapılır. | 3 |
ADIM B) Görevin süresini tahmin edin
Sınıflandırdıktan sonra karmaşıklık fonksiyon noktalarının tahmin edilmesi gerekir. süre onları test etmek için. Süre şu anlama gelir: ne kadar Görevi bitirmek için zaman gerekiyor.
- Toplam Çaba: Sitenin tüm fonksiyonlarını eksiksiz olarak test etme çabası
- Toplam Fonksiyon Noktası: Web sitesinin toplam modülleri
- Fonksiyon Noktalarına göre tanımlanan tahmin: Bir işlev noktasını tamamlamak için harcanan ortalama çaba. Bu değer şunlara bağlıdır: verimlilik Bu görevi üstlenecek üyenin seçimi.
Proje ekibinizin Fonksiyon Noktalarına göre tanımlanmış bir tahminde bulunduğunu varsayalım. 5 saat/puan. Guru99 Bank web sitesinin tüm özelliklerini test etmek için gereken toplam çabayı aşağıdaki şekilde tahmin edebilirsiniz:
Ağırlık | İşlev Noktalarının Sayısı | Toplam | |
---|---|---|---|
Karmaşık | 5 | 3 | 15 |
Orta | 3 | 5 | 15 |
Basit | 1 | 4 | 4 |
Fonksiyon Toplam Puanı | 34 | ||
Nokta başına tahmin tanımı | 5 | ||
Toplam Tahmini Efor (Kişi Hours) | 170 |
Yani Guru99 Bank'ın "Test spesifikasyonunu oluşturma" görevini tamamlamak için harcadığı 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 aynı zamanda üyenin ekibinizdeki önemini de göstermektedir. eğer varsa yetenekli ve deneyimli üyeler, atanan görevi şurada tamamlayabilirsiniz: küçük zaman ve projeniz son teslim tarihinde veya daha erken bitecek.
ADIM C) Görevlerin maliyetini tahmin edin
Bu adım, müşterinin son sorusunu yanıtlamanıza yardımcı olur "Fiyatı ne kadar?"
Ortalama olarak takım maaşınızın saat başına 5$ olduğunu varsayalım. “Test Spesifikasyonlarını Oluştur” görevi için gereken süre 170 saattir. Buna göre görevin maliyeti 5*170= 850$ olur. Artık WBS'deki diğer faaliyetler için bütçeyi hesaplayabilir ve proje için genel bütçeye ulaşabilirsiniz.
Bir proje yöneticisi olarak, projeyi nasıl elde edeceğinize karar vermelisiniz. en çok getiri Şirketinizin yatırımı için. Daha fazla doğru proje maliyetine ilişkin tahmininiz, daha iyi Projenizin bütçesini yönetebileceksiniz.
Yöntem 2) Üç Nokta Tahmini
Üç Nokta tahmini, bir görevi tahmin etmek için kullanılabilecek tekniklerden biridir. Üç noktalı tahminin basitliği, onu tahmin yapmak isteyen bir Proje Yöneticisi için çok yararlı bir araç haline getirir.
Üç nokta tahmininde, üç değerler her görev için başlangıçta üretilir. önceki deneyim or en iyi tahminler aşağıdaki gibi
Bir görevi tahmin ederken Test Yöneticisinin yukarıda belirtildiği gibi üç değer sağlaması gerekir. Tanımlanan üç değer, bir durumda ne olacağını tahmin eder. optimal durum, nedir büyük ihtimalleya da ne olacağını düşünüyoruz En kötü durumda senaryo.
Yukarıdaki üç değerin aşağıdaki örnekte nasıl kullanılacağını görelim
Görev için "Test spesifikasyonunu oluşturun”, test çabasını tahmin edebilir misiniz? Yapman gerektiğini unutma hepsini kapsa Guru99 Bank web sitesinin modülleri aşağıda belirtildiği gibi Fonksiyon Noktası Yöntemi
Aşağıdaki gibi tahmin edebilirsiniz
- The en iyi senaryo Bu görevi tamamlamak için 120 adam-saat (yaklaşık 15 gün). Bu durumda yetenekli bir ekibiniz var, görevi en kısa sürede bitirebilirler.
- The büyük ihtimalle Bu görevi tamamlamak için gereken durum 170 adam-saat (yaklaşık 21 gün). Bu normal bir durumdur, görevi tamamlamak için yeterli kaynağa ve yeteneğe sahipsiniz
- The En kötü durumda Bu görevi tamamlamak için 200 adam-saat (yaklaşık 25 gün). Ekip üyeleriniz tecrübeli olmadığı için çok daha fazla iş yapmanız gerekiyor.
Şimdi her parametreye değeri aşağıdaki gibi atayın
Görevi tamamlamak için harcanan çaba şu şekilde hesaplanabilir: çift üçgen dağılım formül şu şekilde-
Yukarıdaki formülde E parametresi şu şekilde bilinir: Ağırlıklı ortalama. “Test spesifikasyonunu oluştur” görevinin tahminidir.
Ama patronun sana sorabilir
Yukarıdaki tahminde, yalnızca bir mümkün ve değil belli değeri hakkında bilgi sahibi olmalıyız olasılık tahminin doğru olduğunu. Diğer formülü kullanabilirsiniz:
Yukarıdaki formülde SD ortalama Standart Sapmadır, bu değer size olasılık tahminin doğru olduğunu.
Artık “Test spesifikasyonunu oluşturma” görevi için tahmininizi tamamlayabilirsiniz.
Guru99 Bank web sitesindeki "Test spesifikasyonunu oluşturma" görevini tamamlamak için şunlara ihtiyacınız vardır: 166.6 13.33 ± Adam-saat (153.33 - 179.99 adam-saat)
Adım 4) Tahmini doğrulayın
İKY'de bahsedilen tüm görevler için toplu bir tahmin oluşturduğunuzda, bunu Yönetim Kurulu, kim olacak yorum ve onaylamak bunu.
Yönetim kurulu üyesi CEO, Proje Yöneticisi ve diğer paydaşlardan oluşabilir.
Yönetim kurulu tahmin planınızı sizinle birlikte inceleyecek ve tartışacaktır. Onlara tahmininizi açıklayabilirsiniz mantıksal ve oldukça böylece tahmin planınızı onaylayabilirler.
Test tahminiyle ilgili en iyi uygulamalar
Bu konu, Test doğruluğunun nasıl tahmin edileceğine ilişkin genel ipuçları sunar.
Biraz tampon zaman ekleyin:
Projenizde pek çok öngörülemeyen şey olabilir, örneğin yetenekli bir ekip üyesi aniden işinden ayrılabilir, testin tamamlanması tahmin edilenden daha uzun sürebilir... vb. Bu yüzden tahmininize bir miktar tampon eklemeniz gerekir. Tahminde bir tampon olması, oluşabilecek herhangi bir gecikmeyle başa çıkmanızı sağlar.
Tahminde Hesap Kaynağı planlaması
Ekibinizdeki bazı üyeler uzun süre izine çıkarsa ne yapmalısınız? Projeyi geciktirebilir. Tahminde kaynak planlaması önemli bir rol oynar. Kaynakların mevcudiyeti, tahminlerin gerçekçi olmasını sağlamaya yardımcı olacaktır. Burada ekip üyenizin izinlerini, genellikle uzun izinleri dikkate almalısınız.
Geçmiş deneyimi referans olarak kullanın
Geçmiş projelerden elde edilen deneyimler, zaman tahminlerinin hazırlanmasında hayati bir rol oynamaktadır. Bazı projeler benzerlik gösterebileceği için geçmiş tahmininizi yeniden kullanabilirsiniz. Örneğin, bir web sitesini test etmek gibi bir proje yapıyorsanız, bu deneyimden öğrenebilir, geçmiş projelerde karşılaştığınız tüm zorluklardan veya sorunlardan kaçınmaya çalışabilirsiniz.
Tahmininize sadık kalın
Tahmin sadece tahmindir çünkü gidebilir yanlış.Projenin erken aşamalarında sık sık Test tahminlerini tekrar kontrol edin ve değişiklik yapın gerekirse. Gereksinimlerde büyük değişiklikler olmadıkça veya yeniden tahmin konusunda müşteriyle görüşmeniz gerekmediği sürece tahmini düzelttikten sonra uzatmamalıyız
Yazılım Test Tahmin Şablonu
Yazılım Test Tahmini Excel'ini (.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ğindeki diğer tahmin teknikleridir.
Yazılım Test Tahmin Teknikleri Videosu
Tıkla okuyun videoya erişilemiyorsa
Video Transkripti
- Hadi bir egzersiz yapalım - için Uçuş Rezervasyon Başvurusu İş Kırılım Yapısını hazırlamak
- Oturum Açma İşlevselliğini Kontrol Etme, Yeni Sipariş İşlevselliğini Kontrol Etme, Faks İşlevselliğini Kontrol Etme ve diğer benzer işlevler gibi çeşitli test görevleri ve Bu işlevleri test etmek için gereken çabayı tahmin etme
- Örneğin, oturum açma işlevi 2 saatte test edilebilir. Benzer şekilde, tüm görevlerin ve karşılık gelen çabanın bir listesini hazırlayın. Eğitim öğreticisini duraklatın ve egzersizi tamamlayın. Umarım gereken çaba konusunda eğitimli bir tahminde bulunmuşsunuzdur
- Bu, Test Tahmini için Aşağıdan Yukarıya Stratejidir. Bu tekniğe aşağıdan yukarıya denir, çünkü iş kırılım hiyerarşisinin en alt seviyesindeki görevlere dayanarak 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 katılımcılar, uzmanlar ve deneyimli personel tarafından toplu olarak alınır. Buradaki fikir, doğru test tahminlerine ulaşmak için ekip üyelerinin işbirliğine dayalı bilgeliğinden yararlanmaktır.
- Artık uçuş rezervasyon sistemi konusunda hatırı sayılır bir deneyime sahipsiniz. Tam performans için gereken çabayı tahmin etmek için bu deneyimi kullanın. Fonksiyonel Testler web sitesinin. – http://newtours.demoaut.com/
- Bu site web tabanlı olması dışında işlevsel olarak Uçuş Rezervasyon Uygulaması ile aynıdır. Öğreticiyi duraklatın ve egzersizi şimdi yapın
- Umarım deneyiminize dayanarak web sitesini test etmek için gereken çabaya ilişkin iyi bir tahminde bulunmuşsunuzdur
- Bu, deneyime dayalı yukarıdan aşağıya tahmin yaklaşımıdır.
- Bir diğer teknik ise projeleri büyüklüklerine ve karmaşıklıklarına göre sınıflandırmak ve daha önce belirli bir büyüklük ve karmaşıklıktaki bir projenin ne kadar zaman aldığına bakmaktır.
- Diğer bir yaklaşım ise Kişi Başına Ortalama Eforun belirlenmesidir. Test Durumu geçmişte benzer projeler için ve daha sonra mevcut projenin tahmini test senaryolarını kullanarak ve toplam çabaya ulaşarak
- Daha sofistike tahmin modelleri karmaşık matematiksel modeller içerir. Uygulamada, projelerin çoğunluğ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ı vb. birçok faktörden etkilenebilir.