If you're a test engineer, you've probably been hearing more about microservices over the past year or so. I know it’s a topic that has come up in many of my TestTalks episodes over the past year, and it isn't surprising given that many companies that have invested in DevOps are also moving to a more “micro-services” way of creating software.
At this point, some of you might be asking, “What is a micro-service?”
What is a micro-service?
I recently spoke with Neil from Runscope, and asked him how he would explain what a micro-service is. Turns out Runscope itself uses a micro-services-based architecture.
Runscope is comprised of close to 70 independent micro- services. For example, some of the services that they have are a discovery service, a queuing service, and a mailing service, and the idea there was that they didn't want to build one big, monolithic application that drove everything.
Using a micro-services approach allowed them to have those small, independent services be independently deployable and independently testable, which, when they all come together, culminating in what Runscope is today.
Benefits of using a Micro-Services approach
As Neil sees it, the benefit to this approach was that it helped them to scale, from an architectural perspective, with the amount of traffic they can handle and the way in which they develop software. They can have teams that only work on specific services, and those services can be completely independent from the other services that are behind Runscope.
How to Test Microservices?
This inevitably is bringing up quite a few challenges, especially in the area of testing—specifically regarding how to approach automated testing in a microservices world.
In my latest TechBeacon post Shift-right: Test microservices in the wild to tame DevOps I go into more detail on what a microservce is as well as five ways to go about testing them.
The main areas I focus on are:
- Testing in Isolation
- End-to-End Testing
- Consumer-Driven Contract Model
- Testing in Production
To read the full article check out: