SlideShare a Scribd company logo
TESTING TYPO3
Christian Kuhn & Frank Nägler
christian.kuhn@typo3.com
frank.naegler@typo3.com
@lolli42 & @NeoBlack
How the LRZ supports the open
source project TYPO3
CHRISTIAN KUHN
§ TYPO3 Core Team Member
since 2009
§ Mostly full time core
development
§ TYPO3 GmbH employee
FRANK NÄGLER
§ TYPO3 Core Team Member
since 2014
§ Allrounder developer
§ TYPO3 GmbH employee
AGENDA
06.11.17 Testing TYPO3 4
06.11.17 5Testing TYPO3
1. About TYPO3
2. TYPO3 GmbH
3. Automated Testing
• History
• Infrastructure
• Test flavors
4. Live examples
ABOUT TYPO3
06.11.17 Testing TYPO3
OPEN SOURCE ENTERPRISE
CONTENT MANAGEMENT
SYSTEM
06.11.17 Testing TYPO3 7
TYPO3 is a PHP based content management system. The focus is on
large websites with a lot of content, established workflows and a
variety of editors with different access rights.
20 YEARS CONTENT MANAGEMENT-
PIONEERING WORK AND EXPERIENCE
06.11.17 Testing TYPO3 8
§ Structured data
§ Dependency management
§ Multi language & domain
§ Extensions
§ Long-term support (LTS)
§ Prooven upgrade paths
§ Digital Assets Management
§ Fixed release cycles
§ …
TYPO3 IS THE LEADING
INDUSTRY, UNIVERSITY AND
GOVERNMENT CMS
06.11.17 Testing TYPO3 9
Customization and Flexibiltiy makes TYPO3 one of the strongest
systems on the market.
WORKS MOBILE: PARKING
AIRCRAFT IN DÜSSELDORF, BUY
TRAIN TICKETS IN FRANCE, TV ON
THE AIDA CRUISE SHIP...
06.11.17 Testing TYPO3 10
... thanks to a flexible, stable and secure system, there is no limit
to creativity. We are sometimes surprised by what is content.
THE TYPO3 PROJECT IS
OFFICIALLY REPRESENTED BY
THE TYPO3 ASSOCIATION
06.11.17 Testing TYPO3 11
A non-profit organization with members, consisting of agencies,
freelancers, IT service providers, universities and private
individuals.
AREAS OF ACTIVITY
06.11.17 Testing TYPO3 12
Budget
Infrastructure Memberships
Communication
Marketing
Certification
typo3.org
Events
FundingSponsoring
Documentation
Education
Security
Trademarks
Legal
TYPO3 GMBH
06.11.17 Testing TYPO3
2016: TYPO3 GMBH
FOUNDED WITH
HEADQUARTER IN
DÜSSELDORF AS A
100% SUBSIDIARY
OF THE TYPO3
ASSOCIATION
06.11.17 Testing TYPO3 14
UNIQUE SERVICES
IN THE OPEN SOURCE SEGMENT
06.11.17 Testing TYPO3 15
§ No project business
§ Lead mediation
§ Manufacturer Service Level Agreements (SLA)
§ Independent project reviews
§ Extended long-term support (LTS + 2 years)
§ Partner program
§ Professional blogging and video creation
STRATEGIC PARTNERS
06.11.17 Testing TYPO3 16
TECHNOLOGY
06.11.17 Testing TYPO3
CONSTANT INNOVATION
06.11.17 Testing TYPO3 18
§ Modernizing a twenty years old codebase
§ Embracing existing features
§ Rewriting core components
§ Adoption of innovations
BUILD ON...
06.11.17 Testing TYPO3 19
§ PHP7 & Composer
§ Fluid Template Engine
§ jQuery, RequireJS, TypeScript
§ Doctrine DBAL
TYPO3 relies on a modern technology stack and was the first large open
source project that introduced PHP7 as a minimum requirement.
WEBSERVER
06.11.17 Testing TYPO3 20
§ IIS
§ Apache
§ NGINX
TYPO3 runs almost everywhere, all web servers with PHP runtime support
can be used.
DATABASES
06.11.17 Testing TYPO3 21
§ MySQL / MariaDB
§ PostgreSQL
§ MS SQL Server
The outsourcing of individual tables to other database servers is enabled by
Doctrine DBAL.
06.11.17 Testing TYPO3 22
Casual month: 52 authors have pushed 195 commits to master
and 325 commits to all branches. On master, 2,320 files changed
with 44,261 additions and 91,490 deletions.
444 Releases
~ 500 Contributors
24 Contributors with merge access
~ 1.500 Free extensions
ABOUT CODE
AUTOMATED
TESTING
TESTING TYPO3'S CORE - HISTORY
06.11.17 Testing TYPO3 24
§ 2009: First unit test released with core version 4.3
§ 2012: Automated test execution with Travis-CI
§ „always green“ rule
§ Positive impact on further development (e.g. bootstrap)
§ 2013: First functional test
§ 2016: First acceptance test
06.11.17 Einführung in TYPO3 25
TIME ISSUES
TIME ISSUES
06.11.17 Testing TYPO3 26
§ TYPO3‘s review process requires successful tests before merge
§ Developers expect and need quick feedback
§ Many runs on active days
§ Running all tests takes many hours on a single machine
§ Parallelization is king
“THROW MORE HARDWARE
AT THE PROBLEM”
06.11.17 Testing TYPO3 27
BAMBOO TO THE RESCUE
BAMBOO TO THE RESCUE
06.11.17 Testing TYPO3 29
§ Atlassian´s continuous integration solution
§ One master (queue manager), many remote agents
§ Caching of git repositories (core >300MB)
§ Preparation phase a couple of seconds
§ Testing with
§ 7 different PHP versions
§ 3 database systems
HARDWARE & DOCKER
06.11.17 Testing TYPO3 30
§ Normally 80 bamboo agents, 56 CPUs, 512GB RAM
§ 2 Hetzner root servers
§ 4 to 8 LRZ open nebula machines, each with
§ 64 GB RAM
§ 8 CPUs
§ 10 bamboo agents
§ Each agent in a docker machine
§ Entire docker in RAM
0
50
100
150
200
250
21.Aug17
22.Aug17
23.Aug17
24.Aug17
25.Aug17
26.Aug17
27.Aug17
28.Aug17
29.Aug17
30.Aug17
31.Aug17
01.Sep17
02.Sep17
03.Sep17
04.Sep17
05.Sep17
06.Sep17
07.Sep17
08.Sep17
09.Sep17
10.Sep17
11.Sep17
12.Sep17
13.Sep17
14.Sep17
15.Sep17
16.Sep17
17.Sep17
18.Sep17
19.Sep17
20.Sep17
Builds
BUILDS PER DAY
06.11.17 Testing TYPO3 31
0
5
10
15
20
25
30
21.
Aug
17
22.
Aug
17
23.
Aug
17
24.
Aug
17
25.
Aug
17
26.
Aug
17
27.
Aug
17
28.
Aug
17
29.
Aug
17
30.
Aug
17
31.
Aug
17
01.
Sep
17
02.
Sep
17
03.
Sep
17
04.
Sep
17
05.
Sep
17
06.
Sep
17
07.
Sep
17
08.
Sep
17
09.
Sep
17
10.
Sep
17
11.
Sep
17
12.
Sep
17
13.
Sep
17
14.
Sep
17
15.
Sep
17
16.
Sep
17
17.
Sep
17
18.
Sep
17
19.
Sep
17
Builds
DURATION PER
BUILD
(MINUTES)
06.11.17 Testing TYPO3 32
0
1
2
3
4
5
6
7
21.
Aug
17
22.
Aug
17
23.
Aug
17
24.
Aug
17
25.
Aug
17
26.
Aug
17
27.
Aug
17
28.
Aug
17
29.
Aug
17
30.
Aug
17
31.
Aug
17
01.
Sep
17
02.
Sep
17
03.
Sep
17
04.
Sep
17
05.
Sep
17
06.
Sep
17
07.
Sep
17
08.
Sep
17
09.
Sep
17
10.
Sep
17
11.
Sep
17
12.
Sep
17
13.
Sep
17
14.
Sep
17
15.
Sep
17
16.
Sep
17
17.
Sep
17
18.
Sep
17
19.
Sep
17
Builds
TIME TO START
(MINUTES)
06.11.17 Testing TYPO3 33
TEST FLAVORS
06.11.17 Testing TYPO3 34
UNIT TESTS
UNIT TESTS
06.11.17 Testing TYPO3 36
§ Best optimized part of the test suite
§ ~ 9.000 tests in 30 seconds
§ Executing unit tests on all supported PHP versions
§ Randomized order ensuring side effect free tests
§ The „Scheduler“-Story
FUNCTIONAL TESTS
FUNCTIONAL TESTS
06.11.17 Testing TYPO3 38
§ Most expensive part of the test suite
§ ~ 1.200 functional tests, split up into 120 single test cases
§ Executed on all supported DBMS, shared between 30 agents
§ Each test needs its own controlled environment
§ Good test isolation between single tests
§ Suitable for complex scenarios
§ Shows limitations of the framework
ACCEPTANCE TESTS
ACCEPTANCE TESTS
06.11.17 Testing TYPO3 40
§ Execute click through paths in browser
§ Testing the application as a „user“
§ Needs a complex setup:
§ Browser (Chrome)
§ Selenium
§ Xvfb
§ Codeception & PHPUnit
§ Webserver, Database, PHP interpreter
§ Stable network connection
§ Most fragile part of the test suite
INTEGRITY TESTS
INTEGRITY TESTS
06.11.17 Testing TYPO3 42
§ Testing various cross cutting concerns
§ Learning from previous failures
§ Examples:
§ Verify exception codes are unique
§ Respect coding guidelines
§ ReST & XLF file integrity
§ File path length check
§ Lint: PHP, TypeScript, Sass
§ Check file permissions
§ Validate composer.json
FUTURE
More Tests – More Speed
Better Application
QUESTIONS?
06.11.17 Testing TYPO3 44
THANKS
@lolli42 @NeoBlack

More Related Content

PDF
Dev objective2015 lets git together
PDF
Repository Management with JFrog Artifactory
PPTX
Apache Maven
PDF
February OpenNTF Webinar: Introduction to Ansible for Newbies
PPTX
2016 Q1 - WebRTC testing State of The Art
PPTX
WebRTC Status Update - 2017Q2
PPTX
VI package manager
PDF
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Dev objective2015 lets git together
Repository Management with JFrog Artifactory
Apache Maven
February OpenNTF Webinar: Introduction to Ansible for Newbies
2016 Q1 - WebRTC testing State of The Art
WebRTC Status Update - 2017Q2
VI package manager
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...

What's hot (8)

PDF
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)
PDF
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...
PDF
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...
PPTX
TYPO3 & Composer
PDF
DockerCon Recap - Online Meetup by Ben Firshman
PPTX
Константин Маркович: "Creating modular application using Spring Boot "
PDF
engage 2016 - Get ready for moving from Java 6 to Java 8 - Now!
PPTX
DYI - Starting your own webrtc project
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...
TYPO3 & Composer
DockerCon Recap - Online Meetup by Ben Firshman
Константин Маркович: "Creating modular application using Spring Boot "
engage 2016 - Get ready for moving from Java 6 to Java 8 - Now!
DYI - Starting your own webrtc project
Ad

Similar to Testing TYPO3 - How the LRZ supports the open source project TYPO3 (20)

PDF
DevOps for TYPO3 Teams and Projects
PDF
AtoZ about TYPO3 v8 CMS
PDF
Contribute to TYPO3 CMS
PDF
The typo3.org Relaunch Project
PDF
The typo3.org Relaunch Project
 
PDF
TYPO3 5.0 Experience Concept
PDF
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
ZIP
Unit testing for the TYPO3 4.x core
PDF
Keeping a codebase fresh for over a decade
PDF
Explanation of the TYPO3 Integrator Certification
PDF
typo3.org - past, present and future
KEY
TYPO3 4.6 Overview (Community Day Kyoto)
PDF
TYPO3 Contribution Bootup Day
PDF
Typo3 #OpenExpoDay 2014
PDF
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
PDF
TYPO3 4.5 LTS Status Report T3CON10
KEY
TYPO3 4.6 --rebase Overview
PDF
2018 - CertiFUNcation - Mathias Schreiber: What's new in TYPO3 v9
PDF
The Future of TYPO3
PDF
Enterprise CMS - TYPO3
DevOps for TYPO3 Teams and Projects
AtoZ about TYPO3 v8 CMS
Contribute to TYPO3 CMS
The typo3.org Relaunch Project
The typo3.org Relaunch Project
 
TYPO3 5.0 Experience Concept
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
Unit testing for the TYPO3 4.x core
Keeping a codebase fresh for over a decade
Explanation of the TYPO3 Integrator Certification
typo3.org - past, present and future
TYPO3 4.6 Overview (Community Day Kyoto)
TYPO3 Contribution Bootup Day
Typo3 #OpenExpoDay 2014
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
TYPO3 4.5 LTS Status Report T3CON10
TYPO3 4.6 --rebase Overview
2018 - CertiFUNcation - Mathias Schreiber: What's new in TYPO3 v9
The Future of TYPO3
Enterprise CMS - TYPO3
Ad

Recently uploaded (20)

PPTX
Essential Infomation Tech presentation.pptx
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
top salesforce developer skills in 2025.pdf
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
ai tools demonstartion for schools and inter college
PDF
System and Network Administration Chapter 2
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
history of c programming in notes for students .pptx
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Nekopoi APK 2025 free lastest update
PPTX
Transform Your Business with a Software ERP System
Essential Infomation Tech presentation.pptx
Which alternative to Crystal Reports is best for small or large businesses.pdf
top salesforce developer skills in 2025.pdf
VVF-Customer-Presentation2025-Ver1.9.pptx
Reimagine Home Health with the Power of Agentic AI​
Operating system designcfffgfgggggggvggggggggg
Softaken Excel to vCard Converter Software.pdf
ai tools demonstartion for schools and inter college
System and Network Administration Chapter 2
2025 Textile ERP Trends: SAP, Odoo & Oracle
CHAPTER 2 - PM Management and IT Context
Upgrade and Innovation Strategies for SAP ERP Customers
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
history of c programming in notes for students .pptx
How to Choose the Right IT Partner for Your Business in Malaysia
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Nekopoi APK 2025 free lastest update
Transform Your Business with a Software ERP System

Testing TYPO3 - How the LRZ supports the open source project TYPO3