{"id":6939,"date":"2021-12-27T11:07:46","date_gmt":"2021-12-27T10:07:46","guid":{"rendered":"https:\/\/immune.institute\/?p=6939"},"modified":"2021-12-27T11:07:46","modified_gmt":"2021-12-27T10:07:46","slug":"bdd-que-es-y-por-que-es-importante","status":"publish","type":"post","link":"https:\/\/immune.institute\/en\/blog\/bdd-que-es-y-por-que-es-importante\/","title":{"rendered":"BDD: What is this form of development and why is it important?"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">The <\/span><a href=\"https:\/\/immune.institute\/en\/software-a-medida-cuando-es-recomendable\/\"><span style=\"font-weight: 400;\">software<\/span><\/a><span style=\"font-weight: 400;\"> have changed. Long gone are those archaic models of the 1950s and, even more so, the mathematician Ada Lovelace and her Babbage logic machine. Like all technology, it evolves. <\/span><b>As the years go by, its complexity increases.<\/b><span style=\"font-weight: 400;\"> As a result, new methodologies are emerging to assess their quality.&nbsp;<\/span><\/p>\n<blockquote>\n<p style=\"text-align: center;\"><span style=\"font-weight: 400;\">One of the most current is BDD or Behaviour Driven Development, a behaviour-driven development that is very effective for teamwork.<\/span><\/p>\n<\/blockquote>\n<p><span style=\"font-weight: 400;\">In this article we will delve into <\/span><b>What is BDD and why is this form of software development important?<\/b><span style=\"font-weight: 400;\">. Read on and discover its usefulness when developing a computer programme or application.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">What is BDD or Behaviour Driven Development?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">First of all, BDD stands for Behaviour Driven Development. In other words, by <\/span><b>behaviour-driven development<\/b><span style=\"font-weight: 400;\">. A <\/span><a href=\"https:\/\/immune.institute\/en\/proceso-desarrollo-software-ciclo-vida\/\"><span style=\"font-weight: 400;\">software development process<\/span><\/a><span style=\"font-weight: 400;\">whose origin dates back to Testing.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This software development strategy proposes <\/span><b>a common language, both for the technical and business side of things<\/b><span style=\"font-weight: 400;\">and its use for development and testing. One of its main advantages is that in this way all members of a team are familiar with the software development, because it is in an understandable form.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In other words, any comments on the development of the programme or app by project members with basic computer skills or even by the client will be possible. <\/span><b>BDD enables joint work<\/b><span style=\"font-weight: 400;\">The programming expert should be given the opportunity to discuss, before the programming expert starts writing the code.<\/span><\/p>\n<p><b>Creating software with BDD is synonymous with a better end product.<\/b><\/p>\n<h3><span style=\"font-weight: 400;\">How does the BDD technique work?<\/span><\/h3>\n<p><b>How does BDD or Behaviour Driven Development work?<\/b><span style=\"font-weight: 400;\"> First of all, BDD specifications are not done with a standard text. No, you have to use tools like Cucumber to translate these commands into a programming language. Later, we will see more examples of BDD tools.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Thus, in order to know how this software development methodology works, it is necessary to go ahead:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The first step is to <\/span><b>analyse the software requirements (<\/b><span style=\"font-weight: 400;\">objectives, what functions you need it to perform).&nbsp;<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">That said, the functions are described in <\/span><b>predefined scenarios<\/b><span style=\"font-weight: 400;\">. In this way, we will know how the software will react to a specific response.&nbsp;<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Finally, it is noted <\/span><b>the response of the software in each scenario<\/b><span style=\"font-weight: 400;\">The software is a software package, describing both the action and the status of the software.<\/span><\/li>\n<\/ul>\n<h3><span style=\"font-weight: 400;\">Tools for defining BDD<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">On the other hand, it is worth noting that there are a multitude of <\/span><b>BDD definition tools<\/b><span style=\"font-weight: 400;\">. In fact, there are as many as <\/span><a href=\"https:\/\/immune.institute\/en\/lenguajes-de-programacion-para-movil\/\"><span style=\"font-weight: 400;\">programming languages<\/span><\/a><span style=\"font-weight: 400;\">.&nbsp;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Here are some examples of these:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Python:<\/b><span style=\"font-weight: 400;\"> Freshen.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>JavaScript:<\/b><span style=\"font-weight: 400;\"> JSSpec.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>PHP:<\/b><span style=\"font-weight: 400;\"> Behat.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>C:<\/b><span style=\"font-weight: 400;\"> CSpec.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Java:<\/b><span style=\"font-weight: 400;\"> JBehave.<\/span><\/li>\n<\/ul>\n<h3><span style=\"font-weight: 400;\">What are the advantages of Behaviour Driven Development or BDD?<\/span><\/h3>\n<p><b>Is it clear to you what BDD is and why it is important as a form of software development?<\/b><span style=\"font-weight: 400;\"> Discover its many advantages below:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Improving internal and external communication:<\/b><span style=\"font-weight: 400;\"> Both between different experts such as software architects or web developers, as well as between management and the customer.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>A pre-development agreement:<\/b><span style=\"font-weight: 400;\"> The project and its functionalities are defined prior to the development of the software.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Easier learning:<\/b><span style=\"font-weight: 400;\"> The BDD language is much simpler than the one used with TDD, hence easier to learn.&nbsp;<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Agile methodologies:<\/b><span style=\"font-weight: 400;\"> BDD fits very well with this type of method, as it explains the different requirements such as user stories.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">And you, do you want to be a software implementer? Can you imagine yourself as a BDD expert? <\/span><b>At IMMUNE we have the training you were looking for.<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Be sure to check out our <\/span><a href=\"https:\/\/immune.institute\/en\/bootcamp-full-stack-developer\/\"><span style=\"font-weight: 400;\">Web Development Bootcamp<\/span><\/a><span style=\"font-weight: 400;\">as well as this training programme in <\/span><a href=\"https:\/\/immune.institute\/en\/secure-code-bootcamp\/\"><span style=\"font-weight: 400;\">Secure Coding<\/span><\/a><span style=\"font-weight: 400;\">. And, of course, don't forget about our <\/span><a href=\"https:\/\/immune.institute\/en\/ingenieria-software\/?\/\"><span style=\"font-weight: 400;\">Degree in Software Development Engineering<\/span><\/a><span style=\"font-weight: 400;\">! A double degree that we offer together with the University of Villanueva.&nbsp;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Learn at IMMUNE from experts in the sector.<\/span><\/p>","protected":false},"excerpt":{"rendered":"<p>Los softwares han cambiado. Lejos quedan esos modelos arcaicos de los a\u00f1os cincuenta y, mucho m\u00e1s, la matem\u00e1tica Ada Lovelace y su m\u00e1quina l\u00f3gica Babbage. Como toda tecnolog\u00eda evoluciona. Conforme pasan los a\u00f1os, su complejidad se incrementa. De ah\u00ed que aparezcan nuevas metodolog\u00edas para evaluar su calidad.&nbsp; Una de las m\u00e1s actuales es BDD o [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":7429,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_crdt_document":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-6939","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"acf":[],"_links":{"self":[{"href":"https:\/\/immune.institute\/en\/wp-json\/wp\/v2\/posts\/6939","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/immune.institute\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/immune.institute\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/immune.institute\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/immune.institute\/en\/wp-json\/wp\/v2\/comments?post=6939"}],"version-history":[{"count":0,"href":"https:\/\/immune.institute\/en\/wp-json\/wp\/v2\/posts\/6939\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/immune.institute\/en\/wp-json\/wp\/v2\/media\/7429"}],"wp:attachment":[{"href":"https:\/\/immune.institute\/en\/wp-json\/wp\/v2\/media?parent=6939"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/immune.institute\/en\/wp-json\/wp\/v2\/categories?post=6939"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/immune.institute\/en\/wp-json\/wp\/v2\/tags?post=6939"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}