Non-API (backend) testing with postman

Hello fellow Kevin Costner fans,

We are looking to start testing on our new API and of course Postman is on the top of our list.
However, we are wondering how to use Postman to get exactly the test logic that we want, because it involves doing stuff that’s not an API call.
For example:

  1. (prodcut API) Log in to the page
  2. (product API) Place an order
  3. (manual work) Now, we want to test AT THE DB that the order is placed correctly
  4. (manual work) Trigger backend to fulfill order
  5. (product API) Check order status

My initial idea is the following:
I will create a server (so easy to do in Python!) that exposes an API that leads to methods that automate those backend steps.

If we call that server AuxQA, the test will now look like so:

  1. (prodcut API) Log in to the page
  2. (product API) Place an order
  3. (AuxQA API) Validate db for order placement
  4. (AuxQA API) Trigger backend to fulfill order
  5. (product API) Check order status

And now, we can achieve all of this with Postman :smile:

My question is: Does this solution look alright? Is that what QA people normally do (surely, we aren’t the first who need to mix some API work with backend) or there’s a more popular/correct option?

Any discussion, pro/cons, tips would be highly appreciated!

Thanks

1 Like

Yes, it does look great and I like this approach a lot.

Pros:

  • you can automate everything with Postman and this is the goal

Cons:

  • you need to keep the QA API in sync with the db / backend, make sure it works across multiple environments and versions
  • you need to make sure your QA API is maintained and deployed on the systems that you are running the tests
  • you need to ensure security: QA API should not be deployed on production systems

There is no one-size-fits-all solution. Each project may have its own issues on why something may nor may not work.

I hope this helps.

1 Like