- 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.
- 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 post
- 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.
- 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 library
- 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 framework
- 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 teaching everyone about the wonderful art of testing. In this post, I share the format I personally follow and my observations about this technique
- 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 prefer
- How to push logs into report portal 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 report and I also provide a template that I use.
- 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 your virtualenv and dependencies.
- 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.
- 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 some common workflows which are usually done during app testing
- 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.
- 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 your feature ship. And why is there even a need for this in the first place?
- 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 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.
- 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.
- 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.
- 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.
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 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.
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 around what behaviors can help them in their journey.
- 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
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
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 practice you it really feels like this editor is
one of the hidden gems which most coders are scared of.
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.
- Understand what duck typing in python means with an example