You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<p>Perangkat lunak tidak ada yang sempurna dan pasti mempunyai <em>bugs</em>. Salah satu cara untuk menguranginya atau mencegahnya untuk muncul di kemudian hari adalah dengan jalan melakukan pengetesan. Pengetesan memberikan keyakinan pada developer bahwa perangkat lunak bekerja sebagai mana mestinya dan jika ada perubahan misalnya penambahan atau pengurangan fitur dipastikan bahwa pengetesan akan selalu berhasil.</p>
849
+
<p>Ada banyak tipe pengetesan tetapi dalam pengembangan aplikasi web ada dua tipe pengetesan yang penting untuk diketahui yaitu <strong>Unit Testing</strong> dan <strong>Acceptance Testing</strong>.</p>
850
+
<h2id="unit-testing">Unit Testing</h2>
851
+
<p><strong>Unit Testing</strong> dilakukan langsung pada level kode aplikasi yaitu pada fungsi atau metode dan ada dua metodologi yang sering digunakan yaitu <strong>TDD</strong> dan <strong>BDD</strong>. Dalam JavaScript tersedia banyak pustaka yang dibuat untuk pengetesan seperti module <code>assert</code> bawaan dari Node.js, Nodeunit, Mocha, Jasmine dll.</p>
852
+
<h3id="test-driven-development-tdd">Test Driven Development (TDD)</h3>
853
+
<p>Istilah TDD ini menjadi sangat keren beberapa tahun belakangan ini. Konsep TDD adalah melakukan pengetesan terlebih dahulu baru kemudian menulis kode dari aplikasi, jadi mindset dari pembuatan perangkat lunak dibalik kalo dalam pengembangan perangkat lunak yang konvensional alurnya yaitu menulis kode terlebih dahulu baru kemudian menulis kode untuk pengetesan sedangkan dalam <strong>Test Driven Development</strong> proses ini dibalik. </p>
854
+
<p>Kelemahan pengetesan ini adalah pada proses awal biasanya dibutuhkan waktu yang relatif lebih lama untuk mengembangkan aplikasi karena harus menulis kode pengetesan terlebih dahulu tetapi keuntungan jangka panjangnya yaitu aplikasi yang dihasilkan biasanya mempunyai <em>bugs</em> yang lebih sedikit.</p>
855
+
<h3id="behavior-driven-development-bdd">Behavior Driven Development (BDD)</h3>
856
+
<p>Pengetesan secara BDD memakai bahasa atau metode pengetesan yang lebih ramah yaitu dengan melakukan pengetesan dengan cara atau alur seperti <strong>user story</strong>. Ciri-ciri pustaka yang mendukung BDD seperti Mocha atau Jasmine yaitu pasti mempunyai metode pengetesan seperti <code>describe()</code> dan <code>it()</code>. </p>
it('Harus bisa menerima file jpeg', function(){
859
+
//testing disini
860
+
})
861
+
862
+
it('Harus bisa menerima file png', function(){
863
+
//testing disini
864
+
})
865
+
866
+
it('Harus bisa menerima file xcf', function(){
867
+
//testing disini
868
+
})
869
+
})
870
+
</code></pre><p>Kalau diterjemahkan secara bahasa manusia maka kode testing BDD diatas akan mudah dibaca yaitu <em>Upload file harus bisa menerima file jpeg, png atau xcf</em>.</p>
<p>Untuk pengetesan dari antar muka aplikasi web beserta fungsinya contohnya seperti pengetesan penekanan button apakah berfungsi dengan baik atau tidak adalah termasuk dari <strong>Acceptance Testing</strong>. Testing ini bisa dilakukan dengan memakai bantuan browser dan dengan munculnya <em>headless browser</em> seperti PhantomJS memungkinkan pengetesan dilakukan secara terintegrasi dengan kode <em>back-end</em>.</p>
873
+
<blockquote>
874
+
<p>Catatan penting dari testing adalah pengetesan diusahakan berjalan secara automatis sehingga jika ada kesalahan yang terjadi maka developer bisa segera memperbaikinya, maka dari itu testing pasti mempunyai yang namanya info laporan entah itu berupa file, output terminal atau antarmuka berupa web. Pada proses pengembangan perangkat lunak modern, automasi testing merupakan bagian yang sangat penting.</p>
875
+
</blockquote>
876
+
<p>Dalam buku ini pengetesan akan dibatasi pada pengetesan aplikasi web khususnya aplikasi Node.js dengan REST dengan memakai Mocha.</p>
<p>Mocha termasuk pustaka pengetesan yang bisa dipakai secara BDD ataupun TDD. Pustaka ini secara default memakai style BDD. Metode umum BDD adalah seperti <code>describe</code>, <code>it</code>, <code>beforeEach</code>, <code>beforeAfter</code>, <code>before</code>, <code>after</code>. </p>
0 commit comments