

Amazon CodeCatalyst tidak lagi terbuka untuk pelanggan baru. Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Lihat informasi yang lebih lengkap di [Cara bermigrasi dari CodeCatalyst](migration.md).

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Pengujian dengan alur kerja
<a name="test-workflow-actions"></a>

Di CodeCatalyst, Anda dapat menjalankan pengujian sebagai bagian dari tindakan alur kerja yang berbeda, seperti build dan test. Tindakan alur kerja ini semuanya dapat menghasilkan laporan berkualitas. *Tindakan uji adalah tindakan* alur kerja yang menghasilkan pengujian, cakupan kode, analisis komposisi perangkat lunak, dan laporan analisis statis. Laporan ini ditampilkan di CodeCatalyst konsol.

**Topics**
+ [Jenis laporan kualitas](#test-reporting)
+ [Menambahkan tindakan pengujian](test-add-action.md)
+ [Melihat hasil tindakan uji](test-view-results.md)
+ [Melewatkan tes yang gagal dalam suatu tindakan](test.error-handling.md)
+ [Mengintegrasikan dengan universal-test-runner](test.universal-test-runner.md)
+ [Mengkonfigurasi laporan kualitas dalam suatu tindakan](test-config-action.md)
+ [Praktik terbaik untuk pengujian](test-best-practices.md)
+ [Properti SARIF yang didukung](test.sarif.md)

## Jenis laporan kualitas
<a name="test-reporting"></a>

Tindakan CodeCatalyst pengujian Amazon mendukung jenis laporan kualitas berikut. Untuk contoh tentang cara memformat laporan ini di YAMAL Anda, lihat[Contoh laporan kualitas YAMAL](test-config-action.md#test.success-criteria-example).

**Topics**
+ [Laporan pengujian](#test-reports)
+ [Laporan cakupan kode](#test-code-coverage-reports)
+ [Laporan analisis komposisi perangkat lunak](#test-sca-reports)
+ [Laporan analisis statis](#test-static-analysis-reports)

### Laporan pengujian
<a name="test-reports"></a>

Di CodeCatalyst, Anda dapat mengonfigurasi pengujian unit, pengujian integrasi, dan pengujian sistem yang berjalan selama build. Kemudian CodeCatalyst dapat membuat laporan yang berisi hasil tes Anda.

Anda dapat menggunakan laporan pengujian untuk membantu memecahkan masalah dengan pengujian Anda. Jika memiliki banyak laporan pengujian dari beberapa build, Anda dapat menggunakan laporan pengujian untuk melihat tingkat kegagalan guna membantu mengoptimalkan build.

Anda dapat menggunakan format file laporan pengujian berikut:
+ Mentimun JSON (.json)
+ JUnit XML (.xml)
+ NUnit XML (.xml)
+ NUnit3 XML (.xml.xml)
+ TestNG XML (.xml)
+ Studio Visual TRX (.trx, .xml)

### Laporan cakupan kode
<a name="test-code-coverage-reports"></a>

Di CodeCatalyst, Anda dapat membuat laporan cakupan kode untuk pengujian Anda. CodeCatalyst menyediakan metrik cakupan kode berikut:

Cakupan baris  
Mengukur berapa banyak pernyataan yang dicakup tes Anda. Pernyataan adalah instruksi tunggal, tidak termasuk komentar.  
`line coverage = (total lines covered)/(total number of lines)`

Cakupan cabang  
Mengukur berapa banyak cabang yang dicakup pengujian Anda dari setiap cabang yang mungkin dari struktur kontrol seperti `case` pernyataan `if` atau pernyataan.  
`branch coverage = (total branches covered)/(total number of branches)`

Berikut format file laporan cakupan kode yang didukung:
+ JaCoCo XML (.xml)
+ SimpleCov JSON (dihasilkan oleh [simplecov, bukan [simplecov-json](https://github.com/vicentllongo/simplecov-json)](https://github.com/simplecov-ruby/simplecov), .json)
+ XHTML semanggi (versi 3, .xml.)
+ XML (.xml)
+ LCOV (.info)

### Laporan analisis komposisi perangkat lunak
<a name="test-sca-reports"></a>

Di CodeCatalyst, Anda dapat menggunakan alat analisis komposisi perangkat lunak (SCA) untuk menganalisis komponen aplikasi Anda dan memeriksa kerentanan keamanan yang diketahui. Anda dapat menemukan dan mengurai laporan SARIF yang merinci kerentanan dengan berbagai tingkat keparahan dan cara untuk memperbaikinya. Nilai keparahan yang valid, dari yang paling parah hingga yang paling parah, adalah:`CRITICAL`,`HIGH`,`MEDIUM`,,`LOW`,`INFORMATIONAL`.

Format file laporan SCA berikut didukung:
+ SARIF (.sarif, .json)

### Laporan analisis statis
<a name="test-static-analysis-reports"></a>

Anda dapat menggunakan laporan analisis statis (SA) untuk mengidentifikasi cacat kode tingkat sumber. Di CodeCatalyst, Anda dapat membuat laporan SA untuk membantu menyelesaikan masalah dalam kode Anda sebelum Anda menerapkannya. Masalah ini termasuk bug, kerentanan keamanan, masalah kualitas, dan kerentanan lainnya. Nilai keparahan yang valid, dari yang paling parah hingga yang paling parah, adalah: `CRITICAL``HIGH`,`MEDIUM`,`LOW`,, dan`INFORMATIONAL`.

CodeCatalyst menyediakan metrik SA berikut:

Bug  
Mengidentifikasi sejumlah kemungkinan bug yang ditemukan dalam kode sumber Anda. Bug ini dapat mencakup masalah terkait keamanan memori. Berikut ini adalah contoh bug.  

```
// The while loop will inadvertently index into array x out-of-bounds
int x[64];
while (int n = 0; n <= 64; n++) {
  x[n] = 0;
}
```

Kerentanan keamanan  
Mengidentifikasi sejumlah kemungkinan kerentanan keamanan yang ditemukan dalam kode sumber Anda. Kerentanan keamanan ini dapat mencakup masalah seperti menyimpan token rahasia Anda dalam teks biasa.

Masalah kualitas  
Mengidentifikasi sejumlah kemungkinan masalah kualitas yang ditemukan dalam kode sumber Anda. Masalah kualitas ini dapat mencakup masalah mengenai konvensi gaya. Berikut ini adalah contoh masalah kualitas.  

```
// The function name doesn't adhere to the style convention of camelCase
int SUBTRACT(int x, int y) {
  return x-y
}
```

Kerentanan lainnya  
Mengidentifikasi sejumlah kemungkinan kerentanan lain yang ditemukan dalam kode sumber Anda.

CodeCatalyst mendukung format file laporan SA berikut:
+ PyLint (.py)
+ ESLint (.js, .jsx, .ts, .tsx)
+ SARIF (.sarif, .json)