<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 <title>Sebastian Bergmann</title>
 <link href="https://sebastian-bergmann.de/"/>
 <link rel="self" href="https://sebastian-bergmann.de/atom.xml"/>
 <author>
  <name>Sebastian Bergmann</name>
 </author>
 <id>https://sebastian-bergmann.de/atom.xml</id>
 <updated>2019-09-20T05:21:33+00:00</updated>
 <entry>
  <title>Tools of the Trade</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2019/09/php-web-entwicklung-meetup-koeln/tools-of-the-trade"/>
  <id>https://thephp.cc/dates/2019/09/php-web-entwicklung-meetup-koeln/tools-of-the-trade</id>
  <published>2019-09-19T09:00:00+02:00</published>
  <updated>2019-09-19T09:00:00+02:00</updated>
  <summary>Developers need tools to be productive. In this session, Sebastian Bergmann presents an overview of the tools every PHP developer needs to know. For instance, we will have a look at dephpend, php-cs-fixer, phpstan, phan, and PHPUnit. Tools are not an end unto themselves, though. Therefore we will also discuss how these tools fit into your development process.</summary>
 </entry>
 <entry>
  <title>Vom Besucherzähler zur treibenden Kraft des Web</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2019/08/froscon/vom-besucherzaehler-zur-treibenden-kraft-des-web"/>
  <id>https://thephp.cc/dates/2019/08/froscon/vom-besucherzaehler-zur-treibenden-kraft-des-web</id>
  <published>2019-08-10T09:00:00+02:00</published>
  <updated>2019-08-10T09:00:00+02:00</updated>
  <summary>Eigentlich wollte Rasmus Lerdorf vor 24 Jahren nur die Besucher seiner Webseite zählen. Wie kam es dazu, dass heute circa 80 Prozent aller Webseiten PHP verwenden? Wie wird PHP weiterentwickelt? Wie kann man zu PHP beitragen? Was können Entwicklerinnen und Entwickler von PHP 7.4 und PHP 8 erwarten? Diese und andere Fragen beantwortet der Vortrag von Sebastian Bergmann, der seit fast 20 Jahren zur Professionalisierung der Softwareentwicklung mit PHP beiträgt.</summary>
 </entry>
 <entry>
  <title>Die Zukunft von PHP</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2019/07/webtech-bonn/die-zukunft-von-php"/>
  <id>https://thephp.cc/dates/2019/07/webtech-bonn/die-zukunft-von-php</id>
  <published>2019-07-10T09:00:00+02:00</published>
  <updated>2019-07-10T09:00:00+02:00</updated>
  <summary>PHP war schon immer so verbreitet wie gleichzeitig umstritten. Doch in den letzten Jahren hat sich etwas verändert: Suchten sich Entwickler früher einen Job wegen PHP aus, so kommen sie heute trotz PHP. Marcel Normann, Entwicklungsleiter der WhereGroup, präsentiert als Einleitung einen kurzen Rückblick auf über 20 Jahre PHP-Geschichte und wagt den Versuch, in Statistiken Hinweise zur Zukunftsfähigkeit von PHP zu finden. Anschließend geht es weiter mit Sebastian Bergmann, einem PHP-Entwickler der ersten Stunde in Deutschland: Er berichtet, wie weit die Entwicklung von PHP 8.0 vorangeschritten ist und welche Features wir zu erwarten haben. Im Anschluss an die Vorträge wollen wir uns gemeinsam mit Euch auf die Suche nach einer Antwort auf die Frage machen, ob ein Entwickler heute noch PHP lernen sollte.</summary>
 </entry>
 <entry>
  <title>Richtig testen</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2019/06/devtreff-siegburg/richtig-testen"/>
  <id>https://thephp.cc/dates/2019/06/devtreff-siegburg/richtig-testen</id>
  <published>2019-06-27T09:00:00+02:00</published>
  <updated>2019-06-27T09:00:00+02:00</updated>
  <summary>Die richtige Software entwickeln. Das Richtige testen. Zum richtigen Zeitpunkt. Mit dem passenden Werkzeug sowie den richtigen Kniffen, wie man es effektiv und effizient einsetzt. In diesem Vortrag gehen wir unter anderem den folgenden Fragen nach: Was will ich testen? In welchem Rahmen muss ich es testen? Wie formuliere ich den Test?</summary>
 </entry>
 <entry>
  <title>PHPUnit Best Practices</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2019/06/international-php-conference-spring-edition/phpunit-best-practices"/>
  <id>https://thephp.cc/dates/2019/06/international-php-conference-spring-edition/phpunit-best-practices</id>
  <published>2019-06-05T09:00:00+02:00</published>
  <updated>2019-06-05T09:00:00+02:00</updated>
  <summary>While PHPUnit is not difficult to set up and writing tests with it is easy, you will get better results and save development time if you know the tips and tricks to leverage PHPUnit more effectively. This session, presented by the creator of PHPUnit, teaches best practices you can use to ensure that your unit testing effort is efficiently implemented.</summary>
 </entry>
 <entry>
  <title>Writing Really Good Code</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2019/06/international-php-conference-spring-edition/writing-really-good-code"/>
  <id>https://thephp.cc/dates/2019/06/international-php-conference-spring-edition/writing-really-good-code</id>
  <published>2019-06-03T09:00:00+02:00</published>
  <updated>2019-06-03T09:00:00+02:00</updated>
  <summary>What makes up clean code? How does code turn out well? And how do you write really good code? In this workshop you will not only learn the answers to these questions. You will have the opportunity to immediately apply what you learn in a practical exercise. First, we will show how Domain-Driven Design and Test-Driven Development can be used to solve problems. Needless to say that we will cover topics such as Clean Code and SOLID along the way. Coached by the trainers, you will then work in pairs on additional features for the software we developed during the live coding. We will round up the day with a review where you will get feedback on the code you created. You will need to bring your own laptop to really benefit from this workshop. A recent version of PHP 7 and PHPUnit as well as your IDE of choice are all that is needed. No frameworks or third-party code are required.</summary>
 </entry>
 <entry>
  <title>Die Legende vom untestbaren Code</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2019/03/webtech-bonn/die-legende-vom-untestbaren-code"/>
  <id>https://thephp.cc/dates/2019/03/webtech-bonn/die-legende-vom-untestbaren-code</id>
  <published>2019-03-20T09:00:00+02:00</published>
  <updated>2019-03-20T09:00:00+02:00</updated>
  <summary>Entgegen landläufiger Meinung ist kein Code untestbar. Sicherlich macht es mehr Spass, Unit Tests für sauberen, nach SOLID-Prinzipien erstellten Code zu schreiben. Aber was ist mit Legacy Code, der mit zahlreichen Abhängigkeiten aufwartet und sich nicht um die Trennung der Verantwortlichkeiten schert? Sebastian Bergmann zeigt, dass es möglich ist, Tests selbst für den miserabelsten Code zu schreiben. Anhand von Beispielen aus der Praxis zeigt er das Warum, Was, Wie und Wann des Testens von Software.</summary>
 </entry>
 <entry>
  <title>Do you verify your views?</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=DbKapD6cCm8"/>
  <id>https://www.youtube.com/watch?v=DbKapD6cCm8</id>
  <published>2019-02-28T00:00:00+00:00</published>
  <updated>2019-02-28T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Help! My tests stopped working.</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/news/2019/02/help-my-tests-stopped-working"/>
  <id>https://thephp.cc/news/2019/02/help-my-tests-stopped-working</id>
  <published>2019-02-12T09:00:00+02:00</published>
  <updated>2019-02-12T09:00:00+02:00</updated>
  <summary>Sebastian Bergmann provides guidance on how to avoid frustration when upgrading to a new major version of PHPUnit.</summary>
 </entry>
 <entry>
  <title>Testing Self-Contained Systems</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=RMpcAtnxGFA"/>
  <id>https://www.youtube.com/watch?v=RMpcAtnxGFA</id>
  <published>2019-01-31T00:00:00+00:00</published>
  <updated>2019-01-31T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Faster Code Coverage</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/news/2019/01/faster-code-coverage"/>
  <id>https://thephp.cc/news/2019/01/faster-code-coverage</id>
  <published>2019-01-14T09:00:00+02:00</published>
  <updated>2019-01-14T09:00:00+02:00</updated>
  <summary>Sebastian Bergmann and Sebastian Heuer share how they made PHPUnit's code coverage functionality faster.</summary>
 </entry>
 <entry>
  <title>Prepare for tomorrow, today</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2018/10/international-php-conference/prepare-for-tomorrow-today"/>
  <id>https://thephp.cc/dates/2018/10/international-php-conference/prepare-for-tomorrow-today</id>
  <published>2018-10-18T09:00:00+02:00</published>
  <updated>2018-10-18T09:00:00+02:00</updated>
  <summary>Currently, the PHP project actively supports PHP 7.1 and PHP 7.2. The security support for PHP 5.6 and PHP 7.0 ends in December 2018. Now is the time to prepare for this year's PHP 7.3 and plan for next year's PHP 7.4. Attendees of this presentation will learn everything they need to know about PHP 7.3 and how to keep up with PHP's development so that they will not be surprised, at least not in a bad way, when PHP 7.4 and PHP 8 come out.</summary>
 </entry>
 <entry>
  <title>Getting Started with PHPUnit</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2018/10/international-php-conference/getting-started-with-phpunit"/>
  <id>https://thephp.cc/dates/2018/10/international-php-conference/getting-started-with-phpunit</id>
  <published>2018-10-17T09:00:00+02:00</published>
  <updated>2018-10-17T09:00:00+02:00</updated>
  <summary>If you want to be sure that your software works correctly then you need to continuously test it. Automated tests save you from pressing F5 in the browser all the time as well as from using debug statements such as var_dump() in your code. They are also cheaper than manual tests and easier to implement than you may think. How do I test my code with as little effort as possible? How do I execute as few lines of code as possible to test what I am really interested in? And what does this have to do with clean code? Attendees of this session will learn why they should include PHPUnit into their set of development tools.</summary>
 </entry>
 <entry>
  <title>Making PHPUnit Better</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2018/10/international-php-conference/making-phpunit-better"/>
  <id>https://thephp.cc/dates/2018/10/international-php-conference/making-phpunit-better</id>
  <published>2018-10-17T09:00:00+02:00</published>
  <updated>2018-10-17T09:00:00+02:00</updated>
  <summary>Join Sebastian Bergmann, the creator of PHPUnit, to learn how PHPUnit works, why it works like that, why he wishes it did not work like that, and what he is doing about it.</summary>
 </entry>
 <entry>
  <title>Do you verify your views?</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2018/10/international-php-conference/do-you-verify-your-views"/>
  <id>https://thephp.cc/dates/2018/10/international-php-conference/do-you-verify-your-views</id>
  <published>2018-10-16T09:00:00+02:00</published>
  <updated>2018-10-16T09:00:00+02:00</updated>
  <summary>We all know how to test domain logic in isolation from framework, database, and template rendering. While testing framework and database interaction can be considered to be solved problems, there is room for improvements when it comes to the testing of views and their templates. Attendees of this presentation will learn how to decouple domain logic from views and make the latter convenient and fun to work with.</summary>
 </entry>
 <entry>
  <title>Making PHPUnit Better</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=hfCJOwXLtQU"/>
  <id>https://www.youtube.com/watch?v=hfCJOwXLtQU</id>
  <published>2018-10-04T00:00:00+00:00</published>
  <updated>2018-10-04T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>The Myth of Untestable Code</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2018/08/froscon/the-myth-of-untestable-code"/>
  <id>https://thephp.cc/dates/2018/08/froscon/the-myth-of-untestable-code</id>
  <published>2018-08-26T09:00:00+02:00</published>
  <updated>2018-08-26T09:00:00+02:00</updated>
  <summary>Contrary to popular belief, no code is untestable. Sure, writing unit tests for well-crafted code that follows the SOLID principles is easy. But what about legacy code residing in some god class with implicit dependencies and no separation of concerns? We will show you that it is possible to write tests for even the worst code by explaining the why, the what, the how, and the when of software testing while looking at real-world examples.</summary>
 </entry>
 <entry>
  <title>PHPUnit 7(.3)</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2018/08/php-user-group-koeln/phpunit-7"/>
  <id>https://thephp.cc/dates/2018/08/php-user-group-koeln/phpunit-7</id>
  <published>2018-08-03T09:00:00+02:00</published>
  <updated>2018-08-03T09:00:00+02:00</updated>
  <summary>Am Erscheinungstag von PHPUnit 7.3 erklärt Sebastian Bergmann bei der PHP User Group Köln, was es in/seit PHPUnit 7 Neues gibt.</summary>
 </entry>
 <entry>
  <title>Heute schon an morgen denken</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=NZhgM_PaEjQ"/>
  <id>https://www.youtube.com/watch?v=NZhgM_PaEjQ</id>
  <published>2018-07-16T00:00:00+00:00</published>
  <updated>2018-07-16T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Testing Self-Contained Systems</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2018/06/international-php-conference-spring-edition/testing-self-contained-systems"/>
  <id>https://thephp.cc/dates/2018/06/international-php-conference-spring-edition/testing-self-contained-systems</id>
  <published>2018-06-05T09:00:00+02:00</published>
  <updated>2018-06-05T09:00:00+02:00</updated>
  <summary>Congratulations, you successfully replaced your legacy monolith. And not just with a distributed monolith comprised of microservices that depend on each other, but rather with an assembly of self-contained systems that do not share infrastructure. There is just one question left to answer: how do you test an application that consists of self-contained systems? Come to this session and learn the answer!</summary>
 </entry>
 <entry>
  <title>Domain-Specific Assertions</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=FC7Sz8gwbuc"/>
  <id>https://www.youtube.com/watch?v=FC7Sz8gwbuc</id>
  <published>2018-02-14T00:00:00+00:00</published>
  <updated>2018-02-14T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Everything you need to know about PHP 7.2</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=od19SMYxRZQ"/>
  <id>https://www.youtube.com/watch?v=od19SMYxRZQ</id>
  <published>2018-01-15T00:00:00+00:00</published>
  <updated>2018-01-15T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Domain-Specific Assertions</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2017/11/php-ruhr/domain-specific-assertions"/>
  <id>https://thephp.cc/dates/2017/11/php-ruhr/domain-specific-assertions</id>
  <published>2017-11-09T09:00:00+02:00</published>
  <updated>2017-11-09T09:00:00+02:00</updated>
  <summary>A common language, understood by technical and non-technical stakeholders alike, is essential for good communication in a software project. Combining ideas from Domain-Driven Design and Test-Driven Development, this ubiquitous language can be represented in both production code and test code. Attendees of this session will learn how to create tests that are easy to write, fast to execute, and deliver highly reliable results. They will gain expertise in the confident and effective implementation of automated tests for their software and learn how to implement custom assertions for PHPUnit to represent the common language of their project in test code.</summary>
 </entry>
 <entry>
  <title>Everything you need to know about PHP 7.2</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2017/10/international-php-conference/everything-you-need-to-know-about-php-72"/>
  <id>https://thephp.cc/dates/2017/10/international-php-conference/everything-you-need-to-know-about-php-72</id>
  <published>2017-10-24T09:00:00+02:00</published>
  <updated>2017-10-24T09:00:00+02:00</updated>
  <summary>Almost two years after the release of PHP 7.0 it is time to look ahead to PHP 7.2 (and say “Goodbye!” to PHP 5). The attendees of this session will learn how to prepare their code for this upcoming version in order to leverage its performance improvements as well as its new functionality offerings as soon as possible and with the least amount of risk.</summary>
 </entry>
 <entry>
  <title>PHPUnit for Drupal Developers</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=P5zbtsQLnp4"/>
  <id>https://www.youtube.com/watch?v=P5zbtsQLnp4</id>
  <published>2017-09-28T00:00:00+00:00</published>
  <updated>2017-09-28T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Testen: Je mehr Du es tust, desto mehr wirst Du es lieben</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=WLikscT4PCE"/>
  <id>https://www.youtube.com/watch?v=WLikscT4PCE</id>
  <published>2017-09-13T00:00:00+00:00</published>
  <updated>2017-09-13T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Extending PHPUnit</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2017/08/froscon/extending-phpunit"/>
  <id>https://thephp.cc/dates/2017/08/froscon/extending-phpunit</id>
  <published>2017-08-20T09:00:00+02:00</published>
  <updated>2017-08-20T09:00:00+02:00</updated>
  <summary>PHPUnit is a powerful tool for writing and running tests for your PHP-based software. It is not uncommon, though, that extending PHPUnit's core functionality makes sense to adapt the tool to the specific needs of your software. This session, presented by the creator of PHPUnit, teaches best practices for writing custom PHPUnit extensions and distributing them using Composer as well as PHP Archives (PHAR). You will learn how to implement custom assertions, logging capabilities, and solutions for fixture management, for instance.</summary>
 </entry>
 <entry>
  <title>Amiga Software Development in 2017</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://amiga.sebastian-bergmann.de/evoke2017/"/>
  <id>https://amiga.sebastian-bergmann.de/evoke2017/</id>
  <published>2017-08-19T00:00:00+00:00</published>
  <updated>2017-08-19T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>PHPUnit für Contao Entwickler</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=2kFDfKfel_U"/>
  <id>https://www.youtube.com/watch?v=2kFDfKfel_U</id>
  <published>2017-07-19T00:00:00+00:00</published>
  <updated>2017-07-19T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>PHP 7: Reality Check</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2017/05/international-php-conference-spring-edition/php-7-reality-check"/>
  <id>https://thephp.cc/dates/2017/05/international-php-conference-spring-edition/php-7-reality-check</id>
  <published>2017-05-31T09:00:00+02:00</published>
  <updated>2017-05-31T09:00:00+02:00</updated>
  <summary>PHP 7.0 was released one and a half years ago, PHP 7.1 was released half a year ago, and PHP 7.2 will be released later this year. It is high time to have a critical look at the PHP 7 ecosystem. How stable is PHP 7? How wide-spread is its usage in the wild? Have standard solutions, frameworks, libraries, and tools caught up with the new generation? In this session you will learn everything you need to know about the state of PHP 7.</summary>
 </entry>
 <entry>
  <title>The Death Star Version Constraint</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/news/2017/02/death-star-version-constraint"/>
  <id>https://thephp.cc/news/2017/02/death-star-version-constraint</id>
  <published>2017-02-15T09:00:00+02:00</published>
  <updated>2017-02-15T09:00:00+02:00</updated>
  <summary>Sebastian Bergmann explains why using a too wide version constraint may cause trouble.</summary>
 </entry>
 <entry>
  <title>Migrating to PHPUnit 6</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/news/2017/02/migrating-to-phpunit-6"/>
  <id>https://thephp.cc/news/2017/02/migrating-to-phpunit-6</id>
  <published>2017-02-03T09:00:00+02:00</published>
  <updated>2017-02-03T09:00:00+02:00</updated>
  <summary>Sebastian Bergmann explains how to migrate your test suite to PHPUnit 6.</summary>
 </entry>
 <entry>
  <title>Richtig testen</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=a2a3tYqWUCU"/>
  <id>https://www.youtube.com/watch?v=a2a3tYqWUCU</id>
  <published>2017-02-02T00:00:00+00:00</published>
  <updated>2017-02-02T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Lately in PHP(Unit)</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=VTrAqh6vBYo"/>
  <id>https://www.youtube.com/watch?v=VTrAqh6vBYo</id>
  <published>2016-12-04T00:00:00+00:00</published>
  <updated>2016-12-04T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Lately in PHP(Unit)</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2016/10/phpconf-taiwan/lately-in-phpunit"/>
  <id>https://thephp.cc/dates/2016/10/phpconf-taiwan/lately-in-phpunit</id>
  <published>2016-10-29T09:00:00+02:00</published>
  <updated>2016-10-29T09:00:00+02:00</updated>
  <summary>Long gone are the times when developers had to wait years to get their hands on new versions of PHP itself and tools such as PHPUnit. The PHP project releases a version with new features every year and the PHPUnit project every eight weeks. Join Sebastian Bergmann, creator and maintainer of PHPUnit, for a recap of what is new in PHP 7.0 and PHP 7.1 as well as PHPUnit 5 and PHPUnit 6.</summary>
 </entry>
 <entry>
  <title>Testing: the more you do it, the more you'll like it</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2016/10/international-php-conference/testing-the-more-you-do-it-the-more-you-will-like-it"/>
  <id>https://thephp.cc/dates/2016/10/international-php-conference/testing-the-more-you-do-it-the-more-you-will-like-it</id>
  <published>2016-10-24T09:00:00+02:00</published>
  <updated>2016-10-24T09:00:00+02:00</updated>
  <summary>Though we &quot;believe&quot; in testing and &quot;know&quot; it helps deliver better quality code, many of us struggle to incorporate testing into our daily work. Why? And how do we get both technical and non-technical stakeholders not only on the same page with regards to delivering quality software but also actively involved in the process? In this session, Sebastian Bergmann, creator of PHPUnit, and Jeffrey A. &quot;jam&quot; McGuire, Evangelist, Developer Relations at Acquia, discuss how adopting and consistently applying testing to software development delivers better results at a lower overall cost and how the benefits of testing accrue over time.</summary>
 </entry>
 <entry>
  <title>PHP 7: What kind of language is it?</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=v7HEWb4iVsU"/>
  <id>https://www.youtube.com/watch?v=v7HEWb4iVsU</id>
  <published>2016-08-22T00:00:00+00:00</published>
  <updated>2016-08-22T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Wie man sich auf PHP 7 vorbereitet</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=N2OwOZURozg"/>
  <id>https://www.youtube.com/watch?v=N2OwOZURozg</id>
  <published>2016-08-01T00:00:00+00:00</published>
  <updated>2016-08-01T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>PHP 7: 28 Weeks Later</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=Zc9e4hbwpHc"/>
  <id>https://www.youtube.com/watch?v=Zc9e4hbwpHc</id>
  <published>2016-07-14T00:00:00+00:00</published>
  <updated>2016-07-14T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Finding the right test tool for the job</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=lR9IG77d9Eo"/>
  <id>https://www.youtube.com/watch?v=lR9IG77d9Eo</id>
  <published>2016-07-14T00:00:00+00:00</published>
  <updated>2016-07-14T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>PHP 7: What kind of language is it?</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2016/05/international-php-conference-spring-edition/php-7-what-kind-of-language-is-it"/>
  <id>https://thephp.cc/dates/2016/05/international-php-conference-spring-edition/php-7-what-kind-of-language-is-it</id>
  <published>2016-05-31T09:00:00+02:00</published>
  <updated>2016-05-31T09:00:00+02:00</updated>
  <summary>PHP 7 is an imperative programming language that supports procedural as well as object-oriented programming. It has limited support for functional programming and language extensions for aspect-oriented programming exist. PHP 7 is dynamically, implicitly, and weakly typed but supports explicit typing and strict type checking when desired. But what does this all mean? Join Sebastian Bergmann on a whirlwind tour through the interesting land of programming language design principles and find out just what a great language PHP is.</summary>
 </entry>
 <entry>
  <title>Finding the right testing tool for the job</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2016/05/php-serbia-conference/finding-the-right-testing-tool-for-the-job"/>
  <id>https://thephp.cc/dates/2016/05/php-serbia-conference/finding-the-right-testing-tool-for-the-job</id>
  <published>2016-05-29T09:00:00+02:00</published>
  <updated>2016-05-29T09:00:00+02:00</updated>
  <summary>Over the last decade the idea that we should test our applications has slowly made its way from a niche idea to the mainstream of PHP development. With many tools and approaches to testing now available it can be difficult to choose which ones to use. In this talk we will explore the current landscape of PHP testing practices, look at the different tools and approaches available, and find out how we can decide which are best for our project, team, and context.</summary>
 </entry>
 <entry>
  <title>28 Weeks Later</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2016/05/php-serbia-conference/28-weeks-later"/>
  <id>https://thephp.cc/dates/2016/05/php-serbia-conference/28-weeks-later</id>
  <published>2016-05-28T09:00:00+02:00</published>
  <updated>2016-05-28T09:00:00+02:00</updated>
  <summary>Patient 7.0 was released into the wild 28 weeks ago. How many hosts have successfully been infected and how far has it spread? Was it an isolated outbreak or is it turning into a pandemic? A look back at seven months of PHP 7.</summary>
 </entry>
 <entry>
  <title>Lately in PHP(Unit)</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://vimeo.com/166863408"/>
  <id>https://vimeo.com/166863408</id>
  <published>2016-05-12T00:00:00+00:00</published>
  <updated>2016-05-12T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Code Coverage: Covered in Depth</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=rPWdD18KQtw"/>
  <id>https://www.youtube.com/watch?v=rPWdD18KQtw</id>
  <published>2016-04-13T00:00:00+00:00</published>
  <updated>2016-04-13T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>PHPUnit 5, PHP 7, and Beyond</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2016/02/confoo/phpunit-5-php-7-and-beyond"/>
  <id>https://thephp.cc/dates/2016/02/confoo/phpunit-5-php-7-and-beyond</id>
  <published>2016-02-24T09:00:00+02:00</published>
  <updated>2016-02-24T09:00:00+02:00</updated>
  <summary>New versions of PHPUnit that add new functionality are released bi-monthly. These releases do not break backwards compatibility, making it easy to stay up-to-date. PHPUnit 5.0, however, had to break backwards compatibility in October 2015 to support PHP 7. We will discuss how PHPUnit had to be adapted for PHP 7, how PHPUnit benefits from PHP 7, what additional changes PHPUnit 5.0-5.2 have brought, and we'll close with a look ahead to PHPUnit 6.</summary>
 </entry>
 <entry>
  <title>How to get ready for PHP 7</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=eOCyPxqFSTI"/>
  <id>https://www.youtube.com/watch?v=eOCyPxqFSTI</id>
  <published>2015-12-03T00:00:00+00:00</published>
  <updated>2015-12-03T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>The State of PHPUnit</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2015/11/php-world/the-state-of-phpunit"/>
  <id>https://thephp.cc/dates/2015/11/php-world/the-state-of-phpunit</id>
  <published>2015-11-20T09:00:00+02:00</published>
  <updated>2015-11-20T09:00:00+02:00</updated>
  <summary>Every eight weeks, a new version of PHPUnit is released. In this session, we discuss features added recently to help with writing and running tests. The development of new features is no longer limited to the PHPUnit core. Thanks to Composer, a thriving ecosystem of plugins is available that can be easily used to make your testing efforts more effective. We will examine the most commonly used plugins and close with a discussion of the future of PHPUnit.</summary>
 </entry>
 <entry>
  <title>The Fall Guy</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2015/10/international-php-conference/the-fall-guy"/>
  <id>https://thephp.cc/dates/2015/10/international-php-conference/the-fall-guy</id>
  <published>2015-10-28T09:00:00+02:00</published>
  <updated>2015-10-28T09:00:00+02:00</updated>
  <summary>This is the story of one of programming's great unsung heroes. I mean you've seen him, but you never knew who he was. You've cheered for him and cried for him and women have wanted to die for him. But did he ever get any credit, or the girl? No! He's what we call a test double. Test doubles lead an interesting, yet sometimes underappreciated life as dummies, stubs, spies, or mocks in the shadow of &quot;real&quot; objects. The audience will learn how to use Prophecy, a powerful mocking library for PHP, effectively with PHPUnit for designing and testing clean, modern PHP code.</summary>
 </entry>
 <entry>
  <title>How to get ready for PHP 7</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2015/10/international-php-conference/how-to-get-ready-for-php-7"/>
  <id>https://thephp.cc/dates/2015/10/international-php-conference/how-to-get-ready-for-php-7</id>
  <published>2015-10-27T09:00:00+02:00</published>
  <updated>2015-10-27T09:00:00+02:00</updated>
  <summary>More than a decade since the original release of PHP 5, the language's next major version, PHP 7, brings with it opportunities and challenges for developers. The attendees of this session will learn how to prepare their code for PHP 7 in order to leverage its performance improvements as well as its new functionality offerings as soon as possible and with the least amount of risk.</summary>
 </entry>
 <entry>
  <title>Test-Driven Domains</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2015/09/bulgaria-php-conference/test-driven-domains"/>
  <id>https://thephp.cc/dates/2015/09/bulgaria-php-conference/test-driven-domains</id>
  <published>2015-09-25T09:00:00+02:00</published>
  <updated>2015-09-25T09:00:00+02:00</updated>
  <summary>It has been argued that Test-Driven Development bears the risk of losing the focus on business value. Domain-Driven Design is an approach to software development that puts a strong focus on business value. Combining ideas of Domain-Driven Design and Test-Driven Development leads to a formalized representation of the ubiquitous language through production code and tests. Sebastian Bergmann, creator of PHPUnit, and Stefan Priebsch, a proven expert on software architecture and design, will show how you this works in a live pair programming session. The attendees of this workshop will then apply the demonstrated concepts and techniques under the guidance of the two trainers. Bring a laptop with PHP!</summary>
 </entry>
 <entry>
  <title>Kunst aus Code</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://sebastian-bergmann.de/presentations/2015/jugend-hackt-west/kunst-aus-code"/>
  <id>https://sebastian-bergmann.de/presentations/2015/jugend-hackt-west/kunst-aus-code</id>
  <published>2015-09-12T00:00:00+00:00</published>
  <updated>2015-09-12T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>How to use an Amiga in 2015</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://amiga.sebastian-bergmann.de/evoke2015/"/>
  <id>https://amiga.sebastian-bergmann.de/evoke2015/</id>
  <published>2015-08-01T00:00:00+00:00</published>
  <updated>2015-08-01T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>The Three Dimensions of Testing</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2015/06/dutch-php-conference/the-three-dimensions-of-testing"/>
  <id>https://thephp.cc/dates/2015/06/dutch-php-conference/the-three-dimensions-of-testing</id>
  <published>2015-06-26T09:00:00+02:00</published>
  <updated>2015-06-26T09:00:00+02:00</updated>
  <summary>The goal of all tests is to discover problems as early as possible. Dependening on the context, the same test can be used to answer different questions about the quality of the software under test. The three dimensions of goal, scope, and notation are one approach to categorize tests. Attendees of this session will learn which aspects of an application should be tested and how to efficiently implement these tests so that they are easy to write and fast to execute while delivering highly reliable results.</summary>
 </entry>
 <entry>
  <title>At the push of a button, and without a maintenance window!</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2015/06/international-php-conference-spring-edition/at-the-push-of-a-button-and-without-a-maintenance-window"/>
  <id>https://thephp.cc/dates/2015/06/international-php-conference-spring-edition/at-the-push-of-a-button-and-without-a-maintenance-window</id>
  <published>2015-06-09T09:00:00+02:00</published>
  <updated>2015-06-09T09:00:00+02:00</updated>
  <summary>A web application only generates revenue if it is available to users. This is why changes are traditionally deployed when most users sleep. The distribution and activation of a new software release need to be decoupled to make roll-outs during regular business hours feasible. In this talk we will show how to automate all the steps required to get a new version of a PHP web application into production without downtime.</summary>
 </entry>
 <entry>
  <title>Code Coverage: Covered in Depth</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2015/05/php-tek/code-coverage-covered-in-depth"/>
  <id>https://thephp.cc/dates/2015/05/php-tek/code-coverage-covered-in-depth</id>
  <published>2015-05-21T09:00:00+02:00</published>
  <updated>2015-05-21T09:00:00+02:00</updated>
  <summary>The analysis of code coverage is a feature that is extended and improved with each release of PHPUnit. In this session we will cover all aspects of PHPUnit's code coverage functionality in depth. You will learn how to leverage this important functionality more effectively to augment and guide your testing efforts.</summary>
 </entry>
 <entry>
  <title>Test-Driven Domains</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=JfeFy6j_Dlo"/>
  <id>https://www.youtube.com/watch?v=JfeFy6j_Dlo</id>
  <published>2015-03-28T00:00:00+00:00</published>
  <updated>2015-03-28T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>The State of PHPUnit</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://vimeo.com/130405526"/>
  <id>https://vimeo.com/130405526</id>
  <published>2015-02-01T00:00:00+00:00</published>
  <updated>2015-02-01T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Moving Fast Without Deploying Broken Things</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2014/11/php-t-day/moving-fast-without-deploying-broken-things"/>
  <id>https://thephp.cc/dates/2014/11/php-t-day/moving-fast-without-deploying-broken-things</id>
  <published>2014-11-22T09:00:00+02:00</published>
  <updated>2014-11-22T09:00:00+02:00</updated>
  <summary>Most web applications are changed and adapted quite frequently and quickly. What was sufficient yesterday can be insufficient today. Moving fast and breaking things is not a problem if you have a test harness and process in place you can trust to prevent you from deploying broken things into production. Attendees of this session will learn how create tests that are easy to write and fast to execute, require minimal maintenance, and deliver highly reliable results.</summary>
 </entry>
 <entry>
  <title>Moving fast without deploying broken things</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=ldDDZyqKHkY"/>
  <id>https://www.youtube.com/watch?v=ldDDZyqKHkY</id>
  <published>2014-11-22T00:00:00+00:00</published>
  <updated>2014-11-22T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Auf Knopfdruck – und ohne Wartungsfenster!</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2014/11/continuous-lifecycle/auf-knopfdruck-und-ohne-wartungsfenster"/>
  <id>https://thephp.cc/dates/2014/11/continuous-lifecycle/auf-knopfdruck-und-ohne-wartungsfenster</id>
  <published>2014-11-10T09:00:00+02:00</published>
  <updated>2014-11-10T09:00:00+02:00</updated>
  <summary>Eine Webanwendung kann nur dann Geschäftswert generieren, wenn sie für Anwender verfügbar ist. Änderungen führt man daher klassisch dann durch, wenn die Anwender schlafen. Um die Softwareverteilung in die reguläre Arbeitszeit verlegen zu können, müssen das Verteilen und die Inbetriebnahme der neuen Version voneinander entkoppelt werden. In diesem Vortrag zeigen die Referenten, wie man sämtliche Schritte automatisiert, um eine neue Version einer PHP-Webanwendung in Produktion zu stellen und dabei weder offline gehen noch vermeintlich inkompatible Versionen fürchten muss. Die vorgestellten Konzepte und Prozesse wurden unter anderem bei brack.ch und globetrotter.de implementiert und sind auch jenseits der PHP-Welt anwendbar.</summary>
 </entry>
 <entry>
  <title>A State of Mind</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=TtGmrx0THP8"/>
  <id>https://www.youtube.com/watch?v=TtGmrx0THP8</id>
  <published>2014-11-03T00:00:00+00:00</published>
  <updated>2014-11-03T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Effective Integration Testing</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2014/10/international-php-conference/effective-integration-testing"/>
  <id>https://thephp.cc/dates/2014/10/international-php-conference/effective-integration-testing</id>
  <published>2014-10-29T09:00:00+02:00</published>
  <updated>2014-10-29T09:00:00+02:00</updated>
  <summary>Beyond unit tests, integration tests are crucial. Implemented as end-to-end tests, however, they are cumbersome to write and slow to execute. Edge-to-edge tests are easier to write and faster to execute. More importantly, they require minimal maintenance. Most importantly, they deliver highly reliable results. Developers in the audience will gain expertise in the confident and effective implementation of integration tests with PHPUnit.</summary>
 </entry>
 <entry>
  <title>A State of Mind</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2014/10/international-php-conference/a-state-of-mind"/>
  <id>https://thephp.cc/dates/2014/10/international-php-conference/a-state-of-mind</id>
  <published>2014-10-28T09:00:00+02:00</published>
  <updated>2014-10-28T09:00:00+02:00</updated>
  <summary>Domain-Driven Design puts a focus on domain logic, the heart of business software. It is in this layer of the software that business concepts are represented in code together with their respective business rules. The state that reflects the business situation is controlled and used here. Business rules can be represented in code using state machines. These can be implemented effectively and with ease by applying the State design pattern. Join Sebastian Bergmann on a whirlwind journey through areas of software engineering such as design patterns, static code analysis, software visualization, code generation, and test generation.</summary>
 </entry>
 <entry>
  <title>Dealing with Legacy Code</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2014/10/international-php-conference/dealing-with-legacy-code"/>
  <id>https://thephp.cc/dates/2014/10/international-php-conference/dealing-with-legacy-code</id>
  <published>2014-10-28T09:00:00+02:00</published>
  <updated>2014-10-28T09:00:00+02:00</updated>
  <summary>It is a fact of life for every developer: you have to deal with code that has been written before your time and does not follow state-of-the-art best practices. The audience will learn in this session how branch-by-abstraction can be applied to &quot;hide&quot; ugly code behind beautiful APIs and how automatically generated characterization tests can be used to safeguard against unintended changes in legacy code while it is modernized. This makes testing in legacy applications possible and enables writing new code that does not suffer from the limitations imposed by the project's history.</summary>
 </entry>
 <entry>
  <title>Eine kurze Geschichte der Testpraktiken</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2014/10/code-talks/eine-kurze-geschichte-der-testpraktiken"/>
  <id>https://thephp.cc/dates/2014/10/code-talks/eine-kurze-geschichte-der-testpraktiken</id>
  <published>2014-10-10T09:00:00+02:00</published>
  <updated>2014-10-10T09:00:00+02:00</updated>
  <summary>Soll ich meine Software besser als Ganzes mit End-to-End Tests testen oder doch lieber im Kleinen mit Unit Tests? Und welchen Ansatz soll ich verfolgen? Acceptance Test-Driven (ATDD)? Behavior-Driven Development (BDD)? Test-Driven Development (TDD)? Diese und andere Diskussionen rund um das Testen von Software führen Entwicklerinnen und Entwickler leider allzu oft nur aus der Werkzeugsicht und verlieren dabei den eigentlichen Entwicklungsprozess aus den Augen. Dieser Vortrag erklärt nicht nur die unterschiedlichen Ansätze wie ATDD, BDD und TDD sondern beleuchtet auch wann und in welchem Kontext sie ursprünglich erfunden beziehungsweise wiedergefunden wurden. Die Teilnehmer gewinnen ein Verständnis für die gängigen Prozessbausteine rund um das Testen und können auf dieser Grundlage den für sie passenden Prozess ebenso wählen wie die Werkzeuge, mit dem sie den Prozess umsetzen.</summary>
 </entry>
 <entry>
  <title>HHVM: The Alternative PHP Runtime</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=P9WhAUpMFdg"/>
  <id>https://www.youtube.com/watch?v=P9WhAUpMFdg</id>
  <published>2014-07-28T00:00:00+00:00</published>
  <updated>2014-07-28T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>The Driven Developer</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=cgSSySygfLs"/>
  <id>https://www.youtube.com/watch?v=cgSSySygfLs</id>
  <published>2014-06-05T00:00:00+00:00</published>
  <updated>2014-06-05T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>HHVM: The Alternative PHP Runtime</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2014/06/international-php-conference-spring-edition/hhvm-the-alternative-php-runtime"/>
  <id>https://thephp.cc/dates/2014/06/international-php-conference-spring-edition/hhvm-the-alternative-php-runtime</id>
  <published>2014-06-03T09:00:00+02:00</published>
  <updated>2014-06-03T09:00:00+02:00</updated>
  <summary>The PHP language is almost 20 years old, as is its reference implementation that can be downloaded from PHP.net. In the last decade, alternative runtimes for PHP came and went. The HipHop VM (HHVM) that is developed – and used in production – by Facebook, however, is probably not only here to stay but very likely going to influence the future of PHP considerably. High time to have an in-depth look at what HHVM is and how it works.</summary>
 </entry>
 <entry>
  <title>Why, What, and How: Testing in 2014</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2014/06/international-php-conference-spring-edition/why-what-and-how-testing-in-2014"/>
  <id>https://thephp.cc/dates/2014/06/international-php-conference-spring-edition/why-what-and-how-testing-in-2014</id>
  <published>2014-06-03T09:00:00+02:00</published>
  <updated>2014-06-03T09:00:00+02:00</updated>
  <summary>One of the most important tasks in software testing is to find the right scope for each test case. What can be covered with unit tests and when are system-level end-to-end tests useful? What are functional tests, integration tests, or edge-to-edge tests? How do you test non-functional aspects such as performance? And where do experiment-driven and test-driven development fit in? Attendees of this session will learn which aspects of an application should be tested and how to efficiently implement these tests so that they are easy to write and fast to execute while delivering highly reliable results.</summary>
 </entry>
 <entry>
  <title>PHPUnit Best Practices</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=C6cQUlbJLKY"/>
  <id>https://www.youtube.com/watch?v=C6cQUlbJLKY</id>
  <published>2014-06-03T00:00:00+00:00</published>
  <updated>2014-06-03T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>The Driven Developer</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2014/05/jandbeyond/the-driven-developer"/>
  <id>https://thephp.cc/dates/2014/05/jandbeyond/the-driven-developer</id>
  <published>2014-05-31T09:00:00+02:00</published>
  <updated>2014-05-31T09:00:00+02:00</updated>
  <summary>You can build your software right – with 100% code coverage and high internal quality – and still fail to build the right software, the one the customer wants. How can you test that you are building the right software, and the right way? Developers (should) love unit tests. Other project stakeholders love acceptance tests. But which of these tests should drive the development? This session elucidates what Acceptance Test-Driven Development (ATDD), Behavior-Driven Development (BDD), and Test-Driven Development (TDD) are about, what their strengths and weaknesses are, and how you can find the right test mix for your project.</summary>
 </entry>
 <entry>
  <title>Vor BDD und TDD war PDD</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=3pqn_UHqB_g"/>
  <id>https://www.youtube.com/watch?v=3pqn_UHqB_g</id>
  <published>2014-03-17T00:00:00+00:00</published>
  <updated>2014-03-17T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Pride and Prejudice: Testing in the PHP World</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2014/02/fosdem/pride-and-prejudice-testing-in-the-php-world"/>
  <id>https://thephp.cc/dates/2014/02/fosdem/pride-and-prejudice-testing-in-the-php-world</id>
  <published>2014-02-02T09:00:00+02:00</published>
  <updated>2014-02-02T09:00:00+02:00</updated>
  <summary>Parts of the PHP community take pride in code that is of high quality and well tested. Outside of the PHP community the prejudice against the language and its ecosystem still prevails. Quality Assurance in general and Unit Testing in particular have come a long way since the inception of PHPUnit thirteen years ago: simple PHP programming has evolved into software engineering with PHP. Join Sebastian Bergmann, the creator of PHPUnit, as he shares his experience on how PHPUnit is used in different communities and projects, and what's been learnt along the way.</summary>
 </entry>
 <entry>
  <title>The PHP Tester's Toolbox</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=ebn_gvVPX0E"/>
  <id>https://www.youtube.com/watch?v=ebn_gvVPX0E</id>
  <published>2013-12-19T00:00:00+00:00</published>
  <updated>2013-12-19T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Test{able|ing} Zend Framework 2 Applications</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2013/11/zendcon-europe/testable-zend-framework-2-applications"/>
  <id>https://thephp.cc/dates/2013/11/zendcon-europe/testable-zend-framework-2-applications</id>
  <published>2013-11-20T09:00:00+02:00</published>
  <updated>2013-11-20T09:00:00+02:00</updated>
  <summary>Zend Framework 2 is a popular framework for developing web applications and services in PHP. But just because you use an off-the-shelf framework as the foundation for your development effort does not mean that you do not need to think about the architecture, design, and testability of the software you're building anymore. This session, presented by the creator of PHPUnit, teaches best practices you can use to ensure that your Zend Framework 2 application is easy to test and explains how to test it with PHPUnit.</summary>
 </entry>
 <entry>
  <title>Alternative PHP Runtimes</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=yIBOK1plEek"/>
  <id>https://www.youtube.com/watch?v=yIBOK1plEek</id>
  <published>2013-11-10T00:00:00+00:00</published>
  <updated>2013-11-10T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Testing on the Edge</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2013/10/international-php-conference/testing-on-the-edge"/>
  <id>https://thephp.cc/dates/2013/10/international-php-conference/testing-on-the-edge</id>
  <published>2013-10-28T09:00:00+02:00</published>
  <updated>2013-10-28T09:00:00+02:00</updated>
  <summary>Beyond Unit Tests, Acceptance and Integration Tests are crucial. Implemented as End-to-End tests, however, they are cumbersome to write and slow to execute. Edge-to-Edge Tests are easier to write and maintain, faster to execute, and deliver more reliable results. The audience will learn how to effectively implement these tests with PHPUnit.</summary>
 </entry>
 <entry>
  <title>More Tests or Better Code?</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=XMBIJK25Z7Q"/>
  <id>https://www.youtube.com/watch?v=XMBIJK25Z7Q</id>
  <published>2013-10-17T00:00:00+00:00</published>
  <updated>2013-10-17T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>More Tests or Better Code?</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2013/10/box-techtalks/more-tests-or-better-code"/>
  <id>https://thephp.cc/dates/2013/10/box-techtalks/more-tests-or-better-code</id>
  <published>2013-10-09T09:00:00+02:00</published>
  <updated>2013-10-09T09:00:00+02:00</updated>
  <summary>Once upon a time, in a kingdom far, far away there was a wizard. Each day the king laid out a new scenario in which foes of the realm would test his fortress' defenses. And every day the wizard would come up with new measures to keep the fortress safe. One day a knight appeared at the king's court. For each of the contraptions the wizard had implemented the knight made the case that it was superfluous because the scenario it was built to counter could be prevented. When a dragon named Legacy appeared and threatened the realm, the king turned to knight and wizard for counsel. In this Tech Talk, Sebastian Bergmann, creator of PHPUnit, will open his bag of tricks while Stefan Priebsch, a proven expert on software architecture and design, will talk about avoiding these tricks.</summary>
 </entry>
 <entry>
  <title>Leveraging 12 Years of PHPUnit</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2013/09/drupalcon-europe/leveraging-12-years-of-phpunit"/>
  <id>https://thephp.cc/dates/2013/09/drupalcon-europe/leveraging-12-years-of-phpunit</id>
  <published>2013-09-26T09:00:00+02:00</published>
  <updated>2013-09-26T09:00:00+02:00</updated>
  <summary>This session covers how PHPUnit is used in different communities and projects, and what's been learnt along the way, what's new and state of the art in unit testing, and how PHPUnit is integrating state-of-the-art paradigms, how PHPUnit compares to other testing technologies and methodologies.</summary>
 </entry>
 <entry>
  <title>Leveraging 12 Years of PHPUnit</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=AXZ1I5M6sHQ"/>
  <id>https://www.youtube.com/watch?v=AXZ1I5M6sHQ</id>
  <published>2013-09-26T00:00:00+00:00</published>
  <updated>2013-09-26T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Agility and Quality</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2013/09/web-and-php-conference/agility-and-quality"/>
  <id>https://thephp.cc/dates/2013/09/web-and-php-conference/agility-and-quality</id>
  <published>2013-09-18T09:00:00+02:00</published>
  <updated>2013-09-18T09:00:00+02:00</updated>
  <summary>When you continuously develop new features and deploy new code to production frequently, quality must not be an afterthought. This keynote will elucidate how agility and quality are connected and what this should mean for the architecture of your software.</summary>
 </entry>
 <entry>
  <title>Automated Deployment: From Jenkins to Production</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2013/09/web-and-php-conference/automated-deployment-from-jenkins-to-production"/>
  <id>https://thephp.cc/dates/2013/09/web-and-php-conference/automated-deployment-from-jenkins-to-production</id>
  <published>2013-09-17T09:00:00+02:00</published>
  <updated>2013-09-17T09:00:00+02:00</updated>
  <summary>All your tests are green and you are ready to deploy the latest version of your software into production. Again. If only you had an automated way of doing that to avoid the manual hassle! In this hands-on session you will learn how to make Jenkins and friends push your deployment into the next level, easily maintaining any set of servers.</summary>
 </entry>
 <entry>
  <title>High Quality PHP: Past, Present and Future</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2013/09/zedge-techtalks/high-quality-php-past-present-and-future"/>
  <id>https://thephp.cc/dates/2013/09/zedge-techtalks/high-quality-php-past-present-and-future</id>
  <published>2013-09-10T09:00:00+02:00</published>
  <updated>2013-09-10T09:00:00+02:00</updated>
  <summary>Quality Assurance in general and Unit Testing in particular have come a long way since the inception of PHPUnit twelve years ago: simple PHP programming has evolved into software engineering with PHP. Join Sebastian Bergmann, the creator of PHPUnit, as he shares his experience on overcoming both the technological challenges of testing PHP code and common organizational issues when introducing software development teams to testing. He will reflect on the lessons learned in the first decade of PHPUnit and will give a look into the tool's future.</summary>
 </entry>
 <entry>
  <title>Test{able|ing} Symfony2 Applications</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2013/09/ez-publish-summer-camp/testable-symfony2-applications"/>
  <id>https://thephp.cc/dates/2013/09/ez-publish-summer-camp/testable-symfony2-applications</id>
  <published>2013-09-06T09:00:00+02:00</published>
  <updated>2013-09-06T09:00:00+02:00</updated>
  <summary>Symfony2 is a popular framework for developing web applications in PHP. But just because you use an off-the-shelf framework as the foundation for your development effort does not mean that you do not need to think about the architecture, design, and testability of the software you're building anymore. This workshop, presented by the creator of PHPUnit, teaches best practices you can use to ensure that your Symfony2 application is easy to test and explains how to test it with PHPUnit.</summary>
 </entry>
 <entry>
  <title>Test Proxies, oder: Wie aus Problemen Features werden</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2013/08/froscon/test-proxies-oder-wie-aus-problemen-features-werden"/>
  <id>https://thephp.cc/dates/2013/08/froscon/test-proxies-oder-wie-aus-problemen-features-werden</id>
  <published>2013-08-25T09:00:00+02:00</published>
  <updated>2013-08-25T09:00:00+02:00</updated>
  <summary>Integrationstests schließen die Lücke zwischen Unit Tests und Systemtests, indem sie auf die Schnittstellen zwischen Komponenten fokussieren und sicherstellen, dass ihr Zusammenspiel wie erwartet funktioniert. In diesem Vortrag machen Arne Blankerts und Sebastian Bergmann anschaulich, wie aus einem konkreten Problem bei der Arbeit an Integrationstests in einem Kundenprojekt das Feature &quot;Test Proxies&quot; für PHPUnit entstand. Sie diskutieren das Problem, stellen die Lösung vor, erklären die Implementierung von Mock-Objekten in PHPUnit und zeigen, wie das Feature umgesetzt wurde.</summary>
 </entry>
 <entry>
  <title>Optimaler Einsatz von PHPUnit</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2013/06/web-developer-conference/optimaler-einsatz-von-phpunit"/>
  <id>https://thephp.cc/dates/2013/06/web-developer-conference/optimaler-einsatz-von-phpunit</id>
  <published>2013-06-26T09:00:00+02:00</published>
  <updated>2013-06-26T09:00:00+02:00</updated>
  <summary>Die Installation von PHPUnit ist nicht schwer und das Schreiben von Tests ist einfach. Sie können aber bessere Ergebnisse erzielen und Entwicklungszeit sparen, wenn Sie die Kniffe kennen, mit denen man PHPUnit effektiver einsetzen kann. In diesem Vortrag erklärt der Entwickler von PHPUnit die besten Praktiken, um Ihre Tests effizient zu implementieren.</summary>
 </entry>
 <entry>
  <title>Agilität und Qualität: Zwei Seiten einer Medaille</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2013/06/tng-big-techday/agilitaet-und-qualitaet-zwei-seiten-einer-medaille"/>
  <id>https://thephp.cc/dates/2013/06/tng-big-techday/agilitaet-und-qualitaet-zwei-seiten-einer-medaille</id>
  <published>2013-06-14T09:00:00+02:00</published>
  <updated>2013-06-14T09:00:00+02:00</updated>
  <summary>Wenn man kontinuierlich neue Features entwickelt und neuen Code häufig live stellt, dann darf Qualität nicht nachträglich passieren. Dieser Vortrag erklärt, wie Agilität und Qualität in Einklang gebracht werden können und was dies für die Architektur Ihrer Software bedeutet.</summary>
 </entry>
 <entry>
  <title>The Wrong End of the Stick</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2013/06/international-php-conference-spring-edition/the-wrong-end-of-the-stick"/>
  <id>https://thephp.cc/dates/2013/06/international-php-conference-spring-edition/the-wrong-end-of-the-stick</id>
  <published>2013-06-03T09:00:00+02:00</published>
  <updated>2013-06-03T09:00:00+02:00</updated>
  <summary>Unit Testing does not work for you? You are not alone. Every developer who starts with unit testing faces the same issues. Issues that will not go away by learning more about unit testing or PHPUnit. You are likely looking at the wrong end of the stick. You will learn how to get over the hump quickly when starting with PHPUnit.</summary>
 </entry>
 <entry>
  <title>Agility and Quality</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=dFxPj2Lzyi4"/>
  <id>https://www.youtube.com/watch?v=dFxPj2Lzyi4</id>
  <published>2013-04-03T00:00:00+00:00</published>
  <updated>2013-04-03T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Agility, Quality, Security</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=MC3qCcU2vq4"/>
  <id>https://www.youtube.com/watch?v=MC3qCcU2vq4</id>
  <published>2012-10-28T00:00:00+00:00</published>
  <updated>2012-10-28T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>Living with Legacy</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2012/10/zendcon/living-with-legacy"/>
  <id>https://thephp.cc/dates/2012/10/zendcon/living-with-legacy</id>
  <published>2012-10-23T09:00:00+02:00</published>
  <updated>2012-10-23T09:00:00+02:00</updated>
  <summary>It is a fact of life for every developer: you have to deal with code that has been written before your time, that does not follow state-of-the-art best practices, and that — worst of all — is not tested so you cannot safely change or extend it. In this session, the audience will witness the step-by-step refactoring of fictitious legacy code towards a state that is easy to comprehend, extend, test, and maintain.</summary>
 </entry>
 <entry>
  <title>Alternative PHP Runtimes</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2012/08/froscon/alternative-php-runtimes"/>
  <id>https://thephp.cc/dates/2012/08/froscon/alternative-php-runtimes</id>
  <published>2012-08-25T09:00:00+02:00</published>
  <updated>2012-08-25T09:00:00+02:00</updated>
  <summary>When you say &quot;PHP&quot; you mean the programming language PHP. This implicitly refers to the PHP Interpreter that is developed by the PHP project and that can be downloaded from PHP.net. Aside from this reference implementation of PHP there are alternative runtime environments for PHP, such as Facebook's HipHop. This session presents an overview of these alternatives and provides an insight into their feasability for production use.</summary>
 </entry>
 <entry>
  <title>Integrating PHP Projects with Jenkins</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2012/07/oscon/integrating-php-projects-with-jenkins"/>
  <id>https://thephp.cc/dates/2012/07/oscon/integrating-php-projects-with-jenkins</id>
  <published>2012-07-16T09:00:00+02:00</published>
  <updated>2012-07-16T09:00:00+02:00</updated>
  <summary>Today's web applications require frequent updates, not just by adding or upgrading features, but by maintaining and improving the software's existing code base as well. This tutorial teaches PHP developers how to use Jenkins, the popular continuous integration server, to monitor various aspects of software quality throughout a project's lifecycle. Attendees of this tutorial will learn how to implement continuous integration to automate processes for building and deploying regular software releases. They will also learn how to use Jenkins to monitor and improve their applications through continuous inspection and static code analysis.</summary>
 </entry>
 <entry>
  <title>Integrating PHP Projects with Jenkins</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://www.youtube.com/watch?v=axJeg5JnbVU"/>
  <id>https://www.youtube.com/watch?v=axJeg5JnbVU</id>
  <published>2012-07-16T00:00:00+00:00</published>
  <updated>2012-07-16T00:00:00+00:00</updated>
  <summary></summary>
 </entry>
 <entry>
  <title>The PHP Tester's Toolbox</title>
  <author>
   <name>Sebastian Bergmann</name>
  </author>
  <link href="https://thephp.cc/dates/2012/02/confoo/the-php-testers-toolbox"/>
  <id>https://thephp.cc/dates/2012/02/confoo/the-php-testers-toolbox</id>
  <published>2012-03-02T09:00:00+02:00</published>
  <updated>2012-03-02T09:00:00+02:00</updated>
  <summary>Various testing tools exist to test the different aspects and layers of PHP applications. There is PHPUnit for Unit Testing (and Test-Driven Development), Behat for Acceptance Testing (and Behaviour-Driven Development), Selenium for System Testing, and a plethora of tools for testing non-functional aspects such as performance and security. This presentation provides an overview of the goals of each of these tools and shows the first steps to leveraging them in your daily routine.</summary>
 </entry>
</feed>
