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.

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:
- Modelleme sekmesinden İlişkileri Yönet öğesini seçin ve üç sorgu sonucunu WorkItemId sütunuyla ilişkilendirin.
- Power BI görselleştirme tablosuoluşturun.
- ilgilendiğiniz sütunları üç Power BI sorgudan ekleyin.
- Başarılı testler gibi ek sütunlar için Sum olarak Sum ' ı seçin.

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