Translations
Info
All page names need to be in English.
en da  de  fr  it  ja  km  nl  ru  zh

Blueprints/AutomatedPerformanceTests

From TYPO3Wiki
Jump to: navigation, search

<- Back to blueprints overview

Blueprint: Automated Performance Tests

Proposal Automated Performance Tests for TYPO3
Owner/Starter Tymoteusz Motylewski
Participants/Members -
Status Draft, Discussion, Voting Phase, Accepted, Declined, Withdrawn
Current Progress Unknown, Started, Good Progress, Bad Progress, Stalled, Review Needed
Topic for Gerrit ###gerrit_topic###

Target Versions/Milestones

  • Started during TYPO3 CMS x.y development

Goals / Motivation

The goal is to monitor performance impact of changes merged to TYPO3 core. It's a must have for improving performance of the core.

Concept

After each commit to the core, Jenkings should perform tests, gather data and produce a report. Additionally it might send a warning if performance impact of the change is too big. It should be possible to see a trend (historical data) and a performance report for the current commit.

Implementation Details

To implement fully automated performance test, the work needs to be done in the several areas. Performance tests scenarios might be implemented using JMeter.

Infrastructure

  • Dedicated machine is needed, for hosting tested TYPO3 instance. Hardware specification should be known.

Jenkins integration

  • configuration needs to be updated, e.g. additional jobs for running performance tests
  • Data provided by JMeter needs to be fetched
  • It should be presented as graphs and numeric values
  • Historical data should be available

Testing scenarions

  • Most important scenarios for the Backend and the Frontend should be written down.

Performance tests implementation

  • Testing scenarios should be implemented in e.g. using JMetter
  • JMetter should be installed and configured

Documentation

  • Description of the testing environment (hardware, PHP settings, TYPO3 configuration, etc...)
  • Documentation on how to run performance tests
  • Tutorial how to write new tests and contribute

Risks

Issues and reviews

Dependencies upon other Blueprints

External links for clarification of technologies

It might be worth investigating how performance tests are automated in the Magento 2: https://github.com/magento/magento2/tree/master/dev/tests/performance