Menyederhanakan Integrasi

Table of Contents

Menyederhanakan Integrasi

Menyederhanakan Integrasi

Menyederhanakan Integrasi

Unit pengujian dapat mengurangi ketidakpastian dalam unit sendiri dan dapat digunakan dalam pendekatan gaya bottom-up pengujian. Dengan menguji bagian dari sebuah program pertama dan kemudian menguji jumlah bagian-bagiannya, pengujian integrasi menjadi lebih mudah. Hirarki yang rumit unit test tidak pengujian integrasi sama. Integrasi dengan unit perangkat harus dimasukkan dalam tes integrasi, tapi tidak dalam unit test Integrasi pengujian biasanya masih sangat bergantung pada manusia pengujian manual;. Pengujian tingkat tinggi atau global-scope bisa sulit untuk mengotomatisasi, sehingga pengujian manual sering muncul lebih cepat dan lebih murah.

2.4 Dokumentasi

Unit pengujian menyediakan semacam dokumentasi hidup dari sistem. Pengembang yang ingin belajar apa fungsi disediakan oleh unit dan bagaimana menggunakannya dapat melihat unit test untuk mendapatkan pemahaman dasar API unit. Satuan kasus uji mewujudkan karakteristik yang sangat penting untuk keberhasilan unit. Karakteristik ini dapat menunjukkan penggunaan yang tepat / tidak tepat unit serta perilaku negatif yang akan terjebak oleh unit. Sebuah kasus uji unit, dalam dan dari dirinya sendiri, mendokumentasikan karakteristik kritis, meskipun lingkungan pengembangan perangkat lunak yang tidak hanya mengandalkan kode untuk mendokumentasikan produk dalam pembangunan. Sebaliknya, dokumentasi naratif biasa lebih rentan terhadap melayang dari pelaksanaan program dan dengan demikian akan menjadi usang (misalnya, perubahan desain, terobosan fitur, praktek santai dalam menjaga dokumen up-to-date).

2.5 Disain

Ketika perangkat lunak dikembangkan dengan menggunakan pendekatan uji-driven, tes unit bisa menggantikan desain formal. Setiap unit test dapat dilihat sebagai elemen desain menentukan kelas, metode, dan perilaku yang dapat diamati. Contoh Jawa berikut akan membantu menggambarkan hal ini. Berikut ini adalah kelas tes yang menentukan sejumlah elemen pelaksanaan. Pertama, bahwa harus ada sebuah antarmuka yang disebut Adder, dan kelas yang mengimplementasikan dengan konstruktor nol-argumen disebut AdderImpl. Ini melanjutkan dengan menegaskan bahwa antarmuka Adder harus memiliki metode yang disebut menambahkan, dengan dua parameter bilangan bulat, yang mengembalikan bilangan bulat lain. Hal ini juga menentukan perilaku dari metode ini untuk berbagai nilai-nilai kecil.

public class TestAdder {
public void testSum() {
Adder adder = new AdderImpl();
// can it add positive numbers?
assert(adder.add(1, 1) == 2);
assert(adder.add(1, 2) == 3);
assert(adder.add(2, 2) == 4);
// is zero neutral?
assert(adder.add(0, 0) == 0);
// can it add negative numbers?
assert(adder.add(-1, -2) == -3);
// can it add a positive and a negative?
assert(adder.add(-1, 1) == 0);
// how about larger numbers?
assert(adder.add(1234, 988) == 2222);
}
}

Dalam hal ini tes unit, yang telah tertulis pertama, bertindak sebagai dokumen desain menentukan bentuk dan perilaku solusi yang diinginkan, tetapi tidak rincian pelaksanaan, yang tersisa untuk programmer. Setelah praktek “melakukan hal sederhana yang mungkin bisa bekerja”, solusi yang paling mudah yang akan membuat lulus tes ditampilkan di bawah.

interface Adder {
int add(int a, int b);
}
class AdderImpl implements Adder {
int add(int a, int b) {
return a + b;
}
}

Tidak seperti diagram berbasis metode desain, menggunakan unit-test sebagai sebuah desain memiliki satu keuntungan yang signifikan. Dokumen desain (unit-tes itu sendiri) dapat digunakan untuk memverifikasi bahwa pelaksanaannya menganut desain. Dengan metode desain unit-test, tes tidak akan lulus jika pengembang tidak mengimplementasikan solusi sesuai dengan desain.

Memang benar bahwa unit testing tidak memiliki beberapa aksesibilitas diagram, tetapi UML diagram sekarang mudah dihasilkan untuk sebagian besar bahasa modern dengan alat gratis (biasanya tersedia sebagai ekstensi untuk IDE). Alat gratis, seperti yang didasarkan pada kerangka xUnit, outsourcing ke sistem rendering grafis dari pandangan untuk konsumsi manusia.

Baca Juga :