Bagikan melalui


Laporan sampel pengujian Flaky

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

Anda dapat membuat laporan, seperti yang ditunjukkan pada gambar berikut, yang mencantumkan pengujian flaky yang terjadi dalam eksekusi alur yang menyertakan tugas pengujian. Pengujian berlemak 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 berlemak, lihat Mengelola pengujian berlemak. Untuk informasi tentang menambahkan pengujian ke alur, lihat bagian Menguji sumber daya tugas nanti di artikel ini.

Cuplikan layar laporan Tabel Pengujian Flaky.

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

  • Pengujian flaky untuk alur kerja build
  • Pengujian flaky untuk alur kerja rilis
  • Tes flaky untuk cabang tertentu
  • Pengujian flaky untuk file pengujian tertentu
  • Tes flaky untuk pemilik tes 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

  • Tingkat akses: Anda harus menjadi anggota proyek dengan akses Dasar atau yang lebih tinggi.
  • 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 telah 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 flaky alur yang berbeda tetapi serupa. Kumpulan TestResultsDaily entitas menyediakan agregat rekam jepret harian TestResult eksekusi, yang dikelompokkan menurut pengujian.

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 flaky untuk alur kerja Build

Gunakan kueri berikut untuk melihat pengujian flaky untuk alur kerja Build .

Anda bisa menempelkan kueri Power BI yang tercantum di bawah ini langsung ke jendela Dapatkan Kueri Kosong Data>. Untuk informasi selengkapnya, tinjau 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

Pengujian flaky untuk alur kerja Rilis

Gunakan kueri berikut untuk melihat pengujian berlemak untuk alur kerja Rilis .

Anda bisa menempelkan kueri Power BI yang tercantum di bawah ini langsung ke jendela Dapatkan Kueri Kosong Data>. Untuk informasi selengkapnya, tinjau 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 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.

Anda bisa menempelkan kueri Power BI yang tercantum di bawah ini langsung ke jendela Dapatkan Kueri Kosong Data>. Untuk informasi selengkapnya, tinjau 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 flaky difilter 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 Pemotong Visualisasi Power BI dan tambahkan bidang Test.ContainerName ke Bidang pemotong
  • Pilih nama kontainer dari pemotong yang perlu Anda lihat ringkasan hasilnya.

Anda bisa menempelkan kueri Power BI yang tercantum di bawah ini langsung ke jendela Dapatkan Kueri Kosong Data>. Untuk informasi selengkapnya, tinjau 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(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 oleh pemilik pengujian

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 pemotong tempat Anda perlu melihat ringkasan hasilnya.

Anda bisa menempelkan kueri Power BI yang tercantum di bawah ini langsung ke jendela Dapatkan Kueri Kosong Data>. Untuk informasi selengkapnya, tinjau 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(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 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 menghitung 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.

/filter(FlakyCount gt 0)

Filter hanya tes yang kelemahan setidaknya sekali.

/compute(

Mulai compute() klausa.

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

Untuk semua tes terkeluar, 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 TotalCountkolom , , FailedCountPassedCount, NotExecutedCount, NotImpactedCount, dan FlakyCount ; pilih Jenis Data dari menu Transformasi; lalu pilih Seluruh Nomor.

  2. FlakyRate 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 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