{"id":12099,"date":"2014-04-24T13:54:54","date_gmt":"2014-04-24T10:54:54","guid":{"rendered":"https:\/\/mozaicworks.com\/?p=6956"},"modified":"2023-09-15T15:04:56","modified_gmt":"2023-09-15T12:04:56","slug":"a-developer-in-test","status":"publish","type":"post","link":"https:\/\/mozaicworks.com\/blog\/a-developer-in-test","title":{"rendered":"A Developer in Test"},"content":{"rendered":"
<\/a><\/p>\n Modern applications are interconnected, depending on public services from one or more external applications. At the same time, applications change often. Their public services are very likely to change also. When this happens, our application has to continue working correctly<\/strong>.<\/p>\n How can we know it does? The answer is by having automated tests for all external services used. How does such a test look? How is it written? What technologies\/skills do we need? Who is going to implement it? These are tough questions, but Aimee Rivers<\/a> has shown us that the answers are easier than they seem in her talk from I T.A.K.E. Unconference 2013<\/a>.<\/p>\n The usual problem when trying to answer this question is that developers don’t like to write tests and testers might not have the necessary technical skills. Still, someone has to be the lucky person to do it and according to Aimee, the DIT (Developer in Test) will be the one.<\/p>\n Now you may wonder what is a DIT? Is it another role in the development team? It turns out that it is not a new role. Before watching Aimee’s video, I have used the name “agile programmer” instead because the DIT is a programmer who likes to:<\/p>\n For the following story:<\/p>\n As a visitor to Bucharest Aimee presents the automation of a test case using Cucumber, Gherkin and Selenium. You can see the process in the video, but here’s a short description:<\/p>\n The test automation example from above highlights some of the necessary skills that Aimee and any other developer in test need: My favorite quote from the video<\/a> is that “A developer in test”<\/b><\/i> is like a bass guitarist. Aimee Rivers is a bass guitarist: the developer in the team that “encourages, motivates her colleagues and keeps people together.”<\/i> She even encourages developers to write tests themselves. She makes work fun. I want to enjoy work as much as she does, so I intend to follow her advice.<\/p>\n Aimee takes pride in connecting the programmers with the testers. Even though she does not want to show it, she is an exceptional representative of the Software Craft movement.<\/p>\n The Software Craft<\/strong> movement will be highly represented at I TAKE Unconference<\/a> where we come together as an European development community to learn techniques to work better while better enjoying the work. You will learn, share, understand more about software development. Prepare for special moments that only programmers can appreciate (don’t tell anyone, but we’re planning a “language beauty contest”). Get your ticket now<\/a> and join the 100 European software crafters who registered until today!<\/p>\n","protected":false},"excerpt":{"rendered":" Modern applications are interconnected, depending on public services from one or more external applications. At the same time, applications change often. Their public services are very likely to change also. When this happens, our application has to continue working correctly. How can we know it does? The answer is by having automated tests for all […]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"footnotes":""},"categories":[1103,1124,1126],"tags":[1123,1159,1252],"acf":[],"_links":{"self":[{"href":"https:\/\/mozaicworks.com\/wp-json\/wp\/v2\/posts\/12099"}],"collection":[{"href":"https:\/\/mozaicworks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mozaicworks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mozaicworks.com\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/mozaicworks.com\/wp-json\/wp\/v2\/comments?post=12099"}],"version-history":[{"count":3,"href":"https:\/\/mozaicworks.com\/wp-json\/wp\/v2\/posts\/12099\/revisions"}],"predecessor-version":[{"id":15497,"href":"https:\/\/mozaicworks.com\/wp-json\/wp\/v2\/posts\/12099\/revisions\/15497"}],"wp:attachment":[{"href":"https:\/\/mozaicworks.com\/wp-json\/wp\/v2\/media?parent=12099"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mozaicworks.com\/wp-json\/wp\/v2\/categories?post=12099"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mozaicworks.com\/wp-json\/wp\/v2\/tags?post=12099"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}Who’s going to build the test?<\/strong><\/h2>\n
\n
How does a test look like?<\/strong><\/h2>\n
\nI want a weather report
\nSo that I know what clothes to wear<\/p><\/blockquote>\n\n
\n<blockquote>Given that weather is raining
\nWhen I look at the weather for “Bucharest”
\nThen I should see the weather is “light intensity shower rain”<\/blockquote><\/li>\nWhat skills should<\/strong> a DIT have?<\/strong><\/h2>\n
\n1. Enjoys and knows how to write executable specifications<\/a>
\n2. Knows how to translate these executable specifications into code<\/a>
\n3. Knows how to use automated tests solutions like Selenium<\/a>
\n4. Is familiar with BDD
\n5. Enjoys collaborating with the whole team including the business analysts
\n6. Enjoys testing both using and not using code<\/p>\nBass guitarist
\n<\/strong><\/h2>\n