10
Dipanjan Haldar 22-04-2016 Continuous Performance Testing with JMeter and Taurus

Continuous Performance Testing with Taurus and Jmeter

Embed Size (px)

Citation preview

Page 1: Continuous Performance Testing with Taurus and Jmeter

Dipanjan Haldar22-04-2016

Continuous Performance Testing with JMeter and

Taurus

Page 2: Continuous Performance Testing with Taurus and Jmeter

Agenda The problem to be solved Role of Continuous Integration (CI) Why Taurus and its advantages ? How to Integrate with Jenkins Live Demo

Page 3: Continuous Performance Testing with Taurus and Jmeter

Agile methodologies are based mostly on short iterations (one or two weeks).

The Problem to be Solved

Challenges

How do you test efficiently? How can we be sure of the released software's performance and quality? How do we manage/plan test that fit within budgets and resources?

Automated

tests

At first thought, the answer is really easy - as often as possible and as quickly as possible.If we think about automated tests, the question is: how often and when should we run automated tests?

One

Solution

Continuous Integration

Page 4: Continuous Performance Testing with Taurus and Jmeter

Architecture of a CI Build System

CI is the practice of regular, comprehensive, and automatic building and testing of applications in software development

Figure 1: System and Software Architecture Supporting a CI Build

Page 5: Continuous Performance Testing with Taurus and Jmeter

Importance of Test Automation CI allows us to run automated

performance tests after each/desired commit and send feedback with results to developers and all stakeholders

Good automated tests should cover all functionality, or at least most of it so that we start knowing the performance from the early stage

We all know – Earlier the better

Page 6: Continuous Performance Testing with Taurus and Jmeter

Why Taurus?

JMeter

• Great - Open-source, Easy to use• Pain point –

• Automation and integration with other system• Steep learning curve

Taurus

• Open source • Extends and abstracts Jmeter• Simple way to run and analyze performance test

Taurus is an acronym that stands for Test Automation Running Smoothly, which reflects its baseline

mission

Page 7: Continuous Performance Testing with Taurus and Jmeter

What Taurus has to offer Extremely simple setup and upgrading Ability to execute existing JMeter (or Grinder or Gatling or

Selenium) tests The ability to create new tests from scratch using user-

defined files Real-time reporting Ability to integrate with Jenkins for Continuous integration

of performance tests. Console stats and pseudo-graphic charts during the test execution

Easy way to define flexible pass/fail criteria. In case the results exceed a threshold, it is possible to

automatically mark test(s) as failed platform-independent- runs where Python and Java can run

Page 8: Continuous Performance Testing with Taurus and Jmeter

Isn't it really Easy? For instance, a simple load test with 10 concurrent users, a ramp-

up time of 1 minute, a duration of 2.5 minutes and hitting an example.com site with HTTP GET requests will look as simple as:

8 lines of simple human-readable language that represents a (more or less) complete load scenario.

Page 9: Continuous Performance Testing with Taurus and Jmeter

Let’s assume that the above YAML configuration is stored in example.yml file. In that case, you can invoke it as simple as: bzt example.yml Once you hit Enter, the Taurus engine will start the test execution, including: downloading the latest JMeter version (with the latest plugins) to the ~/.bzt/jmeter-taurus folder 1.preparing the JMeter .jmx script based on the example.yml provided2.kicking off the actual JMeter test3.displaying real-time statistics and basic ASCII-art graphs in the text console4.printing a summary to the console upon the test’s completion5.saving JMeter test results in format.

Page 10: Continuous Performance Testing with Taurus and Jmeter

How do I integrate with Jenkins to make my life easierThis space is reserved for demonstration of Taurus integration with Jenkins on local system

Taurus+ Jenkins + Jmeter = Consistent Automated Collaborative Solution