📛 Common terminology misses in software testing
Does it matter? Maybe … maybe not. But … It doesn’t hurt to be clear
Does it matter? Maybe … maybe not. But … It doesn’t hurt to be clear
This question often crosses the mind of people working as an SDET one or more times during their careers. In this blog, I offer a personal story from my own ...
Strategies and tips on how to approach platform engineering work while working in a product team as an SDET
A post on how self-learning on your own time can bring you compounding effects in your engineering career that your day job just might not!
Talks I saw and what I learned from them, tools and solutions explored at booths and the people I met
Learn how to write a load test for a locally hosted gRPC Java service using locust4j and run it on a local locust python-based master service
Explore how to write a Functional API test for gRPC API with the live service
Grasp internals of how a client is written, and unit test it with a positive and negative case with a fake service implementation.
A random unordered list of skills, approaches, habits, and growth ideas that I wish I had known at the start of my testing career to mature and compound faster
How is a service method implemented, What is the basic anatomy of a server unit test, grasp GrpcCleanupRule, InProcessServer and InProcessChannel. Let’s go ⚡
What is gRPC, its basic nuts and bolts, how to setup a server and explore APIs via gRPC web UI
A deeper look at disproportionately staffed engineering teams and what can we as leaders do to nudge this into more healthier and balanced directions
How do engineering teams at Meta enable Quality for an app with a 2B+ monthly active users
How does Meta do performance reviews for their software engineers? Let’s find out. 🤓
Meta-engineering culture is driven by obsessing over the impact and the use of data to support and inform decisions. This is a core engineering value and lea...
Meta encourages engineers to spend time on work that improves engineering efficiency and also take time to huddle for a week to focus on creative problem sol...
How engineers and leaders at meta promote an Open culture of transparency through Weekly Q&A, Bring your own coffee (BYOC), Office hours and sharing cont...
At meta, Software engineers/developers own writing tests for their features and code, They are supported by dedicated teams and a sophisticated test infra th...
Each new engineer @ meta goes through a 6-week intensive boot camp program that sets them up for success in their future teams and roles. Let’s unpack how th...
How software engineers at meta have a lot of autonomy in choosing what they work on
In this post we discuss the practice of doing your research first to unblock yourself and asking questions
Not your traditional hard tech skills but rather equally important
Understanding how different testing organizations are setup in enterprise, small product, hyper growth scale up and big tech companies based on my personal e...
Learn how to find a non unique element using a unique sibling element with espresso
I’m really excited to announce the start of my you tube channel on Software Engineering and Testing
Links to Code samples, blog posts, slides and quizzes used in the tutorial
Learn how to automate WebViews in hybrid android apps using espresso-web
Make your espresso test resilient by using idling resources to handle synchronization when needed
Learn how to automate android intents (with and without stubbing) using espresso
Learn how to automate android list controls like AdapterView and RecyclerViews using espresso
Getting started with Android automation using Espresso
I recently switched to Meta London as a Software Engineer. This post talks about my interview experience and journey, how I prepared and resources for these ...
Software development engineer in Test is a popular role/title in Testing space. In this post I share my thoughts on what this role means and some of the skil...
Software testing and Test automation is nuanced field. There are many common sense truths that engineers should take care. This post elaborates on a twitter ...
I started my career as a professional Software tester and Automation engineer 10 years ago on this very day. This post is me reflecting on how this decade we...
Here to announce that the course on building an API test automation framework using Python is finally live on Test automation university. Check it out
We explore using pytest xdist plugin to run tests in parallel for our framework
Any framework is incomplete without a robust test results reporting setup, In this post, I walkthrough how to setup pytest to ReportPortal integration for pe...
So far we’ve seen how to do something using a specific module in python and their syntaxes. In this post we explore what could be a good API automation frame...
Asserting that your api’s are returning responses conforming to valid schema contracts is very important. With a data validation library its often quite easy...
In this post, we explore how to perform serialization/de-serialization of JSON and use JsonPath to parse JSON strings which forms a crucial building block of...
Working with XML in any test automation framework specially API is inevitable, In this post we see how to write tests for an API that returns XML response an...
Using a good assertion library can supercharge your automation framework. In this post we see how assertpy library could be useful and see some examples of i...
Learn how to make http requests in python using requests and pytest for a locally hosted Flask API
Introduction to the course and setting up python and required dependencies for building an API framework
Mob testing is a very useful testing practice to encourage the whole team to test together and more often and is really effective at finding bugs while teach...
In the Software Industry, Testers possess different titles. Sometimes these can cause different confusions in terms of roles/scope. In this post, I share wha...
How to push logs into ReportPortal using logback in a Kotlin/TestNG/Gradle project
Why do testers feel like an imposter and how to deal with it?
How i moved away from Wordpress and into the world of static site generators with Jekyll and Github pages
Writing clear and concise bug reports can greatly reduce the back and forth between different engineering stakeholders. We discuss on what makes a good bug r...
Useful debugging feature in IntelliJ based IDEs: Put a breakpoint which stops only when a certain condition matches.
Working with virtualenvs in python can be a bit tricky initially, Luckily we have pipenv now, which makes it quite easy to create, edit, delete and manage yo...
Mobile apps should be tested not just under WiFI but under “more” realistic network conditions. In this post we see how we can simulate these conditions on A...
What are boundary value analysis and equivalence partitioning testing techniques? In this post we would understand these with an example.
Using adb and command line can simplify and ease many tasks that are otherwise performed via a UI. In this post, we cover how to use adb/scrcpy to perform so...
Redis is a powerful in-memory data store that could be used for a variety of test automation use cases. In this post, we setup a redis server on an ubuntu VM...
A post on how to use adb and aapt tools in android sdk to figure out the package and activity names for use in Appium desired capabilities.
How do I stay productive while working remotely or from home? This post is a collection of some practices that work well for me.
A quick post on how git amend command can help you fix and change your last commit if you want to add something more or have made a mistake.
A post on why test automation early and in parallel to the development cycle can help you scale faster and give better and quickly repeatable confidence over...
Thoughts on how I have set up my dev environment on MacBook Pro and settings that could be modified to increase productivity and developer happiness.
A testers brain requires a lot of creativity and the no of scenarios that we test on a day to day basis are innumerable. Expecting the brain to remember all ...
ReportPortal is one of the new reporting solutions available. It supports multiple different test frameworks like TestNG, Cucumber, Pytest and many more. Thi...
An opinionated post on Why focussing on titles is an anti-pattern that should stop in the Testing world and how much better the industry if we all focussed a...
Sometime back, I tried to update my Kotlin test code using TestNG to use data providers and Before/After annotations and it did not work immediately. After s...
Give your development experience superpowers!
TestNG is a popular test framework that needs no introduction in the JVM (Java virtual machine) ecosystem and can be used for automating your tests regardles...
This is a neat trick I discovered recently
In this post, I want to share some of my mental models as a test journeyman with the hope that it gives some insight to people who are a bit new to the field...
Data providers are not new, they are a cool feature in TestNG, in this post, we see how to implement these in Kotlin language
Walkthrough of how we can use Locust to set up a simple test for a mocked API
2nd part in a series on how to write idiomatic Kotlin, Read first part here
Common misconceptions about testing and the people who perform it.
Thoughts on why testers need to think beyond their role and evolve to become quality coaches for the whole team.
Part 1 of a series of posts on why coding in kotlin makes so much sense over java.
My Experience as a first time speaker in a test automation conference and the awesome talks and tools that I learned about.
Walking through how to group and run your testNG tests via gradle and to avoid common pitfalls.
Key takeaways from Robert C Martin (Uncle bobs) book on clean code
What are some of the first principles of testing that every tester/engineer should know of
I attended my first pycon in 2018 in hyderabad. Here are my key learnings from the different talks
Hi there! So apart from the obvious reference to the Dark knight trilogy, I think this is quote in a small way highlights how great Vim is. Once put in pract...
GIT is one of the most popular SCM tools being used these days, and even though there are lot of UI interfaces to it (Source tree, GIT extensions etc), It re...
Understand what duck typing in python means with an example