Hello 👋

I’m an experienced Lead Automation Engineer with a solid history in the Software Testing domain, particularly in Test Automation. My proficiency lies in curating robust, reusable, and maintainable automated test scripts.

My intent for this blog is to share my knowledge, and experiences and engage with like-minded professionals and enthusiasts who share a passion for software testing, automation, and DevOps.

I have gained expertise in the following fields and technologies:

  1. Test Automation: Proficient in setting up and carrying out automation testing projects from scratch. I have hands-on experience with many of the industry standard tools/solutions for automating web application(UI) and API testing. Here is a quick rundown of my competencies:

    • Selenium WebDriver and Selenide: I possess rich experience in Selenium WebDriver for automating web application testing. I have also worked with Selenide, a powerful and concise wrapper library on top of WebDriver.

    • WebDriverIO: I am proficient with WebDriverIO, a custom implementation of WebDriver's protocol. I have used it in several projects, primarily for setting up automated testing processes.

    • Playwright: I have hands-on experience with Microsoft Playwright. This tool provides excellent capabilities for automating tests across all modern browsers.

    • Cypress: I have significant experience using Cypress, an end-to-end testing framework. It provides an easy and reliable testing environment to simulate user behavior.

  2. Programming: My career in automation has allowed me to develop proficiency in several programming languages:

    • Java: I am an expert in Java, which has been the primary language for my test automation projects. I have primarily used it for web and API test automation, along with designing and developing sophisticated frameworks and utilities to facilitate automation.

    • JavaScript/TypeScript (NodeJS): Aside from Java, I've employed JavaScript/TypeScript and, particularly, the Node.js environment. Whether it's creating automation scripts using WebDriverIO or Cypress, or writing API tests using Mocha or Jest, my JS skills have allowed me to tackle various automation tasks efficiently.

    • Python: I also have a basic understanding of Python, which is a powerful language for scripting and automation, and am continuously working to enhance my proficiency.

  3. Build Tools & Package Managers: An essential part of my work has been integrating and managing different build tools to streamline the automation process. Below are the tools I am proficient in:

    • Maven: I am well-versed in using Apache Maven. I've used it extensively for project setup, dependencies management and to automate builds and reports in several Java-based automation projects.

    • Gradle: Alongside Maven, I've leveraged Gradle as a build tool in some of my projects. Its flexibility and performance improvements in large projects complement my proficiency in automation testing.

    • npm: I've used npm (Node Package Manager) for managing JS packages in Node.js projects. I've utilized it in JS-based test automation for managing project dependencies, scripts, and versions.

    • yarn: To expedite build times and enhance security, I've also used Yarn, a package manager for the Node.js packages. It worked particularly well in large-scale projects where package installation and consistency were key.

  4. Full-stack Development: I bring to my projects a diverse skill set beyond test automation. I have worked as a full-stack developer, building robust and responsive applications. Here's a brief of my competencies:

    • Spring Boot: In the backend, I have leveraged the Spring Boot framework for creating standalone, production-grade applications. My experience includes building RESTful services, with embedded servers, and using Spring Data JPA for data access.

    • Express.js: For projects based on a Node.js stack, I've utilized Express.js. It has allowed me to create server-side web applications quickly and with minimal fuss. This includes setting up middleware to respond to HTTP requests, defining a routing table, and performing necessary functions on the database.

    • Angular: On the front end, I've worked with Angular to build dynamic, single-page applications. My tasks involved designing and implementing robust components, services, and directives, as well as managing the state of the application.

  5. CI/CD: With the increasing demand for frequent application changes, establishing efficient CI/CD pipelines has been a significant part of my role. Here are a few tools I've worked with and excelled in:

    • Jenkins: I extensively used Jenkins for CI/CD due to its flexibility and vast plugin ecosystem. I have hands-on experience writing comprehensive Jenkins pipeline scripts for automating builds, testing, and deployments.

    • GitHub Actions: Leveraged GitHub Actions for automating workflows directly in the repository. This has enabled me to build, test, and deploy applications directly from GitHub without relying on external CI/CD tools, providing a seamless experience with version control and CI/CD.

    • Others: I have also explored other solutions like - TeamCity, TravisCI, GitLab, CircleCI, and SemaphoreCI either as part of project POC work or the blogs.

  6. API Testing: Testing and automating APIs is a crucial aspect of my testing profile. Here are some of the tools and frameworks I have used in this realm:

    • REST Assured (Java): I have extensive experience using REST Assured for testing REST APIs in Java. Its powerful set of functionalities, easy-to-use BDD syntax, and seamless integration capabilities have enabled me to craft comprehensive test cases with validations.

    • Postman: Often, I've employed Postman for both exploratory testing and automation of APIs. Its user-friendly interface, organized collection and environment management, comprehensive test suite capabilities, and powerful scripting in the pre-request and test sections have made it an effective tool for my API testing needs.

  7. Version Control System: Proficient in Git for source code management of test scripts and frameworks. Comfortable with branching, merging, pull requests, and conflict management.

  8. Databases: I have rich experience working with various relational databases like PostgreSQL, Oracle DB, MySQL, and NoSQL databases like MongoDB. My skill set spans writing complex queries, and utilizing ORM tools, allowing me to effectively work with the data layer of the applications.

  9. Cloud Computing: My technical expertise also extends to cloud-based platforms where I've explored and worked with major vendors like AWS, Google Cloud Platform (GCP), and Azure. Not only do I have practical experience deploying and managing applications in these environments, but I've earned several significant certifications. These include GCP Cloud Engineer, GCP Professional Architect, Azure Fundamentals (AZ-900), and Azure AI Fundamentals (AI-900). These certifications validate my ability to design, build, and manage robust, secure, scalable, and dynamic solutions on the cloud.

  10. Team Leader: Apart from technical acumen, I have significant experience leading teams and managing test life cycles.

    • Test Management: With vast exposure to test management, I'm well versed in designing, implementing, and controlling the test process. My experience includes creating test plans, tracking bugs, and supervising functional and non-functional testing. This ensures that the software product maintains high quality and meets the desired objectives.

    • Team Leadership: As a leader, I have regularly guided my teams toward the successful completion of projects. I bring strong communication skills, problem-solving capabilities, and the ability to coordinate effectively between teams and stakeholders. My leadership style enhances collaboration and ensures that we meet deadlines without compromising on quality.

Keep an eye out on my blog for the adventures and wisdom I gather from my professional journey. I truly believe in the power of sharing knowledge and thus, welcome constructive discussions and knowledge expansion.

Thanks for visiting! Stay tuned for informative and exciting content about all things automation!