Forum Discussion
Microservices (APIs) basically define the business logic of the application being designed. And web API is a server-side interface that contains endpoints that relay information through request-response protocols.
Now, the question is why the testers require to automate or manually test the APIs:-
It's because for "Complete Coverage" . !!! UI testing, either manual or automated, is still just testing the presentation layers to make sure the end user experience matches expectations and meets functional requirements. But, in API testing we have to check the major thing which can be called as white-box testing. All the client requirements and business development criteria has to be checked here. And also, clients are really worried about these things. Another better things is, in the era of AGILE testing approach, we will have to wait for the product to be developed and then UI testing. The API testing can be done ahead of UI availability. That's the most important criteria which keeps API testing always on top of UI testing.
The major elements of testing process are:-
- Test Strategy or Test Plan
- Test design
- Test Execution
- Test Closure
And YES, automation is a must for any testers whether they belong to manual or automation dept. The demand of test automation has continued to grow and now some teams are completely eliminating manual testers and hiring only testers with test automation skills including manual skills. This is because of the continuing shift towards AGILE development, which includes whole team approach for quality and test automation for continuous integration. So, YES, if you call yourself a tester, you should have automation/manual both knowledge.
Hi,
I kind of jumped the gun on day 1 providing my view on UI & API testing it seems :smileywink: :
... choice for me personally is API testing, seeing it enables a shift to left in testing and helps to deliver quality even before a front end comes into play. UI automation for me now is mostly pure front (cross-)browser related tests, like logging in/out, check hyperlinks, sorting, filtering, etc.) and serves more as a regression test, while the API testing really covers the most part of the functionality (positive, negative testing, performance, security, authorization, authentication, flowtesting, destructuve, concurrenty, ...) + trying to cover new features each sprint.
...
I think avidCoder also sums it up really nice.
I'd like to add that API testing also enables easy test data creation. As a test driver often forgot about, test data really makes all scenario's test-able. Perhaps in the front-end it's not possible to create anything, only visualise, so... what happens when field x = "" or number Y = "0" or text Z = "an absurd long string", or what if you do not have enough data to test front pagination etc. I remember in my previous project running against a null pointer exception incident in PROD just because there wasn't any test data available that matched that data in PROD.
So, you can/must make use of API testing to facilitate test data creation!
I see automation also as a must-have skill as a tester. In Agile driven teams it's no longer sufficient to be able to just trusth on your functional testing skills, technically you need to adapt as well. On top of that it's also important to be able to think at a strategic level. So in my view, the test profile moves towards a general profile that not only uses test competences but also includes sufficiant business (analyst) knowledge, technical (developer) skills and test (managerial) vision. The best agile teams are those that can communicate and work together across the boundaries of their profile.
Related Content
Recent Discussions
- 7 days ago