Posts
Python API test automation framework (Part 9) Running tests in parallel
We explore using pytest xdist plugin to run tests in parallel for our frameworkPython API test automation framework (Part 8) Adding reporting with report portal
Any framework is incomplete without a robust test results reporting setup, In this post, I walkthrough how to setup pytest to report portal integration for people-api testsPython API test automation framework (Part 7) Refactoring structure
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 framework structure and refactor our existing tests into just that.Python API test automation framework (Part 6) API response schema validation
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 to add this additional coverage. We explore cerberus library towards that purpose in this postPython API test automation framework (Part 5) Working with JSON and JsonPath
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 any API test automation framework.Python API test automation framework (Part 4) Working with XML using python lxml
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 and how to work with XML in Python using popular lxml libraryPython API test automation framework (Part 3) Adding fluent assertions using assertpy
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 its capabilities in an API frameworkPython API test automation framework (Part 2) Making HTTP requests
Learn how to make http requests in python using requests and pytest for a locally hosted Flask APIPython API test automation framework (Part 1) Introduction, Setup and Installation
Introduction to the course and setting up python and required dependencies for building an API frameworkHow mob testing can bootstrap whole team quality
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 teaching everyone about the wonderful art of testing. In this post, I share the format I personally follow and my observations about this techniqueTesters identity crisis - QA/QE/AE/SDET/SET/TA? 🤷
In the Software Industry, Testers possess different titles. Sometimes these can cause different confusions in terms of roles/scope. In this post, I share what I feel about this and what do I preferHow to do logging integration with logback and testng in report portal
How to push logs into report portal using logback in a Kotlin/TestNG/Gradle projectA Testers imposter syndrome
Why do testers feel like an imposter and how to deal with it?Migrated away from Wordpress
How i moved away from Wordpress and into the world of static site generators with Jekyll and Github pagesWriting clear bug reports
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 report and I also provide a template that I use.Debugging tip: Conditional breakpoints in IntelliJ platforms
Useful debugging feature in IntelliJ based IDEs: Put a breakpoint which stops only when a certain condition matches.How to manage your python virtualenvs with Pipenv
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 your virtualenv and dependencies.Testing Android/IOS apps under network conditions
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 Android and IOS native apps.Musings on Equivalence partitioning and boundary value analysis
What are boundary value analysis and equivalence partitioning testing techniques? In this post we would understand these with an example.Using adb and cmdline to ease android app testing
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 some common workflows which are usually done during app testingHow to work with redis for test automation
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 and see how we can use redis-cli and a simple Kotlin class to interact with our server.Finding out package and activity name via adb for appium automation
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.Staying productive during work from home
How do I stay productive while working remotely or from home? This post is a collection of some practices that work well for me.Git commit amend: Way to quickly fix last commit mistakes
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.Why automate tests early
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 your feature ship. And why is there even a need for this in the first place?How I have set up my dev environment and workflow
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.Mobile app testing checklist
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 the ways of testing an application whether it be from a mobile, a web or an API interface is tough and an overhead. This mobile testing checklist is a brain dump of the different ways that I approach and think about testing apps in different conditions and hopefully reduces the cognitive load to remember these.How to setup ReportPortal on a local docker instance
Report portal is one of the new reporting solutions available. It supports multiple different test frameworks like TestNG, Cucumber, Pytest and many more. This post is the first in a series of posts on how to set up report portal effectively and leverage the best use out of it.The problem with titles for testers
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 bit more on learning the activities/practices and what are some of these activities that a tester does.Using TestNG setup/teardowns with data provider combinations
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 some research I found the solution. Here is a post, explaining how to use these constructs well with an example.Using IntelliJ to speed up your dev workflow
Give your development experience superpowers!
Understanding reporting and logging in TestNG
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 regardless of their size. For example: Large (functional) or medium/small level tests (Integration/Unit). It is a highly customizable framework and provides great flexibility around how you want to structure your tests and run them.
How to do reverse lookup enum constant by value in Kotlin
This is a neat trick I discovered recently
Advice from a test journeyman
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 around what behaviors can help them in their journey.Plain text note taking system using markdown for technical notes
Hello there,
Working with TestNG data providers in Kotlin
Data providers are not new, they are a cool feature in TestNG, in this post, we see how to implement these in Kotlin languageHow to setup a load test via Locust
Walkthrough of how we can use Locust to set up a simple test for a mocked API
Vol 2: How Kotlin eased my life in a Java world
2nd part in a series on how to write idiomatic Kotlin, Read first part here
7 Myths about software testing
Common misconceptions about testing and the people who perform it.
Testers are not the last line of defence
Thoughts on why testers need to think beyond their role and evolve to become quality coaches for the whole team.
Vol 1: How Kotlin eased my life in a Java world
Part 1 of a series of posts on why coding in kotlin makes so much sense over java.
Appium Conf 2019 Bengaluru : My experience
My Experience as a first time speaker in a test automation conference and the awesome talks and tools that I learned about.
How to run your grouped testNG tests using Gradle
Walking through how to group and run your testNG tests via gradle and to avoid common pitfalls.
Basics of writing Clean code
Key takeaways from Robert C Martin (Uncle bobs) book on clean codeTesting: First principles
What are some of the first principles of testing that every tester/engineer should know ofPycon India 2018: What i learned?
I attended my first pycon in 2018 in hyderabad. Here are my key learnings from the different talksVim: The editor you need, but not the one you deserve
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 practice you it really feels like this editor is one of the hidden gems which most coders are scared of.
Viewing network traffic calls on IOS real device using MITM Proxy
Getting Started
Remembering GIT commands
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 really helps to know about the beautiful command line behind those actions.
Duck Typing in python
Understand what duck typing in python means with an example
subscribe via RSS