What is our primary use case?
Our use case for ReadyAPI is REST API Testing. We essentially test student data because we're working for a school domain that can have different ReadyAPI test cases.
We have the positive test scenario where we collect real-time data and they pass through ReadyAPI, then post different data types for students, such as the school students enrolled in, whether students are full-time or part-time, what courses the students took, etc. There are positive scenarios and negative scenarios that we try to create in the system, including some junk data, then we'll see how ReadyAPI will behave.
ReadyAPI being a tool, means that you can also feed it any junk data, and it's going to post that data, but what we'll be looking forward to is the HTTP code generated towards the end of the day, to see whether it's valid or not.
If there are irrelevant data, for example, there's an address field that can accept any characters, that should be fine, but if we have a name that we need to find and we provide some special characters, then ReadyAPI will give an error message similar to this "Hey, it looks like you're using special characters, so that won't work for me."
There are multiple edge cases, but it isn't about the tool. It's about the applications being used, and there may be some loose ends within the applications. Edge case scenarios could come up, such as the positive scenario and the X, Y, and Z scenario, and ReadyAPI helps us and makes it easy for us by allowing us to post the data. It lets us create multiple test cases, for example, if we have fifteen resources for a test case, we can tightly bundle those resources under one test case, then execute the test case, then ReadyAPI will run everything under that particular test case.
How has it helped my organization?
ReadyAPI solves different business problems, and I've seen that, particularly in the education sector where I worked. One is that because ReadyAPI is a licensed tool and it's deployed on-premises, you can host multiple data sets on it. You can host more than a million records on ReadyAPI, and it will still be able to run because it's deployed on an on-premise server. It essentially runs on the CPU, and you don't need to consider resource utilization as much, compared to other tools that depend on memory space, so those tools are unable to run more than fifteen thousand or twenty thousand data, while ReadyAPI is very helpful in that area. The tool is also more user-friendly than other tools.
What is most valuable?
One of the features of ReadyAPI that's worth mentioning is that it allows you to parameterize. I'm working with more than two hundred resources, so I don't have to go and make a small change at each point every time. I have the option to just parameterize in one place for the changes to reflect everywhere.
Another valuable feature of ReadyAPI is that it provides a customized environment. In my company, you work in different environments, such as QA, UAT, and LT, so the URLs for every environment are different. In ReadyAPI, you can customize your environment, set it up, then start working on it.
Another feature worth mentioning that's offered in ReadyAPI is automating your test value as the tool allows Groovy scripting. In your test case, you can use a Groovy script that says that in a particular test case, you have ten resources, but you just want to exhibit five and that you don't want to exhibit the remaining five. You can write a small Groovy script that lets you execute just five resources out of the ten resources.
I also like that ReadyAPI allows you to read the data from CFC and Excel. It also allows you to create or customize your data, but that only works at a certain point because every application has its specific data. ReadyAPI cannot generate every data, but when I'm posting and I want to generate a random name, such as a first name, I can do it in ReadyAPI.
The tool also has many different features which I find valuable, including Git integration.
What needs improvement?
What needs improvement in ReadyAPI is its load testing feature because there was a hiccup when my team performed some load testing on the tool. My team had meetings with the ReadyAPI team and tried to get that issue fixed, but it still hasn't improved. This is a shortcoming of the tool, especially when you compare it with HP LoadRunner.
For how long have I used the solution?
I've been using ReadyAPI for the past five years.
What do I think about the stability of the solution?
ReadyAPI has pretty good stability because if there's a bug, the ReadyAPI team releases a new update every two weeks. I've never faced any issues in terms of stability. The tool has good performance because I didn't see any major hiccups from it. ReadyAPI performs as smoothly as possible, and it's quite reliable as a product.
What do I think about the scalability of the solution?
ReadyAPI is a scalable tool. In terms of performance testing, you can scale it, but scaling it requires a different license. For example, the basic license allows up to one hundred users, while the advanced license allows up to five thousand users, but if you want to scale to more users, you have to purchase another license. ReadyAPI has different modules of license for performance testing, so you can scale it up based on the number of users you require.
How are customer service and support?
The technical support team for ReadyAPI has been very prompt in replying to my concerns. Usually, when you send out the email in the morning, by the end of the day, the team will get back to you and when needed, will get on a call with you to discuss the issue. If your issue can be fixed online immediately, then support will fix it. If not, the team will schedule a call or meeting with you, and you just need to explain the situation, and within a day or two, you'll see that the issue has been fixed.
How was the initial setup?
The initial deployment for ReadyAPI was pretty straightforward. The tool has a good setup if you have your own kit. You can just integrate ReadyAPI with the kit, and once that's done, the deployment is pretty smooth.
The deployment of ReadyAPI didn't take more than ten to fifteen minutes.
What about the implementation team?
My team implemented ReadyAPI.
What was our ROI?
The ROI from ReadyAPI, particularly for functional testing, is pretty good. The tool is simple, convenient, and integrates with many other languages. You can also work on Python and Java when you use ReadyAPI, though I've not explored that field yet because it wasn't a requirement in my projects. The tool is worth your money because of the ROI.
What's my experience with pricing, setup cost, and licensing?
If I remember correctly, ReadyAPI costs between $5,000 to $7,000 for five thousand virtual users running it at a given point in time. Other tools, for example, Apache JMeter, can run millions of users at a given time. ReadyAPI is a tool that requires you to pay more money if you want more users to run it for performance testing.
For functional testing, each ReadyAPI license costs $1,000, and you do get basic testing, and it's inclusive of one hundred users. In my company, if there's a need for more than one hundred users, my team uses Apache JMeter because it's futile to end up paying $5,000 or $6,000 annually just for performance testing, which can be done in Apache JMeter as well.
Given the circumstances, my team does performance testing only towards the end of the fiscal year when the regulatory testing of applications takes place. If I have to run ReadyAPI just for two days or just for ten or fifteen odd days, then it's not worth paying $5,000 for the license with the small number of users provided by ReadyAPI.
Which other solutions did I evaluate?
Apart from ReadyAPI, my company used Apache JMeter and HP LoadRunner which are licensed tools. The company only had to pay a one-time license fee for HP LoadRunner for a million users, and that wasn't the case with ReadyAPI.
ReadyAPI was just an extension of SoapUI which was essentially used for functional testing, but nowadays, ReadyAPI is in the market for performance testing. It's a platform that can do both functional and non-functional testing, but the non-functional testing feature still needs a lot of improvement, particularly cost-wise. For example, if I want fifteen thousand users on ReadyAPI, I don't want to be paying $10,000 annually for the license. The tool is getting better, but in terms of performance testing, it's still being worked on. Apart from that, I didn't see any other issues.
What other advice do I have?
ReadyAPI is deployed on-premises. My company bought five licenses, and my team uses three licenses while the other team uses two licenses.
My company uses the latest version of ReadyAPI. Every time there's a new release, it's downloaded, then that new version is used within the company.
I belong to a team of five that deployed ReadyAPI, but two members took care of implementing the changes after it's been reviewed by peers because that's taken into consideration before going ahead and deploying the changes to the next environment.
As ReadyAPI is a paid tool, it doesn't require any maintenance from my company's end.
Five people work on ReadyAPI within my company.
My advice to anyone looking into implementing the tool is to go ahead and try and test it to see how ReadyAPI can help you with your project and application, but I'm sure it's worth a try. Essentially, the ReadyAPI team does offer a trial period as well, up to fourteen days, from what I remember. You can just reach out to customer care and see if you could get a trial for a month or so because that would give you hands-on experience with ReadyAPI. That can give you an ample amount of time to figure out how the software works for your application.
I would rate ReadyAPI as seven out of ten for now.
My company is a customer of ReadyAPI.
Which deployment model are you using for this solution?
On-premises