Bagikan melalui


Laporan sampel pengujian yang tidak konsisten

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

Anda dapat membuat laporan, seperti yang ditunjukkan pada gambar berikut, yang mencantumkan uji flaky yang terjadi dalam pelaksanaan jalur yang menyertakan tugas pengujian. Pengujian tidak konsisten adalah pengujian yang memberikan hasil yang berbeda, seperti lulus atau gagal, bahkan ketika tidak ada perubahan dalam kode sumber atau lingkungan eksekusi. Untuk informasi selengkapnya tentang mengaktifkan pengujian flaky, lihat Mengelola Pengujian Flaky. Untuk informasi tentang menambahkan pengujian ke jalur pipa, lihat bagian sumber daya tugas pengujian nanti di artikel ini.

Cuplikan layar laporan Tabel Pengujian Flaky.

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

  • Pengujian tidak stabil untuk alur kerja build
  • Pengujian tidak konsisten untuk proses rilis
  • Tes tidak konsisten untuk cabang tertentu
  • Pengujian tidak konsisten untuk file pengujian tertentu
  • Tes yang tidak konsisten untuk pemilik tes tertentu.

Penting

Integrasi Power BI dan akses ke feed OData dari Layanan Analitik secara umum tersedia untuk Azure DevOps Services serta 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 v3.0-preview atau versi yang lebih baru. Kami mendorong Anda untuk menggunakan kueri ini dan memberi kami umpan balik.

Kategori Persyaratan
Tingkat-tingkat akses - Anggota proyek.
- Setidaknya akses Dasar .
Izin Secara default, anggota proyek memiliki izin untuk mengkueri Analytics 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 telah membaca Gambaran Umum Laporan Sampel menggunakan Kueri OData dan memiliki pemahaman dasar tentang Power BI.

Contoh kueri

Anda dapat menggunakan kueri berikut dari kumpulan entitas TestResultsDaily untuk membuat laporan uji flaky pipeline yang berbeda tetapi serupa. Kumpulan entitas TestResultsDaily menyediakan agregat snapshot harian dari eksekusi TestResult, yang dikelompokkan berdasarkan pengujian.

Catatan

Untuk menentukan properti yang tersedia untuk tujuan filter atau laporan, lihat Referensi metadata untuk Analitik Rencana Pengujian dan Referensi metadata untuk Azure Pipelines. Anda dapat memfilter kueri atau mengembalikan properti menggunakan nilai Property di bawah EntityType atau nilai NavigationPropertyBinding Path yang 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 tidak stabil untuk alur kerja pembangunan

Gunakan kueri berikut untuk melihat pengujian tidak stabil untuk alur kerja Build.

Salin dan tempel kueri Power BI berikut ini langsung ke jendela Dapatkan Data>Kueri Kosong. 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(FlakyCount gt 0) "
    &"/compute( "
    &"(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlaykRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Uji coba yang tidak konsisten untuk alur kerja rilis

Gunakan kueri berikut untuk melihat pengujian tidak stabil untuk alur kerja Rilis.

Salin dan tempelkan kueri Power BI berikut ini langsung ke jendela Dapatkan Data>Kueri Kosong. 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(FlakyCount gt 0) "
    &"/compute( "
    &"(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Pengujian flaky difilter berdasarkan 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 pemilah untuk melihat 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 Data>Kueri Kosong. 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(FlakyCount gt 0) "
    &"/compute( "
    &"(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Pengujian yang tidak konsisten dikelompokkan menurut file pengujian

Untuk melihat pengujian flaky 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 Visualisasi Slicer Power BI dan tambahkan bidang ke bidang pada slicer.
  • Pilih nama kontainer dari slicer yang mana Anda perlu melihat ringkasan hasilnya.

Salin dan rekatkan kueri Power BI berikut langsung ke jendela Dapatkan Data>Kueri Kosong. Untuk informasi selengkapnya, lihat Gambaran umum laporan sampel dengan 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(FlakyCount gt 0) "
    &"/compute( "
    &"(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Pengujian tidak stabil yang difilter oleh pemiliknya

Untuk melihat pengujian Flaky untuk alur dan 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 slicer tempat Anda perlu melihat ringkasan hasilnya.

Salin dan tempel kueri Power BI ini langsung ke jendela Get Data>Kueri Kosong. Untuk informasi selengkapnya, lihat Gambaran umum tentang laporan sampel dan penggunaan 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(FlakyCount gt 0) "
    &"/compute( "
    &"(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

String substitusi dan rincian 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 jalur pipa 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 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}'

Menampilkan hasil pengujian untuk alur yang ditentukan.

and CompletedOn/Date ge {startdate}

Mengembalikan eksekusi pengujian pada atau setelah tanggal yang ditentukan.

and Workflow eq 'Build'

Mengembalikan pengulangan pengujian untuk Build alur kerja.

)

Tutup filter() klausa.

/groupby(

Mulai groupby() klausa.

(TestSK, Test/TestName),

Kelompokkan menurut nama pengujian.

aggregate(

Mulai aggregate klausa untuk menghitung pengujian yang sesuai 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 yang tidak konsisten sebagai FlakyCount.

))

Tutup aggregate() dan groupby() klausa.

/filter(FlakyCount gt 0)

Saring hanya tes yang tidak stabil setidaknya sekali.

/compute(

Mulai compute() klausa.

(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate

Untuk semua tes tidak stabil, hitung FlakyRate.

)

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 kolom TotalCount, PassedCount, FailedCount, NotExecutedCount, NotImpactedCount, dan FlakyCount; pilih Tipe Data dari menu Transform; lalu pilih Angka Bulat.

  2. Pilih kolom FlakyRate; pilih Jenis Data dari Transform menu; lalu pilih Angka 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 Flaky.

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

    • Test.TestName
    • TotalCount
    • PassedCount
    • FailedCount
    • FlakyCount
    • FlakyRate

Laporan Anda akan terlihat mirip dengan gambar berikut.

Cuplikan layar sampel laporan Tabel Pengujian Flaky.

Menguji sumber daya tugas