News - API Fortress

Why You Need a Platform That Scales in API Testing

A cloud based platform like API Fortress allows for the sort of scaling that’s simply impossible with a local device based installation. First and foremost, the cloud based nature of the platform allows for collaboration. As a user, I can write a test and be certain that the other testers who need access to it will have direct and constant access to that very same test. It allows for a type of sharing workflow that is impossible with locally installed software. With locally installed software, only the machine that the test was written on can access the test itself. Imagine this issue scaled to a team of tens or hundreds of test engineers. What if one of them leaves the company? With API Fortress, all members of the team have access to all of  the tests in the suite. If we scale this further, what if an enterprise level organization brings in a consultancy team for a 3 month contract to develop their testing platform? The resulting tests would be spread across the machines of the users that created them. With API Fortress, these tests are all stored centrally and accessible by all users with the proper permissions.

With a cloud based platform, an administrator can establish user roles. User roles are useful to prevent damage from being done to the test suites themselves. API Fortress provides Administrator, Developer and Analyst roles so that management can delineate which users can create tests and which users can just execute them. With locally installed software, every individual instance of the software exists in an individual location. There are no user roles because there is no ability to collaborate. This gives management less granular control over who, with access to the software, can do what.

Another major advantage of API Fortress over locally installed software is the pricing model. An API Fortress license is for a set number of users, all of whom will be able to access the platform from anywhere that can access it’s hosted network. Locally installed software is licensed on a per-computer basis. In many cases, the advertised price for locally installed software is for a single machine, with a floating-type license (one user, any machine) costing up to ten times as much. Furthermore, API Fortress only considers actual users when tallying the number of users at an organization. Server instances running JenkinsBamboo, or other CI/CD platforms are not counted as users. With locally installed software, each of those individual machines running CI/CD software would need their own license since there’s no way to access the API testing software via the network.

Finally, and perhaps most importantly is the ability to derive meaningful, enterprise level results from your tests. With API Fortress, all of the test results coming from across the network can be viewed via the Dashboard. Adjustable date ranges allow for increased specificity in viewing test data. Because of the centralized storage of test results, API Fortress provides a detailed snapshot of the health of an API ecosystem. With locally installed software, test results exist on the individual machine that they were run on. In order to draw any sort of meaningful large-scale results, data would have to be aggregated from every machine running the software. In an enterprise scale environment, this task would require a dedicated team who’s sole responsibility would be to orchestrate this sort of test data.

API Fortress allows for a level of collaboration and meaningful data orchestration that’s not possible to achieve with locally installed software. Furthermore, the transparent user-based pricing model creates a value proposition that’s hard to beat. By exposing all of its test data via API call, the platform makes integrating with nearly anything a breeze. Connectors for SlackDatadogBigPanda.ioStatuspage.ioJIRAqTestZephyr and more are already available, with the list growing rapidly. Contact API Fortress today to see how a cloud based solution is the solution for you.

Create a Free Account

Co written by ~ Jason Ioannides & Vas Edelen @ API Fortress

API Fortress was specifically built for today’s agile architectures. A collaborative platform that bridges the gap between development, QA and DevOps. By collaborating using the simple GUI, teams can work together to create a series of powerful API test in one place. Then those tests can be executed at every stage of the lifecycle, in particular as part of the CI/CD process. Using our webhooks or Jenkins plugin, you can automatically execute tests and get notified of issues before the code is published live. The platform works in the cloud or on-premises, giving you the flexibility to run test from any environment while still satisfying security protocols. Catch errors before your customers find them and release code with confidence.

Please contact Vas Edelen (vas@apifortress.com) if you would like access to the API Fortress platform.

#api, #testing, #apitesting, #monitoring, #apimonitoring, #performance, #apiperformance, #qa, #qualityasurance, #quality, #automated, #automatedtesting, #software, #platform, #apiplatform, #apim, #apimanager, #rest, #http, #soap, #lifecycle, #SoapUI, #smartbear, #runscope, #jmeter, #mule, #mulesoft, #mashery, #tibco, #apiary, #apigee, #oracle, #wso2, #layer7, #apidocs, #apifortress, #PatrickPoulin, #vasedelen, #desktopenvironments, #microservices, #services, #docker, #tag, #containers, #qa, #qasymphony, #cicd, #ci/cd, #Atlassian, #Bamboo, #Jira, #mocking, #apimocking, #levelup, #collaboration

API Fortress + LevelUp Case Study

ABOUT LevelUp

LevelUp is building next-generation mobile experiences for over 200 brands nationwide: empowering businesses to engage customers, grow sales and build a long-term scalable mobile strategy. LevelUp’s platform offers a broad range of customized functionality: mobile rewards, payments, native online ordering, customer relationship management, a campaign creator with custom messaging, loyalty, gifting, and much more.

BUSINESS NEED

LevelUp has a team responsible for testing new integrations to their platform. Testing had previously been done manually, and to make matters a bit trickier a majority of their testing team did not have software engineering backgrounds. The challenge was to find a tool that was simultaneously robust and easy to use.

“Testing had been done manually, but often failed to catch edge cases and took too much time!” -Nick Herbold, Network Team at LevelUp

The LevelUp team needed a solution that could work across departments without necessitating specific programming language expertise. Microservices are core to their business, and the uptime and functionality of those APIs is a key factor in customer satisfaction. They needed to find a solution that can help them quickly generate a suite of tests, without limiting their potential for growth in coverage and automation.

THE RIGHT FIT

LevelUp explored some potential solutions, such as Postman, in order to automate their testing. Since the integration testing team at LevelUp had limited coding experience, many solutions that are on the market were unsuitable for their needs.

“The test builder UI had the most comprehensive list of components for building tests and validating assertions,” Herbold says. “Postman is very limited in comparison without writing custom Javascript with what it offered out of the box. Runscope has a clunky UI which is also limited in what can be composed without writing code.”

Simplicity without compromise is a core value for API Fortress. The graphical user interface allows engineers and non-engineers to stand up powerful functional tests quickly. The platform generated the framework of the tests for LevelUp, saving them hours in writing simple assertions. Their team was then able to leverage the library of components to add nuance and intelligence to the tests. Focusing their time on building tests to catch edge case scenarios, not the simple stuff.

RESULTS

API Fortress reset our expectations of what a testing platform can do,” said Herbold. “We’ve shifted mindsets from ‘what can be tested’ to ‘why aren’t we testing everything’ in our integration responses. It’s also changed our testing flow, helping us to realize testing can be done throughout the development cycle because we have these quick ways to look at the status of an endpoint instead of bundling testing at the end.”

API Fortress allowed the Integration Testing team at LevelUp to stop worrying about the “how” of API testing, and begin to focus on the “why.” Testing is a critical part of the software development lifecycle, and automated testing with API Fortress allowed LevelUp to upgrade that coverage. It reduced the burdensome minutia, and allowed the team to focus on the more interesting problems.

“In development,” Herbold says, “we’re looking to build things well and quickly. API Fortress is a great resource for testing an API in a comprehensive fashion. In production, we need to know when things are broken. The monitoring tools act as a guard, proactively informing us if part of the system goes down.”

REQUIREMENTS

  • A platform to automate their API endpoint monitoring.
  • Viewable metrics regarding API uptime and performance.
  • The framework should work seamlessly throughout the SDLC.
  • Powerful test creation for both non-developers and developers.
  • Strong ease-of-use without compromising future capabilities.

WHAT API FORTRESS OFFERS

  • Generate tests from a payload or Postman Collection.
  • Intuitive yet robust interface for test creation.
  • Precise test scheduling for monitoring.
  • Integrates with any CI/CD process.
  • Detailed uptime monitoring reporting.

MEASURABLE RESULTS

  • Ensures consistent response data from API routes.
  • Measures fetch and latency over time, generating viewable trends.
  • Constant uptime monitoring through test scheduling and automation.
  • Powerful dashboard for analysis of test results.
  • A status page to allow API testing data in one view-field for analysis.

Quick and Easy Test Development

Stand up tests quickly without having to code. Make an API call, click the Generate Test button, and watch the test appear. Use the graphical user interface to drag and drop components to extend test logic.

Monitor your APIs

View API health and status at a glance with the API Quality View. Check fetch, latency, and availability with the API Dashboard. See your entire API environment at a glance with the status page.

Create a Free Account

Co written by ~ Jason Ioannides & Vas Edelen @ API Fortress

API Fortress was specifically built for today’s agile architectures. A collaborative platform that bridges the gap between development, QA and DevOps. By collaborating using the simple GUI, teams can work together to create a series of powerful API test in one place. Then those tests can be executed at every stage of the lifecycle, in particular as part of the CI/CD process. Using our webhooks or Jenkins plugin, you can automatically execute tests and get notified of issues before the code is published live. The platform works in the cloud or on-premises, giving you the flexibility to run test from any environment while still satisfying security protocols. Catch errors before your customers find them and release code with confidence.

Please contact Vas Edelen (vas@apifortress.com) if you would like access to the API Fortress platform.

#api, #testing, #apitesting, #monitoring, #apimonitoring, #performance, #apiperformance, #qa, #qualityasurance, #quality, #automated, #automatedtesting, #software, #platform, #apiplatform, #apim, #apimanager, #rest, #http, #soap, #lifecycle, #SoapUI, #smartbear, #runscope, #jmeter, #mule, #mulesoft, #mashery, #tibco, #apiary, #apigee, #oracle, #wso2, #layer7, #apidocs, #apifortress, #PatrickPoulin, #vasedelen, #desktopenvironments, #microservices, #services, #docker, #tag, #containers, #qa, #qasymphony, #cicd, #ci/cd, #Atlassian, #Bamboo, #Jira, #mocking, #apimocking, #levelup

{part II} Mocking Services Now Part of API Fortress

So, we understand why Mocking is a thing, but how exactly do we do it? With API Fortress, mocking an API is a straightforward process. This article will go into how it’s accomplished and discuss a few use cases.

The first thing that a user needs to do is login to API Fortress. Next, they need to click the “Tools” icon in the upper right-hand corner.

This will bring the user to the mocking interface itself. Once here, we can add a new mock endpoint. To do so, click the “+Add Endpoint” button or the green “New Endpoint” button.

The next step is to use the New Endpoint Modal (which is a fancy way of saying ‘the window that just popped up’) to define our new endpoint!

The Domain field will be just that – we’re entering the name of the domain that we want to refer to. This will come before the hosted server we choose. In the image example below, the domain will be “m206-demonstration.staging.apifortress.com.” The customizable part is “demonstration.” The rest is defined by API Fortress and the server you’re hosting the mock endpoint on.

The Path field will be everything that comes after the TLD (Top Level Domain; .com, .net, .co.uk, etc.) In the example below, the Path is defined as “/api/demo”. Once we hit Continue, we’ll be defining the whole endpoint as “http://m206-demonstration.staging.apifortress.com/api/demo”.

The whole mock endpoint will be visible in the blue field of the modal, and will change as you update it. Let’s click continue and move on to the next step.

If we click on the domain we just created (demonstration), a new pane will open showing us our /api/demo endpoint. We’re very close to having a functional mock API. Just a few more steps and we’re in business. If we click on the path itself, we’re presented with the following view. Click the highlighted button to Add a Response Case.

When we click Add Response Case, we’ll see this:

There’s a lot going on in this view, so let’s go through it piece by piece.

At the top of the page, we see our Domain, Path, and Full URL. Clicking the URL will copy it to the clipboard automatically. Let’s remember that for later!

In the red-bordered box, we can define the actual response to our endpoint.

  • Method: This dropdown allows you to select the REST verb of your choice which this route will respond to. The options are GET, POST, PUT, PATCH, DELETE or “*”. “*” is the wildcard operator. It will respond to a request with ANY of the listed verbs.
  • Expression: This field allows you to define expected values for a number of different parts of the request. The checkable values are as follows:
  • request.headers
  • request.params
  • request.payload
  • reuest.payload_source
  • request.method
  • request.requestURL
  • request.remoteAddress

An example value for this field would be “request.headers[‘accept’]==’application/json’.” If the ‘accept’ header was not ‘application/json’, a request would be deemed invalid in this case.

  • Content-Type: This defines the content-type of the response body.
  • Status Code: This defines the status code that will accompany the response to properly formatted requests to this endpoint response case.
  • Description: This is an internal description to help you remember the functionality of this endpoint.
  • Headers: Define any response headers that should accompany the response.
  • Response Payload: This field is where you define the response payload itself.

Once all of these fields are defined, we can click “Save Changes” in the upper-right corner. At this point, our mock API route is fully defined. We can access this mock route from any platform that can access the network on which it’s hosted.

Here, we can see the mock endpoint being accessed from API Fortress’ own HTTP Client. Similarly, the endpoint can be accessed by any web browser. So, now we understand the how, but what about the why? Why should we mock an API endpoint? There are a lot of answers to this question, but they primarily break down into two categories. Those categories are:

It doesn’t exist (yet).

or

I can’t get to it.

The “It doesn’t exist” argument is the easier of the two to explain, mostly because the explantation is in the title. Oftentimes, development teams depend on information from other teams to develop new features. Perhaps the front-end team needs data from a not-yet-operational products microservice to render a list of products as a result of a search. Instead of waiting for database schema to be defined, the database to be populated and the server API routes to be written, they can simply create a mock endpoint that returns identically structured data and leverage that until the products service is live.

The “I can’t get to it” line is a little more difficult to address directly, because it encompasses more varied issues that “it doesn’t exist.” In some cases, development environments are restricted heavily with regards to what they can access. Let’s take that first example again, but this time, host the product service outside of the development environment. The product service is fully developed, but it’s on the wrong side of the firewall. The development team could contact DevOps and Security to request they whitelist the IP of the service. Instead of waiting for the gears of bureaucracy to turn in their favor, the team could create a mock endpoint inside of the firewall that they could access at will. The same sort of logic applies to a case in which each individual call to an external endpoint costs money. Instead of paying for each individual call during development, a mock endpoint could simulate the return.

Mocking is an important part of developing an API environment. With API Fortress, mocking is easier than ever. There’s no need to install new software. Every on-premises instance of API Fortress comes equipped with it out of the box. There’s no extra setup of any kind. API Fortress Mocking just works. Type in your domain, your endpoint and your response, and you can access the endpoint from anywhere that has network access. API Fortress makes testing easier than ever and the new mocking service is no exception.

Co written by ~ Jason Ioannides & Vas Edelen @ API Fortress

API Fortress was specifically built for today’s agile architectures. A collaborative platform that bridges the gap between development, QA and DevOps. By collaborating using the simple GUI, teams can work together to create a series of powerful API test in one place. Then those tests can be executed at every stage of the lifecycle, in particular as part of the CI/CD process. Using our webhooks or Jenkins plugin, you can automatically execute tests and get notified of issues before the code is published live. The platform works in the cloud or on-premises, giving you the flexibility to run test from any environment while still satisfying security protocols. Catch errors before your customers find them and release code with confidence.

Please contact Vas Edelen (vas@apifortress.com) if you would like access to the API Fortress platform.

#api, #testing, #apitesting, #monitoring, #apimonitoring, #performance, #apiperformance, #qa, #qualityasurance, #quality, #automated, #automatedtesting, #software, #platform, #apiplatform, #apim, #apimanager, #rest, #http, #soap, #lifecycle, #SoapUI, #smartbear, #runscope, #jmeter, #mule, #mulesoft, #mashery, #tibco, #apiary, #apigee, #oracle, #wso2, #layer7, #apidocs, #apifortress, #PatrickPoulin, #vasedelen, #desktopenvironments, #microservices, #services, #docker, #tag, #containers, #qa, #qasymphony, #cicd, #ci/cd, #Atlassian, #Bamboo, #Jira, #mocking, #apimocking

Mocking Services Now Part of API Fortress

Imagine that you’re a developer working for a tech organization that uses a microservice architecture. Your team is responsible for the microservice that retrieves user data from a cluster of user databases located on the back-end. In order to make these requests, however, you depend on another microservice maintained by another team to provide you with a list of users. Your team is ready to start testing your next version, but the user team hasn’t even begun to develop theirs. How can you test your service when they’re not providing you with data?

API Mocking is a process that simulates the behavior of an API endpoint. Instead of instantiating a new server to simulate the behavior of the missing API, mocking allows a user to define a route and response. Once active, this route will serve the preconfigured response for as long as the mock API is active. In the previous example case, the developers behind the microservice could have deployed a mock API of the missing API and continued development on their own service.

Mocking is a versatile tool. There are multiple scenarios in which it solves a major problem that developers face on a regular basis. Imagine a developer who relies on external data from a public API. The development environment that this developer works in is firewalled and cannot access the internet at large. This developer needs specific data from the Google Maps API to demonstrate that their code is working, but because of the internal nature of the development environment, cannot access the API. By setting up a mock version of the Google Maps API, the developer can continue working without exposing the development environment to an unsafe connection with the outside world.

Mocking with API Fortress is easy to use and robust in terms of functionality. When defining a mock endpoint, the user is presented with a number of options that will provide them with the exact behavior they are trying to simulate. When creating an endpoint, a user will define the endpoint route, the REST verb being used (GET, POST, etc.), the status code returned and the response body itself. Once the endpoint is configured and saved, it can be accessed from anywhere. An entire simulated API service can be stood up with ease and accessed from anywhere with API Fortress mocking.

API Fortress makes automated API endpoint testing accessible for people of all levels of technical expertise. From tester to developer, API Fortress’ robust feature set and accessible graphical user interface allow anyone to stand up a meaningful and functional API test in minutes. After setting up the test, API Fortress allows the user to schedule it to occur regularly and export the results to a number of other platforms. With the addition of mocking, API Fortress now allows users to create mock API endpoints. Mock endpoints can be accessed from outside the platform. They can even be accessed through a standard web browser. If a test depends on external data that is for any reason unavailable, API Fortress can emulate the source of this data, allowing the test to continue unimpeded.

Visit our YouTube page to watch an overview of API Fortress.

#api, #testing, #apitesting, #monitoring, #apimonitoring, #performance, #apiperformance, #qa, #qualityasurance, #quality, #automated, #automatedtesting, #software, #platform, #apiplatform, #apim, #apimanager, #rest, #http, #soap, #lifecycle, #SoapUI, #smartbear, #runscope, #jmeter, #mule, #mulesoft, #mashery, #tibco, #apiary, #apigee, #oracle, #wso2, #layer7, #apidocs, #apifortress, #PatrickPoulin, #vasedelen, #desktopenvironments, #microservices, #services, #docker, #tag, #containers, #qa, #qasymphony, #cicd, #ci/cd, #Atlassian, #Bamboo, #Jira, #mocking, #apimocking

How We Differ from Postman

We love Postman! It’s a great tool for interacting with the APIs you are building. The first sentence on the Postman website is “Postman Makes API Development Simple.” That is very true. What API Fortress does is make API testing simple. We are both important pieces of the lifecycle, and that’s why we work together so well.

Note: Did you know you can upload your Postman Collections to API Fortress? We can generate tests from your existing Collections, saving you a lot of time. Use your existing work to kick off testing with a few clicks. Read more here.

With all that said, we do get asked for specifics as to where we differ. Therefore, here are some of the main points:

  1. Automated Test Generation
    We have the most comprehensive assertion library, but even more than that API Fortress can generate the test for you from a payload or spec file. Take a look for yourself:
    API Fortress test generation vs Postman
  2. Reporting
    Every test is comprehensive, and thus every report is just as detailed. We store all test results, whether it passes or fails, and the report contains every bit of information related to the test including what passed, what failed, and even the call and payload in case you struggle to reproduce the issue. Take a look for yourself.
  3. Dashboard
    The API Fortress platform has a dashboard that stores all test results, all performance metrics (latency and fetch), and we even have an API Quality dash which gives you month-to-month comparisons of your endpoints uptime and performance trends.
  4. Integration/End-to-End Testing
    API Fortress was specifically built for detailed multistep tests. Testing a single endpoint is a good start, but your tests should reproduce an entire user flow, which means interacting with various microservices and making sure they work together as expected. See the video example.
  5. No Coding / Easy Test Creation
    With our platform tests are generated for you, and can then be edited in one of three ways. In the drag-and-drop GUI, using our simple markup language, or using Groovy. Work with our platform however you choose.
  6. Cloud vs On-Premises
    API Fortress can run entirely in the cloud or on-premises. Meaning the entire platform can work from within your environment, behind your firewall, with access to everything you have access to. Postman is a downloadable application, and if you want to schedule tests or collaborate you need to use the Postman cloud servers. This means exposing sensitive data and environments to outside sources. Enterprise companies need solutions that work with their strict security requirements, and we are the only platform that can handle that without compromising scheduling and collaboration.
  7. Collaboration
    Since API Fortress is a web-based platform (that can also work on the command line and in IDE), every team logs into the same platform and works together. There is no emailing of collections, or needing to use 3rd party servers to host those collections. Everyone works together in a secure environment.
  8. Integrations
    API Fortress is a web-based platform build with APIs in mind. That means every part of the platform, from test execution to results data can be interacted with on an API level. Furthermore, our platform has built in integrations with the tools you use today such as Slack, JIRA, Datadog, Jenkins, and many more.
  9. Load Testing
    We have it.

We love Postman, but it should only be a piece of your API story. Take your testing and monitoring as seriously as you take the development phase, and you’ll have APIs that your customers and teammates can rely on.