Bagikan melalui


Laporan sampel pengujian yang gagal

Layanan Azure DevOps | Azure DevOps Server 2022 | Azure DevOps Server 2020

Anda dapat membuat laporan yang mencantumkan pengujian yang gagal, mirip dengan gambar berikut, untuk eksekusi alur yang menyertakan tugas pengujian. Untuk informasi tentang menambahkan pengujian ke alur, lihat bagian Menguji sumber daya tugas nanti di artikel ini.

Cuplikan layar laporan Tabel Pengujian Gagal.

Gunakan kueri yang disediakan dalam artikel ini untuk menghasilkan laporan berikut:

  • Pengujian gagal untuk alur kerja build
  • Pengujian gagal untuk alur kerja rilis
  • Pengujian yang gagal untuk cabang tertentu
  • Pengujian yang gagal untuk file pengujian tertentu
  • Pengujian yang gagal untuk pemilik pengujian tertentu

Penting

Integrasi dan akses Power BI ke umpan OData Dari Layanan Analitik umumnya tersedia untuk Azure DevOps Services dan Azure DevOps Server 2020 dan versi yang lebih baru. Kueri sampel yang disediakan dalam artikel ini hanya valid terhadap Azure DevOps Server 2020 dan versi yang lebih baru, dan bergantung pada pratinjau v3.0 atau versi yang lebih baru. Kami mendorong Anda untuk menggunakan kueri ini dan memberi kami umpan balik.

Prasyarat

  • Akses: Menjadi anggota proyek dengan setidaknya akses Dasar .
  • Izin: Secara default, anggota proyek memiliki izin untuk mengkueri Analitik dan membuat tampilan.
  • Untuk informasi selengkapnya tentang prasyarat lain mengenai pengaktifan layanan dan fitur serta aktivitas pelacakan data umum, lihat Izin dan prasyarat untuk mengakses Analitik.

Catatan

Artikel ini mengasumsikan Anda membaca Gambaran Umum Laporan Sampel menggunakan Kueri OData dan memiliki pemahaman dasar tentang Power BI.

Contoh kueri

Anda dapat menggunakan kueri berikut dari TestResultsDaily kumpulan entitas untuk membuat laporan pengujian yang berbeda tetapi alur serupa gagal. TestResultsDaily Kumpulan entitas menyediakan agregat rekam jepret harian TestResult eksekusi, yang dikelompokkan menurut Uji.

Catatan

Untuk menentukan properti yang tersedia untuk tujuan filter atau laporan, lihat Referensi metadata untuk Analitik Paket Pengujian dan referensi Metadata untuk Azure Pipelines. Anda dapat memfilter kueri atau mengembalikan properti menggunakan salah satu nilai di Property bawah nilai atau NavigationPropertyBinding Path yang EntityType tersedia dengan EntitySet. Masing-masing EntitySet sesuai dengan EntityType. Untuk informasi selengkapnya tentang jenis data dari setiap nilai, tinjau metadata yang disediakan untuk yang sesuai EntityType.

Pengujian yang gagal untuk alur kerja Build

Gunakan kueri berikut untuk melihat pengujian yang gagal untuk alur kerja Build .

Salin dan tempel kueri Power BI berikut ini langsung ke jendela Dapatkan Kueri Kosong Data>. Untuk informasi selengkapnya, lihat Gambaran umum laporan sampel menggunakan kueri OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"And Date/Date ge {startdate} "
        &"And Workflow eq 'Build' "
        &") "
            &"/groupby( "
                &"(TestSK, Test/TestName), "
                &"aggregate( "
            &"ResultCount with sum as TotalCount, "
                &"ResultPassCount with sum as PassedCount, "
            &"ResultFailCount with sum as FailedCount, "
        &"ResultNotExecutedCount with sum as NotExecutedCount, "
    &"ResultNotImpactedCount with sum as NotImpactedCount, "
    &"ResultFlakyCount with sum as FlakyCount)) "
    &"/filter(FailedCount gt 0) "
    &"/compute( "
    &"iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Pengujian gagal untuk alur kerja Rilis

Gunakan kueri berikut untuk melihat pengujian yang gagal untuk alur kerja Rilis .

Salin dan tempel kueri Power BI berikut ini langsung ke jendela Dapatkan Kueri Kosong Data>. Untuk informasi selengkapnya, lihat Gambaran umum laporan sampel menggunakan kueri OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"And Date/Date ge {startdate}) "
        &"/groupby((TestSK, Test/TestName, Workflow), "
        &"aggregate( "
            &"ResultCount with sum as TotalCount, "
                &"ResultPassCount with sum as PassedCount, "
                &"ResultFailCount with sum as FailedCount, "
            &"ResultNotExecutedCount with sum as NotExecutedCount, "
                &"ResultNotImpactedCount with sum as NotImpactedCount, "
            &"ResultFlakyCount with sum as FlakyCount)) "
        &"/filter(FailedCount gt 0) "
    &"/compute( "
    &"iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Pengujian gagal difilter menurut Cabang

Untuk melihat pengujian alur yang gagal untuk cabang tertentu, gunakan kueri berikut. Untuk membuat laporan, lakukan langkah-langkah tambahan berikut bersama dengan apa yang ditentukan nanti dalam artikel ini.

  • Perluas Branch ke Branch.BranchName
  • Pilih Pemotong Visualisasi Power BI dan tambahkan bidang Branch.BranchName ke Bidang pemotong
  • Pilih nama cabang dari pemotong yang perlu Anda lihat ringkasan hasilnya.

Untuk informasi selengkapnya tentang menggunakan pemotong, lihat Pemotong di Power BI.

Salin dan tempel kueri Power BI berikut ini langsung ke jendela Dapatkan Kueri Kosong Data>. Untuk informasi selengkapnya, lihat Gambaran umum laporan sampel menggunakan kueri OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"And Date/Date ge {startdate} "
        &"And Workflow eq 'Build') "
        &"/groupby((TestSK, Test/TestName, Branch/BranchName), "
            &"aggregate( "
                &"ResultCount with sum as TotalCount, "
                &"ResultPassCount with sum as PassedCount, "
            &"ResultFailCount with sum as FailedCount, "
                &"ResultNotExecutedCount with sum as NotExecutedCount, "
            &"ResultNotImpactedCount with sum as NotImpactedCount, "
        &"ResultFlakyCount with sum as FlakyCount)) "
    &"/filter(FailedCount gt 0) "
    &"/compute( "
    &"iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Pengujian yang gagal difilter menurut file pengujian

Untuk melihat pengujian yang gagal untuk alur dan file pengujian tertentu, gunakan kueri berikut. Untuk membuat laporan, lakukan langkah tambahan berikut bersama dengan apa yang didefinisikan nanti dalam artikel ini.

  • Perluas Test ke Test.ContainerName
  • Pilih Pemotong Visualisasi Power BI dan tambahkan bidang Test.ContainerName ke Bidang pemotong
  • Pilih nama kontainer dari pemotong yang perlu Anda lihat ringkasan hasilnya.

Salin dan tempel kueri Power BI berikut ini langsung ke jendela Dapatkan Kueri Kosong Data>. Untuk informasi selengkapnya, lihat Gambaran umum laporan sampel menggunakan kueri OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"And Date/Date ge {startdate}) "
        &"/groupby((TestSK, Test/TestName, Test/ContainerName), "
        &"aggregate( "
            &"ResultCount with sum as TotalCount, "
                &"ResultPassCount with sum as PassedCount, "
                &"ResultFailCount with sum as FailedCount, "
            &"ResultNotExecutedCount with sum as NotExecutedCount, "
                &"ResultNotImpactedCount with sum as NotImpactedCount, "
            &"ResultFlakyCount with sum as FlakyCount)) "
        &"/filter(FailedCount gt 0) "
    &"/compute( "
    &"iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Pengujian yang gagal difilter oleh pemilik pengujian

Untuk melihat pengujian Gagal untuk alur untuk pengujian yang dimiliki oleh pemilik pengujian tertentu, gunakan kueri berikut. Untuk membuat laporan, lakukan langkah tambahan berikut bersama dengan apa yang didefinisikan nanti dalam artikel ini.

  • Perluas Test ke Test.TestOwner
  • Pilih Pemotong Visualisasi Power BI dan tambahkan bidang Test.TestOwner ke Bidang pemotong
  • Pilih pemilik pengujian dari pemotong tempat Anda perlu melihat ringkasan hasilnya.

Salin dan tempel kueri Power BI berikut ini langsung ke jendela Dapatkan Kueri Kosong Data>. Untuk informasi selengkapnya, lihat Gambaran umum laporan sampel menggunakan kueri OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"And Date/Date ge {startdate}) "
        &"/groupby((TestSK, Test/TestName, Test/TestOwner), "
        &"aggregate( "
            &"ResultCount with sum as TotalCount, "
                &"ResultPassCount with sum as PassedCount, "
                &"ResultFailCount with sum as FailedCount, "
            &"ResultNotExecutedCount with sum as NotExecutedCount, "
                &"ResultNotImpactedCount with sum as NotImpactedCount, "
            &"ResultFlakyCount with sum as FlakyCount)) "
        &"/filter(FailedCount gt 0) "
    &"/compute( "
    &"iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

String substitusi dan perincian kueri

Ganti string berikut dengan nilai Anda. Jangan sertakan {} tanda kurung dengan pengganti Anda. Misalnya jika nama organisasi Anda adalah "Fabrikam", ganti {organization} dengan Fabrikam, bukan {Fabrikam}.

  • {organization} - Nama organisasi Anda
  • {project} - Nama proyek tim Anda
  • {pipelinename} - Nama alur Anda. Contoh: Fabrikam hourly build pipeline
  • {startdate} - Tanggal untuk memulai laporan Anda. Format: YYYY-MM-DDZ. Contoh: 2021-09-01Z mewakili 1 September 2021. Jangan sertakan dalam tanda kutip atau tanda kurung siku dan gunakan dua digit untuk, bulan dan tanggal.

Perincian kueri

Tabel berikut ini menjelaskan setiap bagian kueri.

Bagian kueri

Keterangan


$apply=filter(

Mulai filter() klausa.

Pipeline/PipelineName eq '{pipelineName}'

Mengembalikan eksekusi pengujian untuk alur yang ditentukan.

and CompletedOn/Date ge {startdate}

Mengembalikan eksekusi pengujian pada atau setelah tanggal yang ditentukan.

and Workflow eq 'Build'

Mengembalikan eksekusi pengujian untuk Build alur kerja.

)

Tutup filter() klausa.

/groupby(

Mulai groupby() klausa.

(TestSK, Test/TestName),

Kelompokkan menurut Nama pengujian

aggregate(

Mulai aggregate klausa untuk menjumlahkan eksekusi pengujian yang cocok dengan kriteria filter.

ResultCount with sum as TotalCount,

Hitung jumlah total eksekusi pengujian sebagai TotalCount.

ResultPassCount with sum as PassedCount,

Hitung jumlah total eksekusi pengujian yang lulus sebagai PassedCount.

ResultFailCount with sum as FailedCount,

Hitung jumlah total eksekusi pengujian yang gagal sebagai FailedCount.

ResultNotExecutedCount with sum as NotExecutedCount

Hitung jumlah total eksekusi pengujian yang tidak dijalankan sebagai NotExecutedCount.

ResultNotImpactedCount with sum as NotImpactedCount,

Hitung jumlah total eksekusi pengujian yang tidak terpengaruh sebagai NotImpactedCount.

ResultFlakyCount with sum as FlakyCount

Hitung jumlah total eksekusi pengujian flaky sebagai FlakyCount.

))

Tutup aggregate() dan groupby() klausa.

/compute(

Mulai compute() klausa.

iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate

Untuk semua pengujian, hitung PassRate.

)

Tutup compute() klausa.

(Opsional) Mengganti nama kueri

Anda bisa mengganti nama label kueri default, Query1, menjadi sesuatu yang lebih bermakna. Cukup masukkan nama baru dari panel Pengaturan Kueri.

Cuplikan layar opsi menu kueri Power BI, ganti nama kueri.

Memperluas kolom Uji di Power BI

Test Perluas kolom untuk memperlihatkan entitas Test.TestNameyang diperluas . Memperluas kolom meratakan rekaman ke dalam bidang tertentu. Untuk mempelajari caranya, lihat Mengubah data Analitik untuk menghasilkan laporan Power BI, Memperluas kolom.

Mengubah tipe data kolom

  1. Dari Editor Power Query, pilih TotalCountkolom , , FailedCountPassedCount, NotExecutedCount, NotImpactedCount, dan FlakyCount ; pilih Jenis Data dari menu Transformasi; lalu pilih Seluruh Nomor.

  2. PassRate Pilih kolom; pilih Jenis Data dari menu Transformasi; lalu pilih Nomor Desimal.

Untuk informasi selengkapnya tentang mengubah jenis data, lihat Mengubah data Analitik untuk menghasilkan laporan Power BI, Mengubah jenis data kolom.

Tutup kueri dan terapkan perubahan Anda

Setelah Anda menyelesaikan semua transformasi data, pilih Tutup & Terapkan dari menu Beranda untuk menyimpan kueri dan kembali ke tab Laporan di Power BI.

Cuplikan layar opsi Editor Power Query Tutup dan Terapkan.

Membuat laporan Tabel

  1. Di Power BI, di bawah Visualisasi, pilih Tabel dan seret dan letakkan bidang ke area Kolom .

    Cuplikan layar pilihan bidang visualisasi untuk laporan tabel pengujian gagal.

  2. Tambahkan bidang berikut ke bagian Kolom dalam urutan yang tercantum.

    • Test.TestName
    • TotalCount
    • PassedCount
    • FailedCount
    • NotImpactedCount
    • NotExecutedCount
    • FlakyCount
    • PassRate

Laporan Anda akan terlihat mirip dengan gambar berikut.

Cuplikan layar sampel laporan Tabel Pengujian Gagal.

Menguji sumber daya tugas