{"id":551,"date":"2022-01-26T01:34:13","date_gmt":"2022-01-26T01:34:13","guid":{"rendered":"https:\/\/www.cybermedian.com\/id\/?p=551"},"modified":"2025-02-17T11:51:33","modified_gmt":"2025-02-17T03:51:33","slug":"test-drive-development-approach-for-agile-software-development","status":"publish","type":"post","link":"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/","title":{"rendered":"Pendekatan Pengembangan Berbasis Uji untuk Pengembangan Perangkat Lunak Agile"},"content":{"rendered":"<section class=\"section section--body section--first\">\n<div class=\"section-content\">\n<div class=\"section-inner sectionLayout--insetColumn\">\n<p class=\"graf graf--p graf-after--h3\" id=\"dc2b\">Sekarang, orang sering membicarakan tentang pengembangan agile.<\/p>\n<h4 class=\"graf graf--h4 graf-after--p\" id=\"5f54\">Apa itu Pengembangan Agile?<\/h4>\n<p class=\"graf graf--p graf-after--h4\" id=\"0a1d\"><a class=\"markup--anchor markup--p-anchor\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/what-is-agile-software-development\/\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/what-is-agile-software-development\/\" rel=\"noopener\" target=\"_blank\">Pengembangan agile<\/a> adalah kemampuan pengembangan perangkat lunak yang merespons kebutuhan yang berubah dengan cepat. Nama, konsep, proses, dan terminologi spesifik mereka bervariasi. Dibandingkan dengan \u201c<a class=\"markup--anchor markup--p-anchor\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/classical-vs-agile-project-management\/\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/classical-vs-agile-project-management\/\" rel=\"noopener\" target=\"_blank\">non-agile<\/a>,\u201d mereka menekankan kolaborasi erat antara tim programmer dan ahli bisnis, komunikasi tatap muka (dianggap lebih efektif daripada dokumentasi tertulis), dan seringkali mengeluarkan rilis perangkat lunak baru, kecil dan <a class=\"markup--anchor markup--p-anchor\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/what-is-self-organizing-team-in-scrum\/\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/what-is-self-organizing-team-in-scrum\/\" rel=\"noopener\" target=\"_blank\">tim yang mengorganisir diri sendiri<\/a> untuk penulisan fitur kecil dan berharga, serta pendekatan organisasi tim yang beradaptasi dengan kebutuhan yang berubah, dengan fokus yang lebih besar pada peran orang dalam pengembangan perangkat lunak.<\/p>\n<p class=\"graf graf--p graf-after--p\" id=\"4bb3\">Namun, ada beberapa versi serupa dari metode pengembangan agile TDD, seperti TDD: BDD, DDD, dan ATDD. Izinkan saya memperkenalkan metode ini secara singkat sebelum memperkenalkan TDD secara rinci:<\/p>\n<p class=\"graf graf--p graf-after--p\" id=\"47db\"><strong class=\"markup--strong markup--p-strong\">TDD: Pengembangan Berbasis Uji<\/strong><\/p>\n<p class=\"graf graf--p graf-after--p\" id=\"f69c\"><a class=\"markup--anchor markup--p-anchor\" data-href=\"https:\/\/en.wikipedia.org\/wiki\/Test-driven_development\" href=\"https:\/\/en.wikipedia.org\/wiki\/Test-driven_development\" rel=\"noopener\" target=\"_blank\">Pengembangan Berbasis Uji<\/a> (TDD) adalah proses pengembangan perangkat lunak, yang bergantung pada mengubah persyaratan perangkat lunak menjadi kasus uji sebelum perangkat lunak sepenuhnya dikembangkan, dan melacak semua pengembangan perangkat lunak dengan menguji perangkat lunak secara berulang untuk semua kasus uji. Ini adalah kebalikan dari mengembangkan perangkat lunak terlebih dahulu dan kemudian membuat kasus uji. Beberapa model populer mendukung TDD dengan sangat baik, seperti MVC dan <a class=\"markup--anchor markup--p-anchor\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/sprint-increment-potential-shippable-mvp-mmp\/\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/sprint-increment-potential-shippable-mvp-mmp\/\" rel=\"noopener\" target=\"_blank\">MVP<\/a>.<\/p>\n<figure class=\"graf graf--figure graf-after--p\" id=\"dcf6\"><img class=\"graf-image\" data-height=\"324\" data-image-id=\"0*HRQPwcxAH9H50f92.png\" data-is-featured=\"true\" data-width=\"688\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/0HRQPwcxAH9H50f92.png\"\/><\/figure>\n<p class=\"graf graf--p graf-after--figure\" id=\"72f0\"><strong class=\"markup--strong markup--p-strong\">BDD: Pengembangan Berbasis Perilaku (Behavior Driven Development)<\/strong><\/p>\n<p class=\"graf graf--p graf-after--p\" id=\"7b2f\">Pengembangan berbasis perilaku (BDD) juga merupakan proses pengembangan perangkat lunak agile. Ini mendorong kolaborasi antara pengembang, penguji jaminan kualitas, dan perwakilan pelanggan dalam proyek perangkat lunak. Ini mendorong tim untuk menggunakan percakapan dan contoh konkret untuk memformalkan pemahaman bersama tentang bagaimana aplikasi seharusnya bekerja. Ini berasal dari pengembangan berbasis uji (TDD).<\/p>\n<figure class=\"graf graf--figure graf-after--p\" id=\"e548\"><img class=\"graf-image\" data-height=\"636\" data-image-id=\"0*zO1WEVhZ9N6NwbMQ.jpg\" data-width=\"999\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/0zO1WEVhZ9N6NwbMQ.jpg\"\/><\/figure>\n<p class=\"graf graf--p graf-after--figure\" id=\"2b50\"><strong class=\"markup--strong markup--p-strong\">ATDD: Pengembangan Berbasis Uji Penerimaan<\/strong><\/p>\n<p class=\"graf graf--p graf-after--p\" id=\"f095\">Untuk mempromosikan realisasi kode fungsional melalui kasus uji unit, tim perlu mendefinisikan standar kualitas yang diharapkan dan aturan penerimaan, serta mempromosikan praktik TDD pengembang dan kinerja penguji melalui rencana uji penerimaan yang jelas dan konsisten (termasuk serangkaian skenario uji). Bagi pengembang, ini menekankan bagaimana mengimplementasikan sistem dan bagaimana mengujinya.<\/p>\n<figure class=\"graf graf--figure graf-after--p\" id=\"cd9b\"><img class=\"graf-image\" data-height=\"437\" data-image-id=\"0*oQj5-PBOOnzEvxCt.png\" data-width=\"514\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/0oQj5-PBOOnzEvxCt.png\"\/><\/figure>\n<p class=\"graf graf--p graf-after--figure\" id=\"e411\"><strong class=\"markup--strong markup--p-strong\">DDD: Desain Berbasis Domain<\/strong><\/p>\n<p class=\"graf graf--p graf-after--p\" id=\"344a\">DDD mengacu pada desain berbasis domain, yaitu pengembangan berbasis domain. DDD sebenarnya dibangun di atas fondasi ini karena fokus pada desain lapisan layanan, fokus pada implementasi bisnis, menggabungkan analitik dan desain, dan tidak lagi mempertahankannya dalam keadaan terpisah, untuk secara benar dan komprehensif mengimplementasikan kebutuhan pelanggan dan membangun model skalabilitas bisnis.<\/p>\n<figure class=\"graf graf--figure graf-after--p\" id=\"1c94\"><img class=\"graf-image\" data-height=\"409\" data-image-id=\"0*imvHvnYVv9W6vjHO.png\" data-width=\"581\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/0imvHvnYVv9W6vjHO.png\"\/><\/figure>\n<h3 class=\"graf graf--h3 graf-after--figure\" id=\"3579\">Rencana implementasi TDD<\/h3>\n<blockquote class=\"graf graf--blockquote graf-after--h3\" id=\"adc2\">\n<p><em class=\"markup--em markup--blockquote-em\">Melalui pengujian untuk mempromosikan seluruh pengembangan, tetapi pengembangan berbasis uji bukan hanya pekerjaan uji sederhana, tetapi proses untuk mengkuantifikasi analisis persyaratan, desain, dan kontrol kualitas.<\/em><\/p>\n<\/blockquote>\n<p class=\"graf graf--p graf-after--blockquote\" id=\"5c0c\"><strong class=\"markup--strong markup--p-strong\">Prinsip pengembangan<\/strong><\/p>\n<blockquote class=\"graf graf--blockquote graf-after--p\" id=\"5b58\">\n<p><em class=\"markup--em markup--blockquote-em\">Tulis kode uji terlebih dahulu, dan kemudian tulis kode untuk fungsi.<\/em><\/p>\n<\/blockquote>\n<ol class=\"postList\">\n<li class=\"graf graf--li graf-after--blockquote\" id=\"0b64\">Tulis kode uji sesuai dengan dokumen persyaratan, bukan untuk merealisasikan fungsi;<\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"0d1a\">Jangan ingin menyelesaikan semuanya sekaligus. Saat menguji blok fungsional besar, Anda harus terlebih dahulu membaginya menjadi blok fungsional yang lebih kecil untuk diuji;<\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"854c\">Ingatlah untuk tidak menulis kode untuk menyelesaikan fungsi, gunakan kode yang paling sederhana untuk mengimplementasikan fungsi;<\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"72d3\">Jika persyaratan dapat diuji, tulis kode uji, dan tinggalkan yang tidak dapat diuji atau merasa bahwa mereka tidak perlu diuji;<\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"5fa6\">Sebelum mengubah\/menambahkan kode fungsi apa pun, Anda harus terlebih dahulu memikirkan apakah Anda ingin mengubah\/menambahkan kasus uji;<\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"275b\">Kode fungsi\/kode uji, struktur yang tidak masuk akal, kode duplikat, dll., refactor tepat waktu setelah pengujian berhasil.<\/li>\n<\/ol>\n<p class=\"graf graf--p graf-after--li\" id=\"1652\"><strong class=\"markup--strong markup--p-strong\">Proses pengembangan TDD<\/strong><\/p>\n<ol class=\"postList\">\n<li class=\"graf graf--li graf-after--p\" id=\"6793\">Analisis dan tentukan skenario uji target;<\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"0547\">Tambahkan uji unit untuk memverifikasi input dan output dari skenario uji;<\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"ea67\">Jalankan pengujian dan dapatkan hasil pengujian yang gagal;<\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"450b\">Tulis kode fungsi yang paling sederhana untuk lulus uji;<\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"fbf6\">Jalankan pengujian lagi dan lihat bahwa pengujian berhasil;<\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"879b\">Lakukan refactoring kode, termasuk kode fungsional dan kode uji unit;<\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"29fc\">Ulangi langkah-langkah di atas sampai pengembangan selesai.<\/li>\n<\/ol>\n<p class=\"graf graf--p graf-after--li\" id=\"51d8\"><strong class=\"markup--strong markup--p-strong\">Manfaat TDD<\/strong><\/p>\n<ol class=\"postList\">\n<li class=\"graf graf--li graf-after--p\" id=\"8d57\"><strong class=\"markup--strong markup--li-strong\">Mengurangi beban pada pengembang<\/strong>. Melalui proses yang jelas, mari kita fokus pada satu titik pada satu waktu, dan beban berpikir menjadi lebih ringan.<\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"ce12\"><strong class=\"markup--strong markup--li-strong\">Jaring perlindungan<\/strong>. Menyediakan pengujian unit yang lengkap memberikan jaring perlindungan untuk kode produk, memudahkan untuk memenuhi perubahan dalam persyaratan atau meningkatkan desain kode. Jadi jika persyaratan proyek Anda stabil, selesai sekaligus, dan tidak ada perubahan selanjutnya, manfaat TDD menjadi lebih sedikit.<\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"fc52\"><strong class=\"markup--strong markup--li-strong\">Jelaskan persyaratan sebelumnya<\/strong>. Menulis uji terlebih dahulu dapat membantu kita memikirkan persyaratan dan menjelaskan rincian persyaratan sebelumnya, daripada menemukan persyaratan yang tidak jelas hanya di tengah kode.<\/li>\n<li class=\"graf graf--li graf-after--li graf--trailing\" id=\"3c5e\"><strong class=\"markup--strong markup--li-strong\">Umpan balik cepat<\/strong>. Banyak orang mengatakan bahwa ketika TDD, volume kode saya meningkat, sehingga efisiensi pengembangan menurun. Namun, jika Anda tidak memiliki uji unit, Anda harus mengujinya secara manual, Anda menghabiskan banyak waktu untuk menyiapkan data, meluncurkan aplikasi, memodifikasi antarmuka, dan sebagainya, dan umpan balik menjadi lambat. Secara tepat, umpan balik cepat adalah manfaat dari pengujian unit.<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"section section--body section--last\">\n<div class=\"section-divider\">\n<hr class=\"section-divider\"\/>\n<\/div>\n<div class=\"section-content\">\n<div class=\"section-inner sectionLayout--insetColumn\">\n<h4 class=\"graf graf--h4 graf--leading\" id=\"44d1\">Prinsip Agile &amp; Scrum<\/h4>\n<ul class=\"postList\">\n<li class=\"graf graf--li graf-after--h4\" id=\"c313\"><a class=\"markup--anchor markup--li-anchor\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/agile-manifesto-and-agile-principles\/\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/agile-manifesto-and-agile-principles\/\" rel=\"noopener\" target=\"_blank\">Manifesto Agile dan Dua Belas Prinsip<\/a><\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"613e\"><a class=\"markup--anchor markup--li-anchor\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/10-basic-scrum-rules\/\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/10-basic-scrum-rules\/\" rel=\"noopener\" target=\"_blank\">10 Aturan Dasar yang Paling Sering Disebutkan dalam Scrum<\/a><\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"8952\"><a class=\"markup--anchor markup--li-anchor\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/how-scrum-team-works\/\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/how-scrum-team-works\/\" rel=\"noopener\" target=\"_blank\">Bagaimana Tim Scrum Bekerja?\u200a\u2014\u200aPanduan Singkat<\/a><\/li>\n<\/ul>\n<h4 class=\"graf graf--h4 graf-after--li\" id=\"863c\">Scrum Skala Besar<\/h4>\n<ul class=\"postList\">\n<li class=\"graf graf--li graf-after--h4\" id=\"39b8\"><a class=\"markup--anchor markup--li-anchor\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/scaling-agile-frameworks-comparison\/\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/scaling-agile-frameworks-comparison\/\" rel=\"noopener\" target=\"_blank\">Perbandingan Kerangka Agile yang Ditingkatkan<\/a><\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"49ce\"><a class=\"markup--anchor markup--li-anchor\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/10-principles-of-less-framework\/\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/10-principles-of-less-framework\/\" rel=\"noopener\" target=\"_blank\">Apa Saja 10 Prinsip Kerangka LeSS?<\/a><\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"1ef2\"><a class=\"markup--anchor markup--li-anchor\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/how-to-manage-multi-scrum-teams-with-less-framework\/\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/how-to-manage-multi-scrum-teams-with-less-framework\/\" rel=\"noopener\" target=\"_blank\">Bagaimana Mengelola Beberapa Tim Scrum dengan Kerangka LeSS?<\/a><\/li>\n<li class=\"graf graf--li graf-after--li graf--trailing\" id=\"22bd\"><a class=\"markup--anchor markup--li-anchor\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/top-10-less-framework-resources\/\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/top-10-less-framework-resources\/\" rel=\"noopener\" target=\"_blank\">10 Sumber Kerangka Scrum Skala Besar Teratas<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>Test Driven Development\u00a0(TDD) is a software development process, which relies on transforming software requirements into test cases before software is fully developed, and tracking all software development by repeatedly testing software for all test cases. This is the opposite of developing software first and then creating test cases. Some popular models support TDD very well, such as MVC and\u00a0MVP.<\/p>\n","protected":false},"author":1,"featured_media":1308,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","footnotes":""},"categories":[2],"tags":[52,63,62,53],"class_list":["post-551","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-agile-project-management","tag-cn-done","tag-es-done","tag-ja-done","tag-tw-done"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Pendekatan Pengembangan Berbasis Uji untuk Pengembangan Perangkat Lunak Agile - Media Maya<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pendekatan Pengembangan Berbasis Uji untuk Pengembangan Perangkat Lunak Agile - Media Maya\" \/>\n<meta property=\"og:description\" content=\"Test Driven Development\u00a0(TDD) is a software development process, which relies on transforming software requirements into test cases before software is fully developed, and tracking all software development by repeatedly testing software for all test cases. This is the opposite of developing software first and then creating test cases. Some popular models support TDD very well, such as MVC and\u00a0MVP.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/\" \/>\n<meta property=\"og:site_name\" content=\"Media Maya\" \/>\n<meta property=\"article:published_time\" content=\"2022-01-26T01:34:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-17T03:51:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/0_gN5wLj3vntxPR-gh.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"680\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"vpadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vpadmin\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"vpadmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/\"},\"author\":{\"name\":\"vpadmin\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a\"},\"headline\":\"Pendekatan Pengembangan Berbasis Uji untuk Pengembangan Perangkat Lunak Agile\",\"datePublished\":\"2022-01-26T01:34:13+00:00\",\"dateModified\":\"2025-02-17T03:51:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/\"},\"wordCount\":782,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/0_gN5wLj3vntxPR-gh.png\",\"keywords\":[\"cn-done\",\"es-done\",\"ja-done\",\"tw-done\"],\"articleSection\":[\"Agile Project Management\"],\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/\",\"url\":\"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/\",\"name\":\"Pendekatan Pengembangan Berbasis Uji untuk Pengembangan Perangkat Lunak Agile - Media Maya\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/0_gN5wLj3vntxPR-gh.png\",\"datePublished\":\"2022-01-26T01:34:13+00:00\",\"dateModified\":\"2025-02-17T03:51:33+00:00\",\"author\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/#primaryimage\",\"url\":\"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/0_gN5wLj3vntxPR-gh.png\",\"contentUrl\":\"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/0_gN5wLj3vntxPR-gh.png\",\"width\":1024,\"height\":680,\"caption\":\"TDD development\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.cybermedian.com\/id\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pendekatan Pengembangan Berbasis Uji untuk Pengembangan Perangkat Lunak Agile\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/#website\",\"url\":\"https:\/\/www.cybermedian.com\/id\/\",\"name\":\"Media Maya\",\"description\":\"Belajar satu hal baru setiap hari\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.cybermedian.com\/id\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a\",\"name\":\"vpadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3914788226b9b0af628488720662164f4641c6125d0bd38d90ae34f01c8c4ea3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3914788226b9b0af628488720662164f4641c6125d0bd38d90ae34f01c8c4ea3?s=96&d=mm&r=g\",\"caption\":\"vpadmin\"},\"sameAs\":[\"https:\/\/x.com\/vpadmin\"],\"url\":\"https:\/\/www.cybermedian.com\/id\/author\/vpadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pendekatan Pengembangan Berbasis Uji untuk Pengembangan Perangkat Lunak Agile - Media Maya","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:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/","og_locale":"id_ID","og_type":"article","og_title":"Pendekatan Pengembangan Berbasis Uji untuk Pengembangan Perangkat Lunak Agile - Media Maya","og_description":"Test Driven Development\u00a0(TDD) is a software development process, which relies on transforming software requirements into test cases before software is fully developed, and tracking all software development by repeatedly testing software for all test cases. This is the opposite of developing software first and then creating test cases. Some popular models support TDD very well, such as MVC and\u00a0MVP.","og_url":"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/","og_site_name":"Media Maya","article_published_time":"2022-01-26T01:34:13+00:00","article_modified_time":"2025-02-17T03:51:33+00:00","og_image":[{"width":1024,"height":680,"url":"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/0_gN5wLj3vntxPR-gh.png","type":"image\/png"}],"author":"vpadmin","twitter_card":"summary_large_image","twitter_creator":"@vpadmin","twitter_misc":{"Ditulis oleh":"vpadmin","Estimasi waktu membaca":"4 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/#article","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/"},"author":{"name":"vpadmin","@id":"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a"},"headline":"Pendekatan Pengembangan Berbasis Uji untuk Pengembangan Perangkat Lunak Agile","datePublished":"2022-01-26T01:34:13+00:00","dateModified":"2025-02-17T03:51:33+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/"},"wordCount":782,"commentCount":0,"image":{"@id":"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/0_gN5wLj3vntxPR-gh.png","keywords":["cn-done","es-done","ja-done","tw-done"],"articleSection":["Agile Project Management"],"inLanguage":"id","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/","url":"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/","name":"Pendekatan Pengembangan Berbasis Uji untuk Pengembangan Perangkat Lunak Agile - Media Maya","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/id\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/#primaryimage"},"image":{"@id":"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/0_gN5wLj3vntxPR-gh.png","datePublished":"2022-01-26T01:34:13+00:00","dateModified":"2025-02-17T03:51:33+00:00","author":{"@id":"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a"},"breadcrumb":{"@id":"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/#primaryimage","url":"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/0_gN5wLj3vntxPR-gh.png","contentUrl":"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/0_gN5wLj3vntxPR-gh.png","width":1024,"height":680,"caption":"TDD development"},{"@type":"BreadcrumbList","@id":"https:\/\/www.cybermedian.com\/id\/test-drive-development-approach-for-agile-software-development\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cybermedian.com\/id\/"},{"@type":"ListItem","position":2,"name":"Pendekatan Pengembangan Berbasis Uji untuk Pengembangan Perangkat Lunak Agile"}]},{"@type":"WebSite","@id":"https:\/\/www.cybermedian.com\/id\/#website","url":"https:\/\/www.cybermedian.com\/id\/","name":"Media Maya","description":"Belajar satu hal baru setiap hari","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cybermedian.com\/id\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Person","@id":"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a","name":"vpadmin","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/3914788226b9b0af628488720662164f4641c6125d0bd38d90ae34f01c8c4ea3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3914788226b9b0af628488720662164f4641c6125d0bd38d90ae34f01c8c4ea3?s=96&d=mm&r=g","caption":"vpadmin"},"sameAs":["https:\/\/x.com\/vpadmin"],"url":"https:\/\/www.cybermedian.com\/id\/author\/vpadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/posts\/551","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/comments?post=551"}],"version-history":[{"count":4,"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/posts\/551\/revisions"}],"predecessor-version":[{"id":10012,"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/posts\/551\/revisions\/10012"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/media\/1308"}],"wp:attachment":[{"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/media?parent=551"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/categories?post=551"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/tags?post=551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}