Anda di halaman 1dari 10
Unit testing Rangkaian pengembangan perangkat lunak diawali dengan melakukan perancangan, Dalam perancangan ini ada beberapa hal yang harus dirancang tergantung kebutuhannya, Perancangan meliputi antara lain perancangan antar muka, perancangan kelas, perancanganaktivitas, perancangan basisdata dsbnya. Salah satu yang sudah Kalian pelajari adalah merancang algoritma dengan bentuk pseudocode ataupun flowchart Setelah tahap perancangandilakukan maka bisa dimulai tahap berikutnya_yaitu ‘mengimplementasikan rancangan yang telah dibuat, dalam hal ini melakukan coding dalam sebuah, bahasa yang dipilih. Saat ini kalian sedang belajar coding dengan Bahasa C# ‘Tahap berikutnya setelah coding, maka seorang programmer harus melakukan pengujian atau testing terhadap hasil coding nya. Ada 2 jenis testing tethadap perangkat lunak yaitu White Box ‘Testing dan Black Box Testing. Setelah Testing apalagi yang mesti dilakukan oleh programmer ? Masih ada 2 (dua) tahapan lagi, yakni membuat dokumentasi atas perangkat lunak yang telah dibuat dan terakhir men-deploy perangkat lunak agar bisa digunakan atau diinstalasi dimanapun, ‘Nah yang kita pelajari saat ini adalah tahapan yang ketiga, yaitu bagaimana cara melakukan testing terhadap perangkat lunak yang kita kembangkan. Dalam hal ini akan kita pelajari testing paling dasar yaitu unit testing. Tujuannya adalah untuk menguji apakah method-method yang sudah kita buat telah sesuai dengan yang diharapkan atau apakah hasil suatu method sudah benar. Unit testing adalah salah satu jenis White Box Testing, merupakan testing di level paling detail dari aplikasi. Artinya, testing di level method'function. Tes ini biasanya dilakukan oleh programmer dan bukan oleh tester, Karena membutuhkan pengetahuan yang rinei tentang desain aplikasi dan kode yang ditulis. Ada beberapa tool (alat bantu) yg bisa digunakan untuk keperluan inj tergantung dari bahasa pemrograman yang kita gunakan, Misal di NET (NUnit), Java (JUnit) dan PHP (PHPUnit). ini akan _menggunakan NUnit scbagai tool untuk melakukan us adalah framework unit testing yang digunakan untuk bahasa pemrograman NET. NUnit sendiri_ merupakan hasil portingan dari JUnit. Sebelum menggunakan NU tentunya harus kita download dan menginstallnya. Cara mendownload dan installnya cukup nudah, hanya kita harus mempunyai koucksi Intemet. Melalui Viswal Studio > Tools > Extensions and Updates... 19 et aa ie tah Peet ult Dg Tom e-o/8-o8 =| own 2° or gid Pir Sicictcn Membuat Project et ‘eet — Untuk uji coba unit testing ada dua project yang akan kita buat yaitu . Project Caleutator - Ini adalah console application target yang akan kita tes untuk setiap unitnya (fungsi/method).. . Project CaleulatorTest- Ini adalah project unit testing yang digunakan untuk mengetes project Calculator. Mem buat Project Calculator Project Calculator adalah project yang akan kita buatkan unit testingnya, project ini bertipe Console application. Nah di project ini, kita akan membuat class baru dengan nama Calculator kemudian menambahkan tiga method yaitu Tambah, Kali dan Bagi. using system; using system.collections Generic; using system.Lings Using system.Text; Using System. Theeading Tasks; namespace Calculator { public class Calculator{ public double Tambah(couble a,double b) { return a * bj } public double Kali(double a, double b) { return a * bs } public double Bagi (double a, double b) { return a / by } y Class Program ( static void Main(string[] args) { double a = double Parse(args[@]); double 6 = Double Parse (args[1]); Calculator ce = new Calculater()5 double tb = ce.Tambah(a, b)5 double Kl = cc.Kali(a, 6); double bg = cc.Bagi(a, 6); Console .WréteLine("Penjumizhan = {0}", tb); Console .Wrgtetine(*Perkalian = (0)", Kd)5 Console.WrsteLine(“Pembagian = {0}, b8)3 d r y Coba perhatikan , method Tambah sengaja dibuat salah dengan menggunakan operator kali (*), biar nanti keliatan efeknya ketika dites menggunakan NU: Setelah project Caleulator selesai kita lanjut dengan membuat project Calculator Test, Dalam program ini sengaja belum dibuat method untuk input/output, Kemudian dalam program ulama void Main dibuatkan beberapa baris instruksi yang kita gunakan untuk mengecheck jalannya program. Cara check nya, klik kanan projcet Caloulator di Solustion Paplorer kemudian pilih soportios, hasilnya seperti terlihat pada gambar berikut : ey Oe sCea|e = ser cant Caer Donovan Benmore ee re = Klik bagian Debug, kemudian Command line argument kalian isi dengan angka 4 dan 5. Nah untuk ngechecknya kalian klik menu Debug di Toolbar dan pilih Start Without Debugging, seperti gambar berikut, inne ahs : > sat Debugging 5 > sar winoutOebugsing cones Ps z 1 retour fie. Ato PUD . F ssach tees cata sep ne mn 4 oe : ore: a5 New Saigon ; ® opts (Acne rope Clem ave code bos Clemo Sx Sever deggeg Enable the Viel So Rong proces: Hasilnya ada di command com seperti berikut Mem buat Project CalculatorTest CaleutatorTest adalah project unit testing yang digunakan untuk mengetes, Caleutator Cara membuat CaleulatorTest adalah dengan anda Klik Class Calculator, kemudian Klik kanan dan pilih Create Unit Test ‘Nah kalian tinggal edit method-method didalamnya hingga menjadi seperti berikut ini Akan muneul jendela seperti berikut, kalian pilih OK saja ee Fratorten once oe (Metso using Calculator; using System; using System.collections Generics using System.Lings using system.Text; using System. Threading. Tasks; namespace Calculator. Tests [estixture()] public class Calculatortests 11 mambuat obyek baru Calculator Calculator ce = new Calculator(); [setup] public void init() { ce # new Calculator(); > [restQ] public void TambahTest() double hasi1Tb = ce.Tanbah(4, 5); Assert AneEqual(s, hasilTb); y esto] public void kaliTest() double hasilk1 = cc.kali(4, 5); Assert AreEqual (20, hasilK1); esto] public void Bagitest() double hasileg = cc.Bagi(4, 5); assert AreEqual(0.8, hasileg); Method-method yang ada di class unit testingnya, biasanya bersifat independent artinya masing- masing method ini bisa dijalankan/eksekusi secara mandiri (tidak tergantung dengan method yang Jain) schingga kita bisa menjalankan unit testing secara berulang. Menulis Unit Testing Ada hal-hal lain yang perlu Kita ketahui dalam menulis unit testing menggunakan Nuni¢ yaitu : © Attributes + Assertions Attributes Digunakan untuk memberi tag/penanda class dan method yang akan dites. Ada dua attribut yang sering digunakan yaitu attribut [TestFixture] untuk menandai class dan attribut [Test] untuk menandai method. Contoh : navespace Caleuaor. Tests t Faeroe ¢ public veid init) ‘ em tm Cabeaaton(hy , Public veld TanbahTest() ‘ oubte haeilMe » ce.Tanbah(t, §)5 Selain itu ada attribut lain yang bisa kita tambahkan yang digunakan untuk menandai method yang berfungsi sebagai method inisialisasi yaitu attribut [StU p]. Jadi method Init di atas akan dijalankan terlebih dulu scbclum tool Nunit menjalankan method method lain yang ditandai dengan attribut [Test]. Assertions ‘Merupakan sekumpulan method static yang digunakan untuk mengevaluasi method yang akan dites. Jadi method-method assertions akan mengembalikan nilai boolean (true/false). Contoh : 0G) e-Fee8| Tsun ate aoe ere Secs 5 ern «Beene = ane caret om z , Si = +aoce 2 peor 7 : ; ae 5 eo ene x 2 fe oid SasTee() = © count basing cts 9 > Serene, nse) _—_ Pada gambar di atas_ kita. -menggunakan salah satu method Assertions yaitu method AreF.qual untuk membandingkan dua buah nilai, yaitu nilai yang di harapkan (expected) dan nilai aktual, Nilai expected kita inputkan secara manual sedangkan nilai aktual dihasilkan dari pemanggilan method. Coba pethatikan potongan kode berikut : ei —— ERESPR | Dari hasil pemanggilan method Kali(4,5),jika menghasitkan nilai 20 maka method ArcEqual akan mengembalikan nilai fre yang artinya tes berhasil karena scsuai dengan nilai yang diharapkan yaitu 20 selain itu akan mengembalikan nilai false/gagal. Hasil Unit Test ‘Untuk melakukan testing, klik menu Test > Run > AU Tests seperti berikut Team Toot Arhtecure | Tet | nyse Window Help Debug >) ane coke tees it » | aaa Tests 2 Turing esleat Arye Code Covemge + | sed Te 5 namespace Calculator. Teste et n restricts) Pa pubide vosa Antt() 2 t & ce = new Calculators 2 ? x Creet01 2 public void Tantahrest() Jika Test Explorer belum muncul, bisa anda Klik menu Test > Windows > Test Explorer Test Ans Window Help Run Pama, Debug , Playlist , Test Settings , 4 ‘Analyze Cote Coverage , 2 Profile Test Windows or ‘| Results Hasil dari Run > All Tests mestinya adalah seperti dalam gambar berikut ini. Akan terlihat dalam Test Explorer ada Failed Tests(1) dan Passed Tests(2). 1 Test yang gagal tersebut bisa kita lihat di class Calculator yang memang dari awal kita buat salah, agar anda bisa memahami maksud dari Unit Testing ini. Ecsite = Basan ee Conan cote” Oran atic thas eseuator, PAI indie TabanCdbe ente 9) ; ; . ; bis nae wagscnamie a, sunt ») ¢ reurn 2/0: Setelah dilakukan editing di class calculator pada method Tambah() yang semula return a * & diganti dengan return 2 + » . Kemudian dilakukan Run > All Tests, hasilnya akan menjadi seperti berikut : caer art et an Ped Tine © sressFases [Scania ng sosce extelator pine cas concuatort poste foie Taman(debie adobe») t : 7 pibiicfowie Waiscaie a, ote ») t ) i devote Wapdeaie a, dust») ¢ Nah, yang kita lakukan adalah bagaimana melakukan Unit Test terhadap console application, trus bagaimana jika program yang kita buat adalah sebuah Library

Anda mungkin juga menyukai