Testing a REST API

Testing tasks are fundamental on the software development process. These tasks goals are covering the different quality axes of each of the diverse artifacts developed. Unit testing, Load Testing, Integration testing are just some examples of the many types of possible test types. Each one has a different purpose, for instance unit testing allows us to ensure the code provides the expected result. Integration testing on the other hand allows to review that combining different units or components will provide the expected results.

For the purpose of this post we are doing test that allow us to ensure the REST services developed on Developing a CRUD REST API on IBM Bluemix are up, running correctly. Please be aware that the test are not to review the results are valid or not, just to review they are running and what is the time they take to respond. Continue reading

Designing High-Availability Systems

Most of the time when a software is developed, the system is designed to withstand an specific amount of users. However, usually the platform will be required to handle unexpected amount of traffic. For instance, if a company make a new campaign, the peak load could change from 100 hundred concurrent users to thousands of users. If the system does not serve correctly the new load, you could lose thousand of dollars on campaign money, on new and former users. Continue reading