1

I am testing a GET "xyz" API which is one of the many apis needed by a web UI. We need to setup some data before we test xyz. It can be done by using other apis like "abc" or by web UI. Both approaches take several hours, but the abc method is much faster than UI. The xyz api and web ui which uses it are not yet deployed to production.

I had automated xyz testing by using abc api calls. But, I need to frequently update my automation because of changes in xyz. For example, a new feature requires xyz to give 204 no content instead of a 200 ok with a large body. Now, we need to use "def" api instead of abc to create test data. There are other changes too. Moreover, I am not informed about many of theses changes. So, my automation fails, leading me to believe that the changes are bugs and not features.

Luckily, the way I wrote my tests, I did not have to make big changes to meet many of the new requirements. But, some changes in xyz require major changes to my automation. It is possible that some of the xyz changes might be reverted in the future.

So, I wonder if it is better to wait for the xyz to become "stable" and then automate it, or keep re-writing automation.

  • 1
    Is the API still in development phase? Is it fully functional? Why so many changes so often? – return Dec 19 '18 at 20:03
  • @mhd - Development of xyz api is "almost" complete and its almost fully functional. But, the requirements of the web UI client keeps changing. – MasterJoe2 Dec 19 '18 at 20:57
  • I don't understand why you need web to setup data for another API. How does the web do that? Not by using an API? – return Dec 19 '18 at 21:00
  • @mhd - User actions on the web UI trigger some api calls which store data in different systems. This data is then read by the xyz api. But, why do you ask ? – MasterJoe2 Dec 19 '18 at 22:04
  • Can't you directly use the API used by the WebUI to generate data for the other API? It's not good at all to use a GUI to generate data for an API. It's OK to use API to generate data for Web tests, but not the other way around. It's a major increase in running time and complexity. – return Dec 19 '18 at 22:10
1

Suggestion:

Since the xyz API is almost complete and ready and only minimal changes are expected, I would have automated xyz and keep changing so that whenever it was deployed for testing, the automation suite was ready/almost ready.

Coming to the problem of you not being informed about the changes, in my opinion you should raise these concerns with your lead/manager.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.