Ekstrim Pemrograman

Ekstrim Pemrograman

Table of Contents

Ekstrim Pemrograman

Ekstrim Pemrograman
Ekstrim Pemrograman

Unit pengujian adalah dasar dari pemrograman ekstrim, yang bergantung pada kerangka unit testing otomatis. Kerangka unit otomatis pengujian dapat berupa pihak ketiga, misalnya, xUnit, atau dibuat dalam kelompok pengembangan.

Pemrograman ekstrim menggunakan penciptaan unit test untuk test-driven. Pengembang menulis tes unit yang mengekspos baik persyaratan perangkat lunak atau cacat. Tes ini akan gagal karena baik persyaratan belum diimplementasikan, atau karena sengaja mengekspos cacat dalam kode yang ada. Kemudian, pengembang menulis kode sederhana untuk membuat tes, bersama dengan tes lainnya, lulus.

Kode yang paling dalam suatu sistem satuan diuji, tetapi belum tentu semua jalan melalui kode. Ekstrim pemrograman mandat “uji segala sesuatu yang mungkin dapat mematahkan” strategi, atas “menguji setiap jalur eksekusi” tradisional metode. Hal ini menyebabkan pengembang untuk mengembangkan tes yang lebih sedikit daripada metode klasik, tapi ini bukan masalah, lebih merupakan penyajian kembali fakta, sebagai metode klasik jarang pernah diikuti metodis cukup untuk semua path eksekusi telah diuji secara menyeluruh. [Rujukan?] pemrograman ekstrim hanya mengakui bahwa tes ini jarang lengkap (karena sering terlalu mahal dan memakan waktu layak secara ekonomi) dan menyediakan panduan tentang cara efektif memfokuskan sumber daya terbatas.

Krusial, kode tes dianggap sebagai proyek artefak kelas satu dalam hal itu dipertahankan pada kualitas yang sama seperti kode implementasi, dengan semua duplikasi dihapus. Pengembang merilis kode unit pengujian untuk repositori kode dalam hubungannya dengan kode itu tes. Unit testing menyeluruh pemrograman ekstrim ini memungkinkan manfaat yang disebutkan di atas, seperti pengembangan kode sederhana dan lebih percaya diri dan refactoring, integrasi kode disederhanakan, dokumentasi yang akurat, dan desain modular lebih. Tes ini satuan juga terus berjalan sebagai bentuk uji regresi.

Unit pengujian juga penting untuk konsep Desain Muncul. Sebagai Desain Muncul sangat tergantung pada Refactoring, unit test adalah komponen integral [6].

6.2 Teknik

Unit pengujian umumnya otomatis, tetapi masih mungkin dilakukan secara manual. IEEE tidak mendukung salah satu dari yang lain. [7] Pendekatan manual untuk unit testing dapat mempekerjakan dokumen langkah-demi-langkah instruksional. Namun demikian, tujuan dalam unit testing adalah untuk mengisolasi unit dan memvalidasi kebenaran nya. Otomasi adalah efisien untuk mencapai hal ini, dan memungkinkan banyak manfaat yang tercantum dalam artikel ini. Sebaliknya, jika tidak direncanakan dengan hati-hati, unit panduan ujian ceroboh dapat mengeksekusi sebagai kasus uji integrasi yang melibatkan banyak komponen perangkat lunak, dan dengan demikian menghalangi pencapaian kebanyakan jika tidak semua tujuan yang ditetapkan untuk unit testing.

Untuk sepenuhnya menyadari efek isolasi sementara dengan menggunakan pendekatan otomatis, unit atau badan yang diuji kode dijalankan dalam kerangka luar lingkungan alamnya. Dengan kata lain, dieksekusi di luar produk atau konteks menyerukan yang awalnya dibuat. Pengujian sedemikian secara terisolasi mengungkapkan dependensi yang tidak perlu antara kode yang diuji dan unit lain atau ruang data dalam produk. Dependensi ini kemudian dapat dihilangkan.

Menggunakan framework otomatisasi, kode pengembang kriteria ke dalam tes untuk memverifikasi kebenaran unit. Selama pelaksanaan uji kasus, kerangka log tes yang gagal kriteria apapun. Kerangka Banyak juga akan secara otomatis bendera uji kasus gagal dan melaporkannya dalam ringkasan. Tergantung pada tingkat keparahan kegagalan, kerangka kerja ini dapat menghentikan pengujian berikutnya.

Akibatnya, unit testing secara tradisional motivator bagi programmer untuk membuat tubuh kode dipisahkan dan kohesif. Praktek ini mendorong kebiasaan sehat dalam pengembangan perangkat lunak. Desain pola, unit testing, dan refactoring sering bekerja bersama sehingga solusi terbaik mungkin muncul.

6.3 AUnit Pengujian Kerangka

Satuan kerangka pengujian yang paling sering Produk pihak ketiga yang tidak didistribusikan sebagai bagian dari suite compiler. Mereka membantu menyederhanakan proses pengujian unit, yang telah dikembangkan untuk berbagai macam bahasa. Contoh kerangka pengujian meliputi solusi open source seperti kode berbasis kerangka kerja berbagai pengujian dikenal secara kolektif sebagai xUnit, dan solusi proprietary / komersial seperti TBrun, JustMock, Isolator.NET, Isolator + +, Testwell CTA + + dan VectorCAST / C + +.

Hal ini umumnya mungkin untuk melakukan unit testing tanpa dukungan kerangka tertentu dengan menulis kode klien yang melatih unit yang diuji dan menggunakan pernyataan, pengecualian penanganan, atau mekanisme kontrol lainnya mengalir ke sinyal kegagalan. Unit pengujian tanpa kerangka kerja berharga dalam bahwa ada hambatan masuk untuk adopsi pengujian unit; memiliki unit test sedikit hampir tidak lebih baik daripada memiliki tidak sama sekali, sedangkan sekali kerangka di tempat, menambahkan unit test menjadi relatif mudah. [8] Dalam beberapa framework fitur canggih satuan banyak tes yang hilang atau harus tangan-kode.
Bahasa tingkat unit pengujian dukungan

Beberapa bahasa pemrograman langsung mendukung unit testing. Tata bahasa mereka memungkinkan deklarasi langsung dari unit test tanpa mengimpor perpustakaan (baik pihak ketiga atau standar). Selain itu, kondisi boolean unit test dapat dinyatakan dalam sintaks yang sama sebagai ekspresi boolean digunakan dalam non-unit kode tes, seperti apa yang digunakan untuk laporan jika dan sementara.

Sumber : https://freemattandgrace.com/