Hi all! I am back with my last and final part of the BDT trilogy. And as mentioned, this last part will be super short and will have no connection with BDT. If you can recall during the first part of this series, I told you that I mix Cucumber-Junit with Vanilla Junit. I use whatever is necessary for the given scenario.

This brings me to the subject of this post. I have seen a lot of developers using a public access modifier when it makes more sense to use a private method. When I probe them on it, their…


In today’s world every system we interact with, we need to identify ourselves. And How do we identify? Using id and passwords. This is a very effective solution but has its own caveats. First of all, passwords can be easily brute-forced using dictionary attacks. To circumvent this, we need to enforce strict password policies. Which means the password is generally not easy to remember and it needs to be changed every month or so. …


Not so long back I was working on a project where we got complaints from the client that the infrastructure monthly cost is too high and they asked us to see if there is anything that we can do to reduce it.

On inspection of the monthly billing we found that the RDS (Postgres) component cost was actually contributing to a major part of the cost. On further inspection we found that it was due to the high IOPS (50K/second).

The production system was live with only two customer sites with entry/exit information and so the data load on the…


Hi all. Not long ago, I wrote an article on Flowable — Overcoming Common Hurdles in Flowable. Since then, I have been using Flowable often.

In my current project, we are using an event-driven architecture orchestrated by Apache Kafka. In the scope of the project, I realised that Flowable would be quite useful.

But the pertinent question that I had in my mind was… can I use Flowable in an event-driven context? My concern was eased when I found out about the latest 6.5.0 release of Flowable. …


Hi all! As promised, I am back with a follow-up post. This time, it’s mostly for developers who want to understand how to implement BDT in their Spring Boot Applications.

Let’s do it step by step.

Step I — By defining my acceptance criteria, I make sure I always have a story to work with. My tests are as good as the acceptance criteria. Over the years, BDT has moulded me to understand the functionality first. The more I try to understand the functionality, the more I ask questions during inception or grooming. This helps me clarify each and every…


Hi there! I thought of sharing my approach on testing CRUD applications. First, a little introduction about myself — I am a senior engineer working on backend system design and the architecture of web applications. When I first started working, I understood one thing very quickly, that a robust, resilient ,and scalable application needs thorough testing. Like most developers, I started with JUnit to write unit tests. But slowly with time, I started using Cucumber.

When I made the shift, a lot of people from the developer community had warned me that using Cucumber entailed doing more integration tests rather…


Today, when we interact with someone, be it an individual or an entity, can we be really sure he, she or it is whom they are claiming to be? Anyone can create and fake a social media profile in an instant, while a hacker can easily develop a malicious website and trick someone to visit it (phishing). The fundamental issue here is that identification always happens on one end.

The problems can be summarised with a single word… trust. And it doesn’t just end here.

The Problems in Today’s Internet Identity Landscape

To identify ourselves in the digital realm, we…


Not very long ago, I was working on a Spring Boot project, where we were automating an insurance claims submission process. The client had given certain non-functional requirements for retrying certain tasks and recovery scenarios. To visualise the whole story, I drew the business flow using BPMN notation on a piece of paper. And then it hit me… why don’t I use a process engine?

I have had used two process engines before: Activiti and Appway. As Activiti was open-sourced and built on Java, it was my natural choice. …

sukalpo mitra

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store