Posts

Playwright - The Game Changer Test Automation Tool

Image
Are you looking for a new Software Test Automation Tool at your company? If so, then read on... Playwright (PW) has taken the Test Automation world by storm. I started hearing about it's success stories couple of years back. Realizing it's potential i gave it a try by creating a Synthetic monitoring system for one of the products at my workplace. I was truly amazed at the results and my enthusiasm for it only increased with time as i helped roll it out to multiple teams at work. In this blog i will share with you the main reasons i like and truly enjoy working with Playwright.  1. Reliability : Out of all the features of a test automation tool - i consider reliability to be highest.  A reliable tool reduces debugging time, improves quality of work life and opens up time to work on other value adding activities. After analyzing hundreds of test failures over 50K test runs in the past year - i am happy to report that the number of test failures directly attributable to PW was

Travel Checklist for Stress Free travel

In your travels have you missed flight, forgotten cell phone charger or other items ? I have and realized through hard experience that memory is fickle, checklist is reliable  !  Recently I needed to travel to Montreal, Canada for personal reasons. Instead of preparing for the trip in an impromptu way as i have sometimes done before, I took inspiration from Checklist Manifesto Book by Atul Gawande and decided to create a detailed travel checklist. Mine is a supplement to this excellent travel checklist .  I hope you find below list useful as well in your future travels: 1. Travel Documents - If your destination is international then you need to research the entry requirements. Very likely you will need to carry your passport and optionally need a visa . If you need visa then you need to  start early as visa processing times may vary. For domestic travel make sure you are carrying drivers license or equivalent identification document with you. 2. Booking air ticket and hotel - Previ

New Habits for 2023

  The start of the New Year is a great time to step back and revisit how life is going and dwell on what new habits to start, stop or continue.  This time I am going to try something new - sharing my list in my blog and refer back to it each month to see how i am doing. Below is my list:  Reduce SmartPhone usage:  Here are some places where my cell phone usage creeped in -  immediately after waking up to check the news, eating (breakfast, lunch, dinner), shopping (e.g. i am in grocery store and checking some news on my cell phone) and while doing some other activities. The biggest usage for me was from  Chrome,  youtube, linkedin, etc. so primarily from news and social media categories. Fortunately, late last year i realized i need to put a limit to this and now i am much more intentional about cell phone usage. I am tracking my "screen time" usage now and i have put a time limit of 1 hr on above apps. I credit this habit with helping me spend more quality time with my family

How to become an Open Source Contributor

Contributing to Open Source Software (OSS) was something i had thought about a few times before but never quite made it a priority. Fortunately, things fell into place over the past few months and i made a few open source contributions in 2022. It was a great learning and enjoyable experience. In this blog, I will share some tips and lessons learned in hope of motivating you to also become an OSS contributor. 1.  Find an Open Source project that aligns with your interests   or you use at work. For me it was the  Opentelemetry project  and in particular the  opentelemetry-demo  app within it. I am passionate about the  Observability domain as i think it's the key to improve reliability and availability of software applications that we all use and rely on in our day to day lives (news,  banking , map mobile apps and web sites etc.). Opentelemetry project is an OpenSource project within the Observability domain backed by multiple observability vendor (AppDynamics, Dynatrace, Datadog,

Software Alerting maturity levels

Over the years i have been part of several incident responses in production and pre-production environments for Software as a Service (SaaS) products. I have observed significant variations amongst teams w.r.t. their Alerting setup and processes. After some thought i came up with below Alerting maturity level starting from lowest to highest.    1. Team doesn't have any monitoring dashboards to monitor it's services in production or pre-production environments. Essentially, monitoring is considered low-priority as the team is "too busy" building new features. I have seen this trade-off in startups still trying to find product market fit. Another reason for this situation is "luckily" the team hasn't had production incidents - maybe due to low usage or less complex software. Once a company starts to have real users  then it's time to invest in setting up monitoring dashboards. 2. Team has  monitoring dashboards for Production env only  but not pre-pro

Common Docker Compose commands

Docker is fantastic tool to containerize a service and all it's dependencies. However, in practice rarely do you use a service by itself. Typically, you will have multiple services (or micro-services) collaborating to provide all the features of a customer facing application.  Docker compose is a tool from Docker that allows you to quickly and reliably spin up multiple containers locally on your Mac, Windows or Linux desktop. It provides constructs to: Put all the related containers in one docker-compose file Ensure they spin up in certain order (E.g. a database should be up before an application calls it) Are part of same local network so they can send API requests to each other Without Docker compose it would be quite a pain to do all the above yourself. Here are some commands i use frequently when running docker compose:  Let's say you modified one of the dockerfile or the service code. You then run the below command to build a new image: docker compose build <service_nam

Docker commands I use Frequently

Image
Nowadays, docker is an integral part of software development. I use it regularly as part of my job and overtime i have found i use some commands lot more frequently compared to others. If you are new to Docker or revisiting docker after a while i hope you will find this list useful.  Setup :   1. Before launching any docker command on your terminal make sure you have downloaded,  installed and started   Docker Desktop  on your system (Mac/Windows/ Linux). 2. On a Mac you should see the docker icon come up in top right corner of status menu bar. Clicking on it you should confirm "Docker Desktop is running" message is appearing and a green icon next to it. Now you are all set to run the below commands. 3. Confirm docker is running well from command line by running below command in terminal:           docker  This should output commonly used docker commands and their brief description. Instead, if you get an error message  Cannot connect to the Docker daemon at unix:///var/run/d