<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jovani Brasil</title>
    <description>The latest articles on DEV Community by Jovani Brasil (@jovanibrasil).</description>
    <link>https://dev.to/jovanibrasil</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F975235%2F9c9b0d91-66a3-49d7-866d-6fca02a2bdcb.jpeg</url>
      <title>DEV Community: Jovani Brasil</title>
      <link>https://dev.to/jovanibrasil</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jovanibrasil"/>
    <language>en</language>
    <item>
      <title>Visual Gherkin Manager - devlog#3</title>
      <dc:creator>Jovani Brasil</dc:creator>
      <pubDate>Tue, 13 Dec 2022 01:54:50 +0000</pubDate>
      <link>https://dev.to/jovanibrasil/visual-gherkin-manager-devlog3-1lgc</link>
      <guid>https://dev.to/jovanibrasil/visual-gherkin-manager-devlog3-1lgc</guid>
      <description>&lt;p&gt;In the last few weeks, I worked on the implementation of a simple test case/scenarios generation algorithm based on flow diagram containing test steps. The algorithm was integrated into the already-existent application and the result is shown below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Qgm8rwii--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ztd6v2n4wfvhri785i3n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Qgm8rwii--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ztd6v2n4wfvhri785i3n.png" alt="Visual Gherkin Manager main delivered features" width="880" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Remember how it works&lt;/strong&gt;: It is necessary to create a diagram with the test steps (test step is a diagram "component"), indicating the test connections (a test connection is a diagram "link") for each step. A flow/scenario/case is a sequence of test steps connected by links with the same label. Then the tool can generate Gherkin tests based on the created diagrams. &lt;strong&gt;The ideia is to provide the Gherkin tests view and management in a visual approach based on diagrams&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In the output implementation, was used the library &lt;a href="https://github.com/SmartBear/react-gherkin-editor"&gt;React Gherkin Editor&lt;/a&gt;, &lt;a href="https://dev.to/jovanibrasil/-visual-gherkin-manager-13l1"&gt;as previously planned&lt;/a&gt;. The editor was encapsulated in a React Component, to manage editor configurations and some states (editor text content, for example).&lt;/p&gt;

&lt;p&gt;For the generation of scenarios it was necessary to think a little more, basically was implemented a recursive depth traversal algorithm that maps the possible paths in the flow and generates a set of test scenarios. It is very important to note that the paths are built according to the transitions, which are the scenario identifiers. All this logic was implemented inside of a service that is called when you click on generate tests.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GfdovpTZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vwv0osb7g1350f07ykng.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GfdovpTZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vwv0osb7g1350f07ykng.png" alt="Visual Gherkin Manager with diagram paths" width="880" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Today I started to work on the implementation of diagrams import, that personally I believe to be essential for the tool to be very helpful. For the next post, I will show the importing diagrams feature and present some backlog for the subsequent implementations.&lt;/p&gt;




&lt;p&gt;You can visit the application &lt;a href="https://quality-flow-tool.netlify.app/"&gt;here&lt;/a&gt; to evaluate. All feedback is welcome.&lt;/p&gt;

</description>
      <category>react</category>
      <category>automation</category>
      <category>qa</category>
      <category>devlog</category>
    </item>
    <item>
      <title>Visual Gherkin Manager - devlog#2</title>
      <dc:creator>Jovani Brasil</dc:creator>
      <pubDate>Sun, 27 Nov 2022 23:54:33 +0000</pubDate>
      <link>https://dev.to/jovanibrasil/visual-gherkin-manager-devlog2-54e1</link>
      <guid>https://dev.to/jovanibrasil/visual-gherkin-manager-devlog2-54e1</guid>
      <description>&lt;p&gt;I have been working in this project since the last post, and today I will show you a first result. &lt;/p&gt;

&lt;p&gt;The first feature implemented was the canvas to model the test flow using a visual diagram that seems like an activity diagram. In the last post I was thinking something like the following:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftrdytt0ahiaooy30x4j8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftrdytt0ahiaooy30x4j8.png" alt="desired-model-diagram" width="800" height="296"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After a lot of effort, using React with TypeScript and the library &lt;a href="https://github.com/projectstorm/react-diagrams" rel="noopener noreferrer"&gt;react-diagrams&lt;/a&gt; the following result was achieved:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frfjle88xlh7a471voxyo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frfjle88xlh7a471voxyo.png" alt="achievied-model-diagram" width="800" height="326"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I was a long time without writing some frontend code with React and most of the effort was remember the necessary structure and concepts. &lt;/p&gt;

&lt;p&gt;The library &lt;a href="https://github.com/projectstorm/react-diagrams" rel="noopener noreferrer"&gt;react-diagrams&lt;/a&gt; is very extensive, allowing easy customization of all necessary components styles and behaviors. For example, It were necessary to create custom node and label components to contemplate the desired needs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcrayy3cryy1zk36hn9bo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcrayy3cryy1zk36hn9bo.png" alt="simple-components-explanation" width="800" height="295"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A important point is the lack of diagram validations. I am mapping possible rules that are required to avoid unexpected errors/behaviors and maintain some level of consistency. All the rules will be implemented soon.&lt;/p&gt;

&lt;p&gt;I am working in the test case generation (Gherkin format), that is the second main part of the project. In the next post I will share with you the results.&lt;/p&gt;




&lt;p&gt;The application was deployed on Netlify, you can visit &lt;a href="https://quality-flow-tool.netlify.app/" rel="noopener noreferrer"&gt;here&lt;/a&gt; to evaluate. &lt;/p&gt;

</description>
      <category>watercooler</category>
    </item>
    <item>
      <title>Visual Gherkin Manager - devlog#1</title>
      <dc:creator>Jovani Brasil</dc:creator>
      <pubDate>Sun, 20 Nov 2022 14:47:39 +0000</pubDate>
      <link>https://dev.to/jovanibrasil/-visual-gherkin-manager-13l1</link>
      <guid>https://dev.to/jovanibrasil/-visual-gherkin-manager-13l1</guid>
      <description>&lt;p&gt;In this project, the idea is to provide a tool to visually help Gherkin tests management. It will be developed a tool that allows you to model Gherkin test flows using activity diagrams and it will be able to convert this flows to tests specifications. &lt;/p&gt;

&lt;p&gt;For this, the first step is to think about how to convert the diagrams to test specification. At first it might be something simple, maybe using a graph representation and an algorithm to traverse the graph to find all possible graph combinations.&lt;/p&gt;

&lt;p&gt;The second step is create an React SPA (Simple Page Application) with the basic necessary features. Some components for the first project version&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;A canvas to model the flows: This "modeler" will be implemented using the &lt;a href="https://github.com/projectstorm/react-diagrams"&gt;Storm React Diagrame&lt;/a&gt; that allows to create beautiful and consistent diagrams. It must be possible to generate a diagram like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qfArg_BM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9tnawxc9vrjgsvp23zr8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qfArg_BM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9tnawxc9vrjgsvp23zr8.png" alt="Sequence diagram with an example of shopping cart flow of an eCommerce website" width="880" height="328"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A text output: I am looking for some already existent solution, one that I really liked was &lt;a href="https://github.com/SmartBear/react-gherkin-editor"&gt;React Gherkin Editor&lt;/a&gt; that supports Gherkin style. The ext output must be something like this:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Pw1zlOap--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/709hcdsfdvaodlddi8x8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Pw1zlOap--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/709hcdsfdvaodlddi8x8.png" alt="Sequence diagram converted to gherkin" width="648" height="358"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I will work in this project and for the next post, I hope to have at least some results to show.&lt;/p&gt;

</description>
      <category>devlog</category>
      <category>react</category>
      <category>qa</category>
      <category>automation</category>
    </item>
  </channel>
</rss>
