2. The problem to be solved
Role of Continuous Integration (CI)
Why Taurus and its advantages ?
How to Integrate with Jenkins
Live Demo
3. Agile methodologies are based mostly on
short iterations (one or two weeks).
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?
Automatedtests
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?
OneSolution
Continuous
Integration
4. 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
5. 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
6. 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
7. 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
8. 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.
9. 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 provided
2.kicking off the actual JMeter test
3.displaying real-time statistics and basic ASCII-art graphs in the text console
4.printing a summary to the console upon the test’s completion
5.saving JMeter test results in format.
10. This space is reserved for demonstration of
Taurus integration with Jenkins on local system
Taurus+ Jenkins + Jmeter = Consistent
Automated Collaborative Solution