Application of automation testing has now become quite popular among QA professionals. These advantages are:
- Reducing the testing efforts with guaranteed higher accuracy
- Extended test coverage
- Improved allocation of resources, compared to manual testing
- Overall, the quality of software improves.
Katalon Studio, Selenium, Cyprus, Appium, Datadog, are some of the famous automation testing tools in the market, designed to verify function and/or non-functional requirements via automated test scripts. I have been using Cyprus and Datadog for automation testing purposes for some time, and in this article, I am going to share my personal impression about them based on my experience so far.
Being my favourite, I have been using Cypress to write test scripts for UI and integrated testing, and then, I started to use Datadog for API testing. With the available features in Datadog, making the test scripting is easier than Cypress, I am so impressed with using it. Synthetic Monitoring, one of the most significant features in Datadog, allows the testers to write code-free tests, unlike Cypress to observe how the systems and applications are performing using simulated requests in different working environments while tracking the web page performances at various network levels.
The feature of MultiSteps API Test allows the testers to create tests with multiple endpoints easily. Testers are required only to set correct API paths, with global and local variables, relevant request bodies, and expected assertions, after individual execution of each step with relevant API, which might require more time and effort, if it was done using Cypress. The user interface of multiple API test visualizes all the global, local, and extracted variables during the test, so that, it is really comfortable for the testers to understand how such test is executed.
Datadog allows the testers to set execution time intervals to re-run scripted tests automatically, and to issue alerts on faulty behaviour such as regressions, broken features, high response times, and unexpected status codes.
Setting the assertions is so much easier in such synthetic tests in Datadog that, you just need to run a successful API request and click on the required parameters in the returned response body, and the relevant assertion will automatically be generated and tested at every run of that set API request. But in Cypress, the tester has to compose coding for every assertion, that needs to be verified in tests, using a programming language.
Amidst such efficient features, the composition of synthetic tests in Datadog isn’t equipped with reusability. Datadog doesn’t allow testers to reuse any defined test steps, but such defined step/s or test can be cloned, and reused in another test script. In defining test assertions, the testers have to limit to the in-built asserting rules in Datadog. Arithmetic operations are not supported in Datadog UI, nevertheless, using Datadog APIs, it can be executed. Further, the Datadog interface might be tricky at the beginning, sometimes, you may experience considerable lagging of its loading as well. Though the testers won’t have to code during synthetic test scripting, they must surely need some expertise in working with API testing in advance, thus the new users might be required to have a considerable learning curve here for efficient usage of Datadog. And, Datadog has developed a set of comprehensive documentations on its features, and you may find multiple resources in internet on usage of Datadog, thus getting familiarized with Datadog will not take that long.
In conclusion, I am quite impressed in working with Datadog so far concerning the pros and cons, and there are number of other features, that I haven’t worked on yet, especially the browser testing. And, I hope it is equipped with efficient communication to the testers, similar to what Cypress dashboard offers. I find it much easier to compose API testing in Datadog compared to Cypress and look forward to exploring these two tools in the future.