Gereksinimler İzleme toplaması örnek raporu

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019

Bu rapor, gereksinim izleme raporu raporunu oluşturur ve toplu ölçümler sağlamak için bir düzey toplaması yapar. Örneğin, Kullanıcı hikayeleri ile ilgili gereksinimleri izliyorsanız, bu bölümde belirtilen sorgularla tek düzeyli bir toplu (en fazla özelliğe) sahip olabilirsiniz.

Önemli

Power BI tümleştirme ve analiz hizmetinin OData akışına erişimi önizleme aşamasındadır. bu makalede belirtilen örnek sorgular yalnızca Azure DevOps Services ve v 3.0-önizleme veya sonraki sürüme bağlı olarak geçerlidir. Bu sorguları kullanmanızı ve bize geri bildirim sağlamanızı öneririz.

Aşağıdaki görüntüde bir örnek gösterilmektedir.

Örnek hikayelere genel bakış toplama raporu

Not

Gereksinim izleme yalnızca Gereksinim tabanlı bir test paketiylebağlantılı test çalışmaları için desteklenir. Bir gereksinim çalışma öğesi (Kullanıcı hikayesi (çevik), ürün biriktirme listesi öğesi (Scrum), gereksinim (CMMI) veya sorun (temel) arasındaki ilişki ve el ile test yürütmesi yalnızca test çalışması Gereksinim tabanlı bir test paketiylebağlandığında oluşturulur.

Bu rapor, listeleyen her gereksinim için aşağıdaki bilgileri görüntüler:

  • Tamamlanan Iş yüzdesi: gereksinimle bağlantılı tüm görevler için tamamlanan saatlerin toplamına bağlı olarak tamamlanan çalışmanın yüzdesini gösteren ilerleme çubuğu.
  • Geçen testler: en son test çalıştırmasına göre geçen test çalışmalarının sayısı.
  • Başarısız testler: en son test çalıştırmasına göre başarısız olan test çalışması sayısı.
  • Testleri Çalıştır: yürütülen test çalışmalarının sayısı.
  • Etkin hatalar: etkin durumdaki bağlantılı hataların sayısı.
  • Kapatılan hatalar: bir kapalı, bitti veya tamamlandı durumundaki bağlantılı hataların sayısı.

Rapor yanıtları hakkında sorular

Gereksinim izleme raporları, aşağıdaki soru türlerini yanıtlamak için yararlıdır.

İş ilerlemesi

  • Her gereksinim için kalan iş miktarı beklentilerinize karşılık geliyor mu?
  • İlk olarak derecelendirilen gereksinimler uygulandı mi?
  • Her gereksinim için kaç test tanımlandı? Kaç test geçiliyor?
  • Kendileri için tanımlı test çalışması olmayan gereksinimler ne uygulanıyor?

Kalite ilerlemesi

  • Her gereksinim için kaç tane test çalışması çalışıyor ve kaç tane geçti?
  • Her gereksinimin kaç tane etkin hatası var?
  • Sınanan gereklilikler için hatalar bulduk mu?
  • Hatalar çözümlenmekte mi yoksa etkin mi çalışıyor?

Risk değerlendirmesi

  • Hangi gereksinimler risk altında?
  • Yayın için hangi gereksinimler yeterince kararlı değil?
  • Bugün hangi gereksinimleri teslim edebilir?

Önkoşullar

Raporun yararlı veriler oluşturması için aşağıdaki görevleri gerçekleştirmeniz gerekir:

  • Gereksinim iş öğelerini tanımlayın ve bunları ilgilendiğiniz alana ve yineleme yollarına atamış olursunuz. Alan ve yineleme yollarının nasıl tanımlanacağı hakkında daha fazla bilgi için bkz. alan yollarını tanımlama ve yineleme yollarını tanımlama.
  • Saatlerin tamamlanma yüzdesini almak için, görevlerin veya alt bağlantı türüyle gereksinimlere bağlı hataların tüm çalışma ve kalan iş alanlarını doldurmanız gerekir.
  • test çalışmalarının yürütme durumunu almak için, bu gereksinimlere karşılık gelen Test Plans gereksinim tabanlı test paketleri oluşturmuş olursunuz. Kanban panosu aracılığıyla eklediğiniz satır içi testler bu önkoşulu karşılar, ancak testlere bağlamanız gereken gereksinimler değildir. Daha fazla bilgi için bkz. test planları ve test paketleri oluşturma.
  • Hataların durumunu almak için, alt bağlantı türü ile gereksinimlere hata oluşturmuş ve bu hataları bağlacaksınız.

Not

Bu makalede, OData sorguları kullanılarak örnek raporlara genel bakış ve Power BI temel olarak anlaşıldığınız varsayılmaktadır.

Örnek sorgular

Sorgu alanı ve yineleme yolları

Raporunuzu belirli bir alana ve yineleme yoluna bağlamak için, bunları OData Analytics kullanarak iş izleme verilerinizi sorgulama bölümünde açıklandığı gibi sorgulayabilir ve bu makalede daha sonra sunulan bölümlerde belirtilen diğer sorgulara sağlamak Için Areask ve iterationsk değerlerini kullanın.

Gereksinimler için saatlik tamamlanma yüzdesi sorgusu

Not

WorkItemTypeKullandığınız işleme göre öğesini değiştirin. Scrum şablonu özelliği destekler ve temel şablon, sırasıyla çalışma öğesi türü olarak Epic 'yi destekler.

aşağıda listelenen Power BI sorgusunu doğrudan veri al- boş sorgu penceresinde yapıştırabilirsiniz. Daha fazla bilgi için OData sorguları kullanarak örnek raporlara genel bakışkonusunu inceleyin.

let
    Source = OData.Feed("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems? 
$filter=( 
    IterationSK eq {iterationSK}
    and AreaSK eq {areaSK}
    and WorkItemType eq 'Feature'
)
&$expand=Descendants( 
    $apply=filter( CompletedWork ne null or RemainingWork ne null ) 
    /aggregate( 
        iif(CompletedWork ne null, CompletedWork, 0) with sum as SumCompletedWork, 
        iif(RemainingWork ne null, RemainingWork, 0) with sum as SumRemainingWork 
    ) 
    /compute( 
        (SumCompletedWork add SumRemainingWork) as TotalWork, 
        SumCompletedWork as SumCompleted 
    ) 
    /compute( 
        iif(TotalWork gt 0,(SumCompleted div cast(TotalWork, Edm.Double) mul 100), 0) as PercCompletedWork 
    ) 
)
&$select=WorkItemId, Title", null, [Implementation="2.0"]),
    #"Expanded Descendants" = Table.ExpandTableColumn(Source, "Descendants", {"SumCompletedWork", "SumRemainingWork", "TotalWork", "SumCompleted", "PercCompletedWork"}, {"Descendants.SumCompletedWork", "Descendants.SumRemainingWork", "Descendants.TotalWork", "Descendants.SumCompleted", "Descendants.PercCompletedWork"}),
    #"Changed Type" = Table.TransformColumnTypes(#"Expanded Descendants",{{"Descendants.SumCompletedWork", type number}, {"Descendants.SumRemainingWork", type number}, {"Descendants.TotalWork", type number}, {"Descendants.SumCompleted", type number}, {"Descendants.PercCompletedWork", type number}})
in
    #"Changed Type"

Gereksinimlerin test yürütme durumunu sorgula

aşağıda listelenen Power BI sorgusunu doğrudan veri al- boş sorgu penceresinde yapıştırabilirsiniz. Daha fazla bilgi için OData sorguları kullanarak örnek raporlara genel bakışkonusunu inceleyin.

let
    Source = OData.Feed("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/TestPoints? 
	$apply=filter(
	    (TestSuite/RequirementWorkItem/IterationSK eq {iterationSK}
    and TestSuite/RequirementWorkItem/AreaSK eq {areaSK}
    and TestSuite/RequirementWorkItem/Processes/any(p:p/BacklogType eq 'RequirementBacklog')
    and TestSuite/RequirementWorkItem/Processes/all(p:p/IsBugType eq false)
	))
	/compute(iif(TestSuite/RequirementWorkItem/Parent ne null, TestSuite/RequirementWorkItem/Parent/WorkItemId, 0) as ParentWorkItemId, 
	iif(TestSuite/RequirementWorkItem/Parent ne null, TestSuite/RequirementWorkItem/Parent/Title, 'Unparented') as ParentWorkItemTitle
	)/groupby(
	    (ParentWorkItemId, ParentWorkItemTitle), 
	    aggregate(
	        $count as TotalCount, 
	        cast(LastResultOutcome eq 'Passed', Edm.Int32) with sum as PassedCount, 
	        cast(LastResultOutcome eq 'Failed', Edm.Int32) with sum as FailedCount, 
            cast(LastResultOutcome eq 'Blocked', Edm.Int32) with sum as BlockedCount,
            cast(LastResultOutcome eq 'NotApplicable', Edm.Int32) with sum as NotApplicableCount,
	        cast(LastResultOutcome eq 'None', Edm.Int32) with sum as NotRunCount, 
	        cast(LastResultOutcome ne 'None', Edm.Int32) with sum as RunCount)
)", null, [Implementation="2.0"]),
    #"Changed Type" = Table.TransformColumnTypes(#"Source",{{"TotalCount", type number}, {"PassedCount", type number}, {"FailedCount", type number}, {"BlockedCount", type number}, {"NotApplicableCount", type number}, {"NotRunCount", type number}, {"RunCount", type number}})
in
    #"Changed Type"

Not

TestSuite/RequirementWorkItem/...Giriş, iş öğesinin, önkoşullardaanlatıldığı gibi TestSuite/RequirementWorkItem/... aracılığıyla test paketiyle bağlantılı olması gerektiğini gösterir.

Gereksinimlere bağlı hataların durumunu sorgula

Not

WorkItemTypeKullandığınız işleme göre öğesini değiştirin. Scrum şablonu özelliği destekler ve temel şablon, sırasıyla çalışma öğesi türü olarak Epic 'yi destekler.

aşağıda listelenen Power BI sorgusunu doğrudan veri al- boş sorgu penceresinde yapıştırabilirsiniz. Daha fazla bilgi için OData sorguları kullanarak örnek raporlara genel bakışkonusunu inceleyin.

let
    Source = OData.Feed("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?
    $filter=(
        IterationSK eq {iterationSK}
        and AreaSK eq {areaSK}
        and WorkItemType eq 'Feature'
    )
&$expand=Descendants(
    $apply=filter(
        WorkItemType eq 'Bug'
    )
    /groupby(
        (State),
        aggregate($count as Count)
    )
)
&$select=WorkItemId,Title", null, [Implementation="2.0"]),
    #"Expanded Descendants" = Table.ExpandTableColumn(Source, "Descendants", {"State", "Count"}, {"Descendants.State", "Descendants.Count"}),
    #"Filtered Rows" = Table.SelectRows(#"Expanded Descendants", each [Descendants.Count] <> null and [Descendants.Count] <> ""),
    #"Pivoted Column" = Table.Pivot(#"Filtered Rows", List.Distinct(#"Filtered Rows"[Descendants.State]), "Descendants.State", "Descendants.Count", List.Sum),
    #"Changed Type" = Table.TransformColumnTypes(#"Pivoted Column",{{"Active", type number}, {"Closed", type number}})
in
    #"Changed Type"

Değiştirme dizeleri

Her sorgu, değerlerinizle yerine geçmesi gereken aşağıdaki dizeleri içerir. Değiştirme ile köşeli ayraç eklemeyin {} . Örneğin, kuruluşunuzun adı "Fabrikam" ise {Organization} değerini {fabrikam} değil fabrikamile değiştirin.

  • {Kuruluş}-kuruluşunuzun adı
  • {Project}-takım projenizin adı veya bir çapraz proje sorgusu için "/{Project}" tamamen yok
  • {iterationSK}-ilgilendiğiniz yineleme yolunun yineleme SK
  • {areaSK}-ilgilendiğiniz alan yolunun alan SK alanı.

Sorgu dökümü

Aşağıdaki tabloda sorgunun her bölümü açıklanmaktadır.

Sorgu bölümü

Açıklama

Processes/any(p:p/BacklogType eq 'RequirementBacklog')

İş öğelerini, bunlarla ilişkilendirilmiş en az bir işlem için ' Requirements ' kategorisine düşmeleri gereken şekilde filtreleyin.

Processes/all(p:p/IsBugType eq false)

Gereksinimleri alırken hata türü iş öğelerini atlayın. Temel işlem şablonunda, sorun iş öğelerinin da hata türü olduğundan, temel işlem bu yan tümceyi sorgınızdan kaldırın.

Power BI dönüşümler

Power BI sorgulara uygulanan dönüşümler zaten sorgu kod parçacıklarına eklenmiş.

Raporu oluşturma

Power BI, rapor ettiğiniz alanları gösterir.

Not

Aşağıdaki örnek, hiç bir sütunu yeniden adlandırmadığını varsayar.

Raporu oluşturmak için aşağıdaki adımları gerçekleştirin:

  1. Modelleme sekmesinden İlişkileri Yönet öğesini seçin ve üç sorgu sonucunu WorkItemId sütunuyla ilişkilendirin.
  2. Power BI görselleştirme tablosuoluşturun.
  3. ilgilendiğiniz sütunları üç Power BI sorgudan ekleyin.
  4. Başarılı testler gibi ek sütunlar için Sum olarak Sum ' ı seçin.

    toplama olarak Sum Power BI seçin

Burada, kimlik doğrulama senaryoları Iki kullanıcı hikayesinin ana özelliğidir.

Örnek hikayelere genel bakış toplama raporu