{"id":2980,"date":"2025-07-22T02:01:24","date_gmt":"2025-07-22T02:01:24","guid":{"rendered":"https:\/\/nurosoft.id\/blog\/?p=2980"},"modified":"2025-12-22T18:23:32","modified_gmt":"2025-12-22T18:23:32","slug":"praktik-terbaik-unit-testing","status":"publish","type":"post","link":"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/","title":{"rendered":"Praktik Terbaik Unit Testing: Melindungi Kualitas Kode ERP"},"content":{"rendered":"<p data-start=\"238\" data-end=\"314\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Bayangkan Anda adalah pemilik bisnis atau IT Manager yang sedang menerapkan Odoo\/ERP\u2014semuanya tampak berjalan lancar hingga satu hari, sebuah update kecil malah menghancurkan modul stok atau akunting. Susah percaya? Padahal, menurut IBM, unit testing membantu <strong data-start=\"260\" data-end=\"325\" data-is-last-node=\"\">mempercepat pengembangan dan menghemat biaya debug sejak awal<\/strong><\/span>. <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Waktu dan reputasi perusahaan bisa melayang kalau bug diterima pelanggan sebelum disadari. Artikel ini membimbing Anda mengenal <strong data-start=\"128\" data-end=\"160\">praktik terbaik unit testing<\/strong> dan bagaimana itu bisa jadi tameng kuat dalam menjaga kualitas kode\u2014dengan gaya bahasa ringan, informatif, dan mengalir.<\/span><\/p>\n<figure id=\"attachment_2983\" aria-describedby=\"caption-attachment-2983\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2983\" src=\"https:\/\/nurosoft.id\/blog\/wp-content\/uploads\/2025\/07\/team-software-engineers-doing-brainstorming-office_11zon-scaled.jpg\" alt=\"praktik-terbaik-unit-testing\" width=\"2560\" height=\"1440\" srcset=\"https:\/\/nurosoft.id\/blog\/wp-content\/uploads\/2025\/07\/team-software-engineers-doing-brainstorming-office_11zon-scaled.jpg 2560w, https:\/\/nurosoft.id\/blog\/wp-content\/uploads\/2025\/07\/team-software-engineers-doing-brainstorming-office_11zon-300x169.jpg 300w, https:\/\/nurosoft.id\/blog\/wp-content\/uploads\/2025\/07\/team-software-engineers-doing-brainstorming-office_11zon-1024x576.jpg 1024w, https:\/\/nurosoft.id\/blog\/wp-content\/uploads\/2025\/07\/team-software-engineers-doing-brainstorming-office_11zon-768x432.jpg 768w, https:\/\/nurosoft.id\/blog\/wp-content\/uploads\/2025\/07\/team-software-engineers-doing-brainstorming-office_11zon-1536x864.jpg 1536w, https:\/\/nurosoft.id\/blog\/wp-content\/uploads\/2025\/07\/team-software-engineers-doing-brainstorming-office_11zon-2048x1152.jpg 2048w, https:\/\/nurosoft.id\/blog\/wp-content\/uploads\/2025\/07\/team-software-engineers-doing-brainstorming-office_11zon-1568x882.jpg 1568w, https:\/\/nurosoft.id\/blog\/wp-content\/uploads\/2025\/07\/team-software-engineers-doing-brainstorming-office_11zon-600x337.jpg 600w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption id=\"caption-attachment-2983\" class=\"wp-caption-text\">designed by freepik<\/figcaption><\/figure>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Daftar Isi<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#Apa_itu_Unit_Testing\" >Apa itu Unit Testing<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#Praktik_Terbaik_Unit_Testing\" >Praktik Terbaik Unit Testing<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#1_Mulai_dengan_TDD_Test%E2%80%91Driven_Development\" >1. Mulai dengan TDD (Test\u2011Driven Development)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#2_Tes_Singkat_Fokus_dan_Cepat\" >2. Tes Singkat, Fokus, dan Cepat<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#3_Gunakan_Mock_dan_Stub\" >3. Gunakan Mock dan Stub<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#4_Otomasi_dengan_CICD_Pipeline\" >4. Otomasi dengan CI\/CD Pipeline<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#5_Naming_dan_Struktur_Test_yang_Konsisten\" >5. Naming dan Struktur Test yang Konsisten<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#6_Lengkapi_dengan_Positive_Negative_Case\" >6. Lengkapi dengan Positive &amp; Negative Case<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#7_Maintain_Review_Berkala\" >7. Maintain &amp; Review Berkala<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#8_Target_Coverage_Realistis\" >8. Target Coverage Realistis<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#Alat_Unit_Testing\" >Alat Unit Testing<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#PythonOdoo_%E2%80%93_PyTest\" >Python\/Odoo \u2013 PyTest<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#Java_%E2%80%93_JUnit_Diffblue_Cover\" >Java \u2013 JUnit &amp; Diffblue Cover<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#JavaScript_%E2%80%93_Jest\" >JavaScript \u2013 Jest<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#NET_%E2%80%93_NUnit_xUnit\" >.NET \u2013 NUnit \/ xUnit<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#Odoo_Built-in\" >Odoo Built-in<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#Bagaimana_Dampak_AI_ke_Unit_Testing\" >Bagaimana Dampak AI ke Unit Testing<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#Kesimpulan\" >Kesimpulan<\/a><\/li><\/ul><\/nav><\/div>\n<h2 data-start=\"360\" data-end=\"382\"><span class=\"ez-toc-section\" id=\"Apa_itu_Unit_Testing\"><\/span><strong>Apa itu Unit Testing<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>&nbsp;<\/p>\n<p data-start=\"384\" data-end=\"421\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Unit testing adalah metode pengujian otomatis untuk menguji bagian kode terkecil\u2014misalnya fungsi atau metode\u2014secara terisolasi. Analoginya, ini seperti menyetel setiap komponen Odoo secara mandiri sebelum merangkainya jadi ERP besar. Tujuannya? <strong data-start=\"245\" data-end=\"273\">Menangkap bug sejak dini<\/strong> dan memudahkan debugging. <\/span><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Menurut Credera, unit testing memungkinkan <strong data-start=\"43\" data-end=\"136\" data-is-last-node=\"\">penangkapan bug lebih awal, menjaga perubahan kode tetap aman, dan memudahkan refactoring<\/strong><\/span>. <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Bahkan, saat test code gagal, kita langsung tahu bagian mana yang bermasalah\u2014ibarat batu bata retak sebelum dipasang ke tembok.<\/span><\/p>\n<h2 data-start=\"544\" data-end=\"574\"><span class=\"ez-toc-section\" id=\"Praktik_Terbaik_Unit_Testing\"><\/span><strong>Praktik Terbaik Unit Testing<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>&nbsp;<\/p>\n<p data-start=\"576\" data-end=\"613\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Berikut ini praktik yang terbukti ampuh menurut IBM dan berbagai pakar DevOps:<\/span><\/p>\n<h3 data-start=\"615\" data-end=\"670\"><span class=\"ez-toc-section\" id=\"1_Mulai_dengan_TDD_Test%E2%80%91Driven_Development\"><\/span>1. Mulai dengan TDD (Test\u2011Driven Development)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p data-start=\"671\" data-end=\"751\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Tulis dahulu test, lalu kembangkan kode agar test itu lolos. Dengan TDD, kode Anda jadi lebih terarah, modular, dan bugar karena \u201ctarget\u201d-nya jelas sejak mula<\/span>.<\/p>\n<h3 data-start=\"753\" data-end=\"795\"><span class=\"ez-toc-section\" id=\"2_Tes_Singkat_Fokus_dan_Cepat\"><\/span>2. Tes Singkat, Fokus, dan Cepat<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p data-start=\"796\" data-end=\"876\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Unit test sebaiknya <em data-start=\"20\" data-end=\"29\">ringkas<\/em>: cuma tes satu fungsi, tidak lebih. Tes yang panjang dan kompleks hanya bikin debugging mumet.<\/span><\/p>\n<h3 data-start=\"878\" data-end=\"912\"><span class=\"ez-toc-section\" id=\"3_Gunakan_Mock_dan_Stub\"><\/span>3. Gunakan Mock dan Stub<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p data-start=\"913\" data-end=\"993\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Dalam proyek ERP\/Odoo, dependensi antar modul itu banyak. Guna mock\/stub untuk isolasi, sehingga test hanya fokus pada unit yang diuji, bukan semua tombol sistem.<\/span><\/p>\n<h3 data-start=\"995\" data-end=\"1037\"><span class=\"ez-toc-section\" id=\"4_Otomasi_dengan_CICD_Pipeline\"><\/span>4. Otomasi dengan CI\/CD Pipeline<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p data-start=\"1038\" data-end=\"1118\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Integrasi unit test ke CI\/CD memastikan setiap perubahan langsung diuji secara otomatis\u2014sumber bug pun bisa dicegah sebelum masuk ke production.<\/span><\/p>\n<h3 data-start=\"1120\" data-end=\"1172\"><span class=\"ez-toc-section\" id=\"5_Naming_dan_Struktur_Test_yang_Konsisten\"><\/span>5. Naming dan Struktur Test yang Konsisten<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p data-start=\"1173\" data-end=\"1253\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Test dengan nama \u201cTest-ProcessOrder_ValidInput\u201d jauh lebih mudah dipahami dibanding \u201cTest1\u201d. Struktur AAA (Arrange-Act-Assert) membantu agar test selalu rapi dan mudah dibaca.<\/span><\/p>\n<h3 data-start=\"1255\" data-end=\"1308\"><span class=\"ez-toc-section\" id=\"6_Lengkapi_dengan_Positive_Negative_Case\"><\/span>6. Lengkapi dengan Positive &amp; Negative Case<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p data-start=\"1309\" data-end=\"1389\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Pastikan test mencakup input valid dan invalid, serta condition ekstrem (edge cases)\u2014misalnya kuantitas 0 atau nilai minus di modul inventori<\/span>.<\/p>\n<h3 data-start=\"1391\" data-end=\"1429\"><span class=\"ez-toc-section\" id=\"7_Maintain_Review_Berkala\"><\/span>7. Maintain &amp; Review Berkala<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p data-start=\"1430\" data-end=\"1510\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Test yang tidak lagi relevan\u2014misalnya setelah modul berubah\u2014harus diperbarui agar tidak jadi beban maintenance.<\/span><\/p>\n<h3 data-start=\"1512\" data-end=\"1550\"><span class=\"ez-toc-section\" id=\"8_Target_Coverage_Realistis\"><\/span>8. Target Coverage Realistis<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p data-start=\"1551\" data-end=\"1671\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Coverage unit test 70\u201380\u202f% adalah patokan realistis di banyak tim DevOps<\/span>. <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Fokus pada risiko dan fitur utama ERP Anda.<\/span><\/p>\n<h2 data-start=\"1678\" data-end=\"1697\"><span class=\"ez-toc-section\" id=\"Alat_Unit_Testing\"><\/span><strong>Alat Unit Testing<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>&nbsp;<\/p>\n<p data-start=\"1699\" data-end=\"1738\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Berikut tool populer dan recommended sesuai teknologi tim Anda:<\/span><\/p>\n<h3 data-start=\"1740\" data-end=\"1774\"><span class=\"ez-toc-section\" id=\"PythonOdoo_%E2%80%93_PyTest\"><\/span>Python\/Odoo \u2013 <strong data-start=\"1762\" data-end=\"1772\">PyTest<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p data-start=\"1775\" data-end=\"1855\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Ringan, fleksibel, dan support parameterisasi. Cocok untuk membuat test terisolasi.<\/span><\/p>\n<h3 data-start=\"1857\" data-end=\"1900\"><span class=\"ez-toc-section\" id=\"Java_%E2%80%93_JUnit_Diffblue_Cover\"><\/span>Java \u2013 <strong data-start=\"1872\" data-end=\"1898\">JUnit &amp; Diffblue Cover<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p data-start=\"1901\" data-end=\"1981\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">JUnit adalah standar industri. Untuk bantuan AI, <strong data-start=\"49\" data-end=\"67\">Diffblue Cover<\/strong> bisa menghasilkan unit test otomatis untuk aplikasi Java, bahkan meningkatkan test coverage sambil menghemat waktu<\/span>.<\/p>\n<h3 data-start=\"1983\" data-end=\"2014\"><span class=\"ez-toc-section\" id=\"JavaScript_%E2%80%93_Jest\"><\/span>JavaScript \u2013 <strong data-start=\"2004\" data-end=\"2012\">Jest<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p data-start=\"2015\" data-end=\"2054\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Ideal untuk full-stack JS atau Node.js, cepat dan integratif.<\/span><\/p>\n<h3 data-start=\"2056\" data-end=\"2090\"><span class=\"ez-toc-section\" id=\"NET_%E2%80%93_NUnit_xUnit\"><\/span>.NET \u2013 <strong data-start=\"2071\" data-end=\"2088\">NUnit \/ xUnit<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p data-start=\"2091\" data-end=\"2171\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Framework ini menawarkan isolasi dan struktur test yang baik.<\/span><\/p>\n<h3 data-start=\"2173\" data-end=\"2196\"><span class=\"ez-toc-section\" id=\"Odoo_Built-in\"><\/span>Odoo Built-in<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p data-start=\"2197\" data-end=\"2236\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Odoo sendiri sudah menyediakan framework test yang mudah langsung dipakai untuk modul ERP-nya.<\/span><\/p>\n<h2 data-start=\"2243\" data-end=\"2280\"><span class=\"ez-toc-section\" id=\"Bagaimana_Dampak_AI_ke_Unit_Testing\"><\/span><strong>Bagaimana Dampak AI ke Unit Testing<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>&nbsp;<\/p>\n<p data-start=\"2282\" data-end=\"2321\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">AI bukan ancaman, justru peningkat produktivitas:<\/span><\/p>\n<ul data-start=\"2323\" data-end=\"2530\">\n<li data-start=\"2323\" data-end=\"2405\">\n<p data-start=\"2325\" data-end=\"2405\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\"><strong data-start=\"0\" data-end=\"17\" data-is-only-node=\"\">Generative AI<\/strong> sekarang bisa buat draft unit test dari kode legacy atau spesifikasi\u2014mengurangi repetisi dan work-load developer<\/span><\/p>\n<\/li>\n<li data-start=\"2406\" data-end=\"2488\">\n<p data-start=\"2408\" data-end=\"2488\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\"><strong data-start=\"0\" data-end=\"26\" data-is-only-node=\"\">AI analisis bug-risiko<\/strong> akan membantu prioritas testing area dengan bug prone\u2014membuat test lebih efisien<\/span>.<\/p>\n<\/li>\n<li data-start=\"2489\" data-end=\"2530\">\n<p data-start=\"2491\" data-end=\"2530\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Tapi perlu oversight: AI buat draf, manusia cek edge-case dan bisnis logic\u2014seperti di thread Reddit:<\/span><\/p>\n<\/li>\n<\/ul>\n<blockquote data-start=\"2532\" data-end=\"2613\">\n<p data-start=\"2534\" data-end=\"2613\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">\u201cAI-generated tests that only mirror code won\u2019t catch real issues; better to use AI to help write tests from specs \u2026\u201d<\/span><\/p>\n<\/blockquote>\n<ul data-start=\"2615\" data-end=\"2780\">\n<li data-start=\"2615\" data-end=\"2697\">\n<p data-start=\"2617\" data-end=\"2697\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\"><strong data-start=\"0\" data-end=\"18\" data-is-only-node=\"\">ROI signifikan<\/strong>: biaya memperbaiki bug di production bisa 30x lebih mahal dibanding di fase unit testing<\/span>.<\/p>\n<\/li>\n<li data-start=\"2698\" data-end=\"2780\">\n<p data-start=\"2700\" data-end=\"2780\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Dalam implementasi AI unit testing, fokus ke area kritikal dan integrasikan ke CI\/CD, serta terus improvement lewat feedback loop<\/span>.<\/p>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2 data-start=\"2787\" data-end=\"2799\"><span class=\"ez-toc-section\" id=\"Kesimpulan\"><\/span><strong>Kesimpulan<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>&nbsp;<\/p>\n<p data-start=\"2801\" data-end=\"2840\">Unit testing adalah fondasi kuat untuk:<\/p>\n<ul data-start=\"2842\" data-end=\"2978\">\n<li data-start=\"2842\" data-end=\"2860\">\n<p data-start=\"2844\" data-end=\"2860\">Deteksi bug dini<\/p>\n<\/li>\n<li data-start=\"2861\" data-end=\"2895\">\n<p data-start=\"2863\" data-end=\"2895\">Menjaga kualitas kode saat rilis<\/p>\n<\/li>\n<li data-start=\"2896\" data-end=\"2926\">\n<p data-start=\"2898\" data-end=\"2926\">Meminimalkan biaya debugging<\/p>\n<\/li>\n<li data-start=\"2927\" data-end=\"2978\">\n<p data-start=\"2929\" data-end=\"2978\">Mendukung keamanan dan skalabilitas ERP\/Odoo Anda<\/p>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p data-start=\"2980\" data-end=\"3212\">Dengan <strong data-start=\"2987\" data-end=\"3017\">mengadopsi praktik terbaik<\/strong>, memakai <strong data-start=\"3027\" data-end=\"3042\">tools tepat<\/strong>, dan <strong data-start=\"3048\" data-end=\"3084\">memanfaatkan AI sebagai co-pilot<\/strong>, tim Anda bisa lebih percaya diri menghadirkan software yang stabil, efisien, dan tahan lama\u2014tanpa drama bug yang bikin pusing.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bayangkan Anda adalah pemilik bisnis atau IT Manager yang sedang menerapkan Odoo\/ERP\u2014semuanya tampak berjalan lancar hingga satu hari, sebuah update kecil malah menghancurkan modul stok atau akunting. Susah percaya? Padahal, menurut IBM, unit testing membantu mempercepat pengembangan dan menghemat biaya debug sejak awal. Waktu dan reputasi perusahaan bisa melayang kalau bug diterima pelanggan sebelum disadari.&hellip; <a class=\"more-link\" href=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/\">Continue reading <span class=\"screen-reader-text\">Praktik Terbaik Unit Testing: Melindungi Kualitas Kode ERP<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":2983,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[25,31,285,326],"class_list":["post-2980","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-erp","tag-business","tag-software","tag-software-development","tag-testing","entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Praktik Terbaik Unit Testing: Melindungi Kualitas Kode ERP<\/title>\n<meta name=\"description\" content=\"Pelajari praktik terbaik unit testing untuk ERP &amp; software Anda. Ideal bagi pemilik bisnis, IT Manager, dan Operational Manager di Indonesia.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Praktik Terbaik Unit Testing: Melindungi Kualitas Kode ERP\" \/>\n<meta property=\"og:description\" content=\"Pelajari praktik terbaik unit testing untuk ERP &amp; software Anda. Ideal bagi pemilik bisnis, IT Manager, dan Operational Manager di Indonesia.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/\" \/>\n<meta property=\"og:site_name\" content=\"Nurosoft Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/nurosoft\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-22T02:01:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-22T18:23:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/nurosoft.id\/blog\/wp-content\/uploads\/2025\/07\/team-software-engineers-doing-brainstorming-office_11zon-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1440\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"M. Nur Khabibulloh\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"M. Nur Khabibulloh\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/praktik-terbaik-unit-testing\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/praktik-terbaik-unit-testing\\\/\"},\"author\":{\"name\":\"M. Nur Khabibulloh\",\"@id\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/#\\\/schema\\\/person\\\/9d20aa3d2a752ebcedfcccfaa037dfd0\"},\"headline\":\"Praktik Terbaik Unit Testing: Melindungi Kualitas Kode ERP\",\"datePublished\":\"2025-07-22T02:01:24+00:00\",\"dateModified\":\"2025-12-22T18:23:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/praktik-terbaik-unit-testing\\\/\"},\"wordCount\":694,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/praktik-terbaik-unit-testing\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/team-software-engineers-doing-brainstorming-office_11zon-scaled.jpg\",\"keywords\":[\"Business\",\"Software\",\"Software Development\",\"Testing\"],\"articleSection\":[\"ERP\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/nurosoft.id\\\/blog\\\/praktik-terbaik-unit-testing\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/praktik-terbaik-unit-testing\\\/\",\"url\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/praktik-terbaik-unit-testing\\\/\",\"name\":\"Praktik Terbaik Unit Testing: Melindungi Kualitas Kode ERP\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/praktik-terbaik-unit-testing\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/praktik-terbaik-unit-testing\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/team-software-engineers-doing-brainstorming-office_11zon-scaled.jpg\",\"datePublished\":\"2025-07-22T02:01:24+00:00\",\"dateModified\":\"2025-12-22T18:23:32+00:00\",\"description\":\"Pelajari praktik terbaik unit testing untuk ERP & software Anda. Ideal bagi pemilik bisnis, IT Manager, dan Operational Manager di Indonesia.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/praktik-terbaik-unit-testing\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/nurosoft.id\\\/blog\\\/praktik-terbaik-unit-testing\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/praktik-terbaik-unit-testing\\\/#primaryimage\",\"url\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/team-software-engineers-doing-brainstorming-office_11zon-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/team-software-engineers-doing-brainstorming-office_11zon-scaled.jpg\",\"width\":2560,\"height\":1440,\"caption\":\"designed by freepik\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/praktik-terbaik-unit-testing\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Praktik Terbaik Unit Testing: Melindungi Kualitas Kode ERP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/\",\"name\":\"Artikel Seputar Teknologi Informasi, Software, dan Bisnis | Nurosoft\",\"description\":\"Find out anything you want to know about Nurosoft\",\"publisher\":{\"@id\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/#organization\",\"name\":\"Nurosoft\",\"url\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/logo.png\",\"width\":1000,\"height\":165,\"caption\":\"Nurosoft\"},\"image\":{\"@id\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/nurosoft\\\/\",\"https:\\\/\\\/www.instagram.com\\\/nurosoft\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/nurosoft\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/#\\\/schema\\\/person\\\/9d20aa3d2a752ebcedfcccfaa037dfd0\",\"name\":\"M. Nur Khabibulloh\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/wp-content\\\/litespeed\\\/avatar\\\/bff36e2a83a25947b784f116bb4f2f3e.jpg?ver=1776154718\",\"url\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/wp-content\\\/litespeed\\\/avatar\\\/bff36e2a83a25947b784f116bb4f2f3e.jpg?ver=1776154718\",\"contentUrl\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/wp-content\\\/litespeed\\\/avatar\\\/bff36e2a83a25947b784f116bb4f2f3e.jpg?ver=1776154718\",\"caption\":\"M. Nur Khabibulloh\"},\"description\":\"Mukhammad Nur Khabibulloh adalah seorang profesional digital marketer berpengalaman lebih dari 5 Tahun. Memiliki ketertarikan dalam menulis dengan pembahasan bisnis, teknologi, ERP, HR, transformasi bisnis, Software, SEO, Digital marketing.\",\"url\":\"https:\\\/\\\/nurosoft.id\\\/blog\\\/author\\\/khabib\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Praktik Terbaik Unit Testing: Melindungi Kualitas Kode ERP","description":"Pelajari praktik terbaik unit testing untuk ERP & software Anda. Ideal bagi pemilik bisnis, IT Manager, dan Operational Manager di Indonesia.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/","og_locale":"id_ID","og_type":"article","og_title":"Praktik Terbaik Unit Testing: Melindungi Kualitas Kode ERP","og_description":"Pelajari praktik terbaik unit testing untuk ERP & software Anda. Ideal bagi pemilik bisnis, IT Manager, dan Operational Manager di Indonesia.","og_url":"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/","og_site_name":"Nurosoft Blog","article_publisher":"https:\/\/www.facebook.com\/nurosoft\/","article_published_time":"2025-07-22T02:01:24+00:00","article_modified_time":"2025-12-22T18:23:32+00:00","og_image":[{"width":2560,"height":1440,"url":"https:\/\/nurosoft.id\/blog\/wp-content\/uploads\/2025\/07\/team-software-engineers-doing-brainstorming-office_11zon-scaled.jpg","type":"image\/jpeg"}],"author":"M. Nur Khabibulloh","twitter_card":"summary_large_image","twitter_misc":{"Written by":"M. Nur Khabibulloh","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#article","isPartOf":{"@id":"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/"},"author":{"name":"M. Nur Khabibulloh","@id":"https:\/\/nurosoft.id\/blog\/#\/schema\/person\/9d20aa3d2a752ebcedfcccfaa037dfd0"},"headline":"Praktik Terbaik Unit Testing: Melindungi Kualitas Kode ERP","datePublished":"2025-07-22T02:01:24+00:00","dateModified":"2025-12-22T18:23:32+00:00","mainEntityOfPage":{"@id":"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/"},"wordCount":694,"commentCount":0,"publisher":{"@id":"https:\/\/nurosoft.id\/blog\/#organization"},"image":{"@id":"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#primaryimage"},"thumbnailUrl":"https:\/\/nurosoft.id\/blog\/wp-content\/uploads\/2025\/07\/team-software-engineers-doing-brainstorming-office_11zon-scaled.jpg","keywords":["Business","Software","Software Development","Testing"],"articleSection":["ERP"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/","url":"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/","name":"Praktik Terbaik Unit Testing: Melindungi Kualitas Kode ERP","isPartOf":{"@id":"https:\/\/nurosoft.id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#primaryimage"},"image":{"@id":"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#primaryimage"},"thumbnailUrl":"https:\/\/nurosoft.id\/blog\/wp-content\/uploads\/2025\/07\/team-software-engineers-doing-brainstorming-office_11zon-scaled.jpg","datePublished":"2025-07-22T02:01:24+00:00","dateModified":"2025-12-22T18:23:32+00:00","description":"Pelajari praktik terbaik unit testing untuk ERP & software Anda. Ideal bagi pemilik bisnis, IT Manager, dan Operational Manager di Indonesia.","breadcrumb":{"@id":"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#primaryimage","url":"https:\/\/nurosoft.id\/blog\/wp-content\/uploads\/2025\/07\/team-software-engineers-doing-brainstorming-office_11zon-scaled.jpg","contentUrl":"https:\/\/nurosoft.id\/blog\/wp-content\/uploads\/2025\/07\/team-software-engineers-doing-brainstorming-office_11zon-scaled.jpg","width":2560,"height":1440,"caption":"designed by freepik"},{"@type":"BreadcrumbList","@id":"https:\/\/nurosoft.id\/blog\/praktik-terbaik-unit-testing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/nurosoft.id\/blog\/"},{"@type":"ListItem","position":2,"name":"Praktik Terbaik Unit Testing: Melindungi Kualitas Kode ERP"}]},{"@type":"WebSite","@id":"https:\/\/nurosoft.id\/blog\/#website","url":"https:\/\/nurosoft.id\/blog\/","name":"Artikel Seputar Teknologi Informasi, Software, dan Bisnis | Nurosoft","description":"Find out anything you want to know about Nurosoft","publisher":{"@id":"https:\/\/nurosoft.id\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nurosoft.id\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/nurosoft.id\/blog\/#organization","name":"Nurosoft","url":"https:\/\/nurosoft.id\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/nurosoft.id\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/nurosoft.id\/blog\/wp-content\/uploads\/2022\/10\/logo.png","contentUrl":"https:\/\/nurosoft.id\/blog\/wp-content\/uploads\/2022\/10\/logo.png","width":1000,"height":165,"caption":"Nurosoft"},"image":{"@id":"https:\/\/nurosoft.id\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/nurosoft\/","https:\/\/www.instagram.com\/nurosoft\/","https:\/\/www.linkedin.com\/company\/nurosoft\/"]},{"@type":"Person","@id":"https:\/\/nurosoft.id\/blog\/#\/schema\/person\/9d20aa3d2a752ebcedfcccfaa037dfd0","name":"M. Nur Khabibulloh","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/nurosoft.id\/blog\/wp-content\/litespeed\/avatar\/bff36e2a83a25947b784f116bb4f2f3e.jpg?ver=1776154718","url":"https:\/\/nurosoft.id\/blog\/wp-content\/litespeed\/avatar\/bff36e2a83a25947b784f116bb4f2f3e.jpg?ver=1776154718","contentUrl":"https:\/\/nurosoft.id\/blog\/wp-content\/litespeed\/avatar\/bff36e2a83a25947b784f116bb4f2f3e.jpg?ver=1776154718","caption":"M. Nur Khabibulloh"},"description":"Mukhammad Nur Khabibulloh adalah seorang profesional digital marketer berpengalaman lebih dari 5 Tahun. Memiliki ketertarikan dalam menulis dengan pembahasan bisnis, teknologi, ERP, HR, transformasi bisnis, Software, SEO, Digital marketing.","url":"https:\/\/nurosoft.id\/blog\/author\/khabib\/"}]}},"_links":{"self":[{"href":"https:\/\/nurosoft.id\/blog\/wp-json\/wp\/v2\/posts\/2980","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nurosoft.id\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nurosoft.id\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nurosoft.id\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/nurosoft.id\/blog\/wp-json\/wp\/v2\/comments?post=2980"}],"version-history":[{"count":1,"href":"https:\/\/nurosoft.id\/blog\/wp-json\/wp\/v2\/posts\/2980\/revisions"}],"predecessor-version":[{"id":4089,"href":"https:\/\/nurosoft.id\/blog\/wp-json\/wp\/v2\/posts\/2980\/revisions\/4089"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nurosoft.id\/blog\/wp-json\/wp\/v2\/media\/2983"}],"wp:attachment":[{"href":"https:\/\/nurosoft.id\/blog\/wp-json\/wp\/v2\/media?parent=2980"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nurosoft.id\/blog\/wp-json\/wp\/v2\/categories?post=2980"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nurosoft.id\/blog\/wp-json\/wp\/v2\/tags?post=2980"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}