Gereksinimler izleme örnek raporu

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

Bu makalede, Gereksinimler kategorisine ait iş öğelerinin kalitesini izleme yönergeleri yer almaktadır. Buna Kullanıcı Hikayeleri (Çevik), Ürün Kapsam Öğeleri (Scrum) ve Gereksinimler (CMMI) gibi iş öğeleri dahildir.

Önemli

Power BI analytics hizmetinin OData akışına tümleştirme ve erişim önizlemededir. Bu makalede sağlanan örnek sorgular yalnızca Azure DevOps Services için geçerlidir ve v3.0-preview veya sonraki bir sürüme bağlıdır. Bu sorguları kullanmanız ve bize geri bildirim sağlamanız için sizi teşvik ederiz.

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

Örnek - Hikayelere Genel Bakış Raporu

Not

Gereksinim izleme yalnızca Gereksinim tabanlı bir test paketi aracılığıyla bağlantılı test testleri için de desteklenmemektedir. Gereksinim iş öğesi (Kullanıcı Hikayesi (Çevik),Ürün Biriktirme Listesi Öğesi (Scrum),Gereksinim (CMMI) veya Sorun(Temel ) ve el ile test yürütme arasındaki ilişki, yalnızca test çalışması Gereksinim tabanlı bir test paketi aracılığıyla bağlanarak gerçekleştirildi.

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

  • Tamamlanan çalışma yüzdesi:Gereksinimle bağlantılı tüm görevler için tamamlanan saatlerin dökümüne göre tamamlanan iş yüzdesini gösteren ilerleme çubuğu.
  • Geçirilen testler:En son test çalıştırmasına göre geçirilen test çalışması çalıştırmaları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ırma:Yürütülen test çalıştırmalarının sayısı.
  • Etkin hatalar:Etkin durumdaki bağlantılı hataların sayısı.
  • Kapalı hatalar:Kapalı, Bitti veya Tamamlandı durumdaki bağlantılı hataların sayısı.

Raporun yanıtlarına ilişkin sorular

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

İş ilerleme durumu

  • Her gereksinim için kalan iş miktarı beklentilerinize uygun mu?
  • en üst düzey gereksinimler ilk sırada mı uygulanmaktadır?
  • Her gereksinim için kaç test tanımlanır? Kaç test başarılı oluyor?
  • Bunlar için tanımlanmış test örneklerine sahip olmayıp hangi gereksinimler uygulanmaktadır?

Kalite ilerleme durumu

  • Her gereksinim için kaç test çalışması çalıştırıldı ve kaç test çalışması geçti?
  • Her gereksinim kaç tane etkin hataya sahip?
  • Test edilen gereksinimler için hatalar bulundu mu?
  • Hatalar çözülüyor mu yoksa etkin mi kaldı?

Risk değerlendirmesi

  • Hangi gereksinimler risk altında?
  • Hangi gereksinimler yayın için yeterince kararlı değil?
  • Bugün hangi gereksinimleri gönderebilirsiniz?

Önkoşullar

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

  • Gereksinim iş öğelerini tanımladınız ve bunları ilgi alanı ve yineleme yollarına atadınız. Alan ve yineleme yollarını tanımlama hakkında bilgi için bkz. Alan yollarını tanımlama ve Yineleme yollarını tanımlama.
  • Tamamlanma saatlerinin yüzdesini almak için görevlerin Veya gereksinimlere bağlı hataların Complete Work ve Remaining Work alanlarını Alt bağlantı türüyle doldurmanız gerekir.
  • Test olaylarının yürütme durumunu almak için, bu gereksinimlere karşılık gelen Test Plans tabanlı test paketleri oluşturulmuş olur. Kanban panosu aracılığıyla ekleyilen satır içi testler bu önkoulları karşılar, ancak testlere bağlamanız gereken gereksinimler karşılamıyor. Daha fazla bilgi edinmek için bkz. Test planları ve test paketleri oluşturma.
  • Hataların durumunu almak için, hataları alt bağlantı türüyle gereksinimlere bağlar ve bu gereksinimlere bağlı olarak görüntülersiniz.

Not

Bu makalede, OData Sorgularını kullanarak Örnek Raporlara Genel Bakış makalesini okuduğu ve bu sorgular hakkında temel bilgilere sahip Power BI.

Örnek sorgular

Sorgu alanı ve yineleme yolları

Rapor kapsamını belirli bir Alan ve Yineleme yolu olarak kullanmak için, OData Analytics kullanarak iş izleme verilerinizi sorgulama konusunda açıklandığı gibi sorgular ve bu makalenin devamında sağlanan bölümlerde sağlanan diğer sorgulara sağlamak için ilgi alanı ve YinelemeSK değerlerini kullanabilirsiniz.

Gereksinimler için tamamlanma saat yüzdesini sorgulama

Not

Aşağıdaki sorgu, iş öğelerinde ve alanlarını tanımladığı için Remaining WorkCompleted Work Çevik işlemi için çalışır.

Aşağıda listelenen Power BI doğrudan Veri Al - Boş Sorgu penceresine yapıştırabilirsiniz. Daha fazla bilgi için OData sorgularını kullanan örnek raporlara genel bakış sayfasını gözden geçirebilirsiniz.

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 Processes/any(p:p/BacklogType eq 'RequirementBacklog') 
        and Processes/all(p:p/IsBugType eq false)
    )
    &$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 sorgulama

Aşağıda listelenen Power BI doğrudan Veri Al - Boş Sorgu penceresine yapıştırabilirsiniz. Daha fazla bilgi için OData sorgularını kullanan örnek raporlara genel bakış sayfasını gözden geçirebilirsiniz.

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(TestSuite/RequirementWorkItem/WorkItemId as WorkItemId, TestSuite/RequirementWorkItem/Title as WorkItemTitle)
    /groupby(
        (WorkItemId, WorkItemTitle),
        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/...girdisi, iş öğesinin önkoşullarda tartışılan gereksinim tabanlı test paketleri aracılığıyla TestSuite/RequirementWorkItem/... paketine bağlı olması gerektiğini gösterir.

Gereksinimlere bağlı hataların durumunu sorgulama

Aşağıda listelenen Power BI doğrudan Veri Al - Boş Sorgu penceresine yapıştırabilirsiniz. Daha fazla bilgi için OData sorgularını kullanan örnek raporlara genel bakış sayfasını gözden geçirebilirsiniz.

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 Processes/any(p:p/BacklogType eq 'RequirementBacklog') 
        and Processes/all(p:p/IsBugType eq false)
    )
    &$expand=Links(
        $apply=filter(
            (LinkTypeName eq 'Child' or LinkTypeName eq 'Related')
            and TargetWorkItem/WorkItemType eq 'Bug'
        )
        /groupby(
            (TargetWorkItem/State),
            aggregate($count as Count)
        )
    )&$select=WorkItemId,Title", null, [Implementation="2.0"]),
    #"Expanded Links" = Table.ExpandTableColumn(Source, "Links", {"TargetWorkItem", "Count"}, {"Links.TargetWorkItem", "Links.Count"}),
    #"Expanded Links.TargetWorkItem" = Table.ExpandRecordColumn(#"Expanded Links", "Links.TargetWorkItem", {"State"}, {"Links.TargetWorkItem.State"}),
    #"Filtered Rows" = Table.SelectRows(#"Expanded Links.TargetWorkItem", each [Links.Count] <> null and [Links.Count] <> ""),
    #"Pivoted Column" = Table.Pivot(#"Filtered Rows", List.Distinct(#"Filtered Rows"[Links.TargetWorkItem.State]), "Links.TargetWorkItem.State", "Links.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ğerleriyle değiştirilmeniz gereken aşağıdaki dizeleri içerir. Değiştirmenize köşeli {} ayraçlar dahil etme. Örneğin, kuruluş adınız "Fabrikam" ise {organization} öğesini {Fabrikam}yerine Fabrikam ile değiştirin.

  • {organization} - Kuruluş adınız
  • {project} - Çapraz proje sorgusu için takım projenizin adı veya "/{project}" öğesini tamamen atla
  • {yinelemeSK} - İlgilenen yineleme yolunun Yineleme SK'sı
  • {areaSK} - ilgilendiğiniz alan yolunun alan SK'sı.

Sorgu dökümü

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

Sorgu bölümü

Açıklama

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

İş öğelerini, ilişkili en az bir işlem için 'gereksinimler' kategorisinde yer amayacak şekilde filtrele.

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

Gereksinimleri alırken hata türü iş öğelerini atlar. Temel işlem şablonunda, Sorun iş öğeleri de hata türündedir, bu nedenle Temel işlem için bu yan tümceyi sorgudan kaldırın.

Power BI dönüştürmeleri

Sorgulara uygulanan Power BI zaten sorgu kod parçacıklarına eklenmiş.

Raporu oluşturma

Power BI raporlayabilirsiniz alanları gösterir.

Not

Aşağıdaki örnekte, hiçbir sütunun yeniden adlandırılamay olduğu varsayıldı.

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

Raporunuz aşağıdaki görüntüye benzer görünmelidir.

Örnek gereksinimler izleme raporu