The document discusses reasons to test APIs and components early in the development process. It lists 5 key reasons: 1) API tests don't rely on a GUI and are easy to test early, 2) determine maximum throughput of APIs, 3) determine response under heavy load, 4) pinpoint performance impacts of changes, and 5) limited time for GUI regression testing when new code is checked. The document then discusses how Neotys' performance testing platform can help empower development teams to test continuously, integrate with DevOps toolchains, and achieve more productive development cycles through automation and asset reuse.
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Shifting Left: The Top 5 Reasons to Test APIs and Components Early
1. 2017 Neotys. All Rights Reserved.
The Top 5 Reasons to Test APIs and Components Early
September, 2017
2. 2017 Neotys. All Rights Reserved.
Support for Today’s Technology and Tomorrow’s Vision
3. 2017 Neotys. All Rights Reserved.
5 Reasons To Test APIs And Components Early
API tests don't rely on a GUI – easy to test early
Determine the absolute maximum throughput of your API
Determine APIs or component response under heavy load
Pinpoint likely impact of changes to performance
Limited time for feedback from a GUI regression suite of tests
when new code is checked
4. 2017 Neotys. All Rights Reserved.
Collaborate to Speed Up Testing, Diagnosis and Fix
Enterprise Performance Testing Platform
5. 2017 Neotys. All Rights Reserved.
CI
Out-of-the-box
integrations
NeoLoad API
Code Build Test Release Operate
Best-of-Breed Integration with your Toolchain
6. 2017 Neotys. All Rights Reserved.
PERFORMANCE TESTING PLATFORM
Empowering You to Test Continuously
Start testing earlier
Automate and accelerate testing
Let Agile and DevOps teams
collaborate
7. 2017 Neotys. All Rights Reserved.
DevOps Toolchain Integration Strategy
Continuous Integration
Specific plugin (Jenkins, Bamboo, Team
city)
Command line or API
Deployment
Test infrastructure (Docker & Cloud)
SLA
Test
API Testing
Specific plugins
Monitoring
Watch NeoLoad scenarios
API
Plugin
Command
line
8. 2017 Neotys. All Rights Reserved.
The Story of our Demonstration
Goal : App for crowdsourcing weather crisis event
information
Fast performance is crucial for accurate reporting and user
adoption of the app
Agile development and automated deployment
‐ Bi-weekly releases
Last release of the app include a new feature
‐ Capability to add photo to a post
10. 2017 Neotys. All Rights Reserved.
Automation: a Key Player in DevOps Strategy
Goals are:
Speed up and optimize processes
Save time for Dev and Prod teams
Neotys Enables Automation:
Neotys API
Record and script maintenance Design API
Test execution Runtime API
Report generation Results API
3rd- party tool compatibility
Command line / ANT task
Deployment
Docker containers / Neotys Cloud Platform
11. 2017 Neotys. All Rights Reserved.
More Productive and Faster Cycles
The NeoLoad GUI
Advanced ergonomics
Scriptless
Many wizards to design easily
Advanced Features
Framework parameters
Automated script maintenance
12. 2017 Neotys. All Rights Reserved.
Neotys Continuous Performance Validation Solution
Key
Capabilities
Performance validation at
every stage of the app dev
lifecycle
Automation and asset reuse
for faster design and
execution
Shared results and user
paths to speak the same
language
Key Benefits
Faster performance of
applications
Quicker time to market
Easier interaction across Dev, QA,
Ops, and Business; produce
constant Feedback
13. 2017 Neotys. All Rights Reserved.
Make performance testing a competitive advantage
Achieve DevOps: Make performance testing a continuous
process across Dev, QA and Ops
Be confident: Cover more test case, ensure professional
grade quality, make testers trusted partners
Here’s What NeoLoad Can Do for You
Support Agile: Make performance testing a key element of
your Agile software delivery
Today’s applications continue to add more and more interfaces:
Web/Mobile/APIs, Microservices/IoT
They’re also incorporating new technologies like:
WebSocket/HTTP/2
You need to be able to test whatever technologies your developers are sending along, and doing so without compromising your ability to deliver faster applications regularly
Neotys has a proven track record of delivering the support of new technologies, first
For example, NeoLoad was first to support HTTP/2, and WebSocket
Since API tests don't rely on a GUI, they can be created very early in the development process; this is low-hanging fruit that can be gotten out of the way early
Determine the absolute maximum throughput of your API to set an upper bound of the performance that you’ll be able to achieve
Find out how slow the APIs or any other web service respond under heavy load, while it’s still inexpensive to make any optimizations needed
Pinpoint changes that are likely to influence the performance behavior of the component or API
During certain Agile practices like continuous builds, the amount of time it takes to receive feedback from a GUI regression suite of tests when new code is checked in is too long. In those cases, getting started with testing earlier is better.
NeoLoad is designed to accelerate performance engineering processes across QA, Dev and Ops. NeoLoad is an Enterprise Performance Testing Platform enabling teams to share test assets and collaborate in real time on test results
Collaboration speeds up testing for QA
Reuse/share test assets and best practices
Share test results
Collaboration speeds up performance engineering processes
Devs and Ops can see test results so they can fix performance issues as they are identified
Devs can see in real time the result of performance tests so they do not have to wait until a test is completed to identify a performance issue
NeoLoad delivers actionable insights not usable only by experts, but accessible to anyone involved in application performance
NeoLoad is a Performance Engineering Platform that makes it easy and fast to access all load testing features
Mobile testing fully integrated
Cloud load injectors available in seconds
Share license across teams to use the platform at its full capacity
So, you can streamline your performance engineering practice, and optimize the collaboration between those who test and fix performance bottlenecks, to speed up your software delivery process
At Neotys, we only support load testing, and this is why we are able to provide the best available solution. We design our software to fit load testing into your Agile/DevOps processes, enabling seamless integration with your toolchain
NeoLoad provides off the shelf integrations with the leading DevOps, test and APM solutions
Continuous Integration
Test automation
Trend analysis
Docker
NeoLoad load generators are available as Docker containers, which makes it easy for organizations who rely on Docker, to deploy LGs when needed for testing; to remove them when the test is complete
Other Testing Tools (Selenium, Tricentis, Perfecto, etc.)
Script design automation: Re-use function test script/convert into load tests
Script Maintenance: When an application changes, automatic update of scripts imported from Selenium
End user experience: Combine server-side metrics (from NeoLoad) with end user metrics (Selenium, Perfecto etc.) with the application under load
APM
During load and performance testing of web applications, it is essential to collect metrics on the application components and application servers to effectively pinpoint/ understand performance issue cause(s). Combining information obtained from performance testing in NeoLoad with in-depth metrics from an application performance management tool, can help accelerate the identification of root cause in highly-complex applications
NeoLoad starts a load test, tagging the requests initiated by NeoLoad virtual users so the APM tool can monitor this group independently. NeoLoad integrates with the following APM tools: Dynatrace, CA APM, AppDynamics, NewRelic
And NeoLoad provides an API to…
Customize NeoLoad virtual users behavior
Pilot other tools (e.g. launch a functional test)
Let NeoLoad be piloted by other tools (e.g. CI)
Receive and send test data (e.g. receive end user experience metrics from Selenium, or send load test data to Tableau)
At Neotys, we believe that Speed and Quality can be achieved by “Testing Continuously”
We design NeoLoad as a performance testing platform to empower you to test at every stage of the software development cycle in a continuous manner
Test early and often. Identify performance bottlenecks early in the sprint, so they can be fixed rapidly – a far cheaper proposition than having to discover later during test or even production
Run full system-wide testing to ensure your application’s reliability and speed under load. If a performance issue is detected, quickly provide a deep diagnosis to helps solve the problem faster
Continuously collaborate on performance testing to support the performance engineering approach
Key benefits of using Continuous Performance Testing include:
Finding and Resolve Issues Earlier – Issues can be found at an earlier stage in the SDLC, then fixed quicker and at lower cost
Faster Release Cycles – The automation built into leading-edge performance testing platforms save a huge amount of time. With this approach, testing becomes just another part of the build – not a manual step performed as an afterthought
Deploy with confidence & lower risk – Improved code quality since everything is KNOW to perform as designed – under real-world loads
Introduction Ushahidi
Architecture Full docker
Adding photo to the post may increase the time to post event and overload the server (I/O, memory and CPU)
DEVOPS Toolchain used in the team used many diffferent tools:
GIT
MAVEN
SONAR
DOCKER
YSLOW
SELENIUM
AWS ECS (Docker over AWS)
NEOLOAD
NEOSENSE
NTS
NL WEB
So what you just saw was a live example of how a team uses the capabilities of our Continuous Performance Validation solution to get key benefits:
With performance validation at every stage of the app dev lifecycle, you get faster performing applications.
Leveraging automation and asset reuse make design and execution faster so that you have a quicker time to market for new features.
Sharing results and user paths means that everyone is in the loop and speaking the same language when it comes to app performance.
Automation is 1 pllar of DEVOPS methodology
Neotys API allows to be fully automated at each step
Sample
Design API could be illustrated by our Selenium integration
Runtime API could be used to adapt hte load from a third party tool (Add user, remove users)
Result API to retrive result from a third party tool without human interaction
Ant and command line are still possible to offer a minimum level of integartion
Deplouyment
Wizard in NeoLoad to accelerate the testing process by addidng automation in the process (Framework parameter serach, redesign)
So what you just saw was a live example of how a team uses the capabilities of our Continuous Performance Validation solution to get key benefits:
With performance validation at every stage of the app dev lifecycle, you get faster performing applications.
Leveraging automation and asset reuse make design and execution faster so that you have a quicker time to market for new features.
Sharing results and user paths means that everyone is in the loop and speaking the same language when it comes to app performance.
To summarize this presentation, NeoLoad provides the 3 main benefits
By providing hyper accurate testing you can be confident your application will provide the best user experience, and that you can optimize your application infrastructure
Because NeoLoad is faster, you can fit performance testing in Agile and support the organization wide effort to release faster
Because NeoLoad provides confidence in performance testing and fits with time constraints of agile, Performance Engineers become digital performance confidence partners (and not a bottleneck)