Elektrine lite

← Feed

Sebastian Bergmann :phpunit:

sebastian@phpc.social

<p>Created PHPUnit. Co-Founded thePHPcc. Helps developers build better software.</p>

Posts

  • Post #4440875

    Only one more week until @FrOSCon@bonn.social in Sankt Augustin, the premier German Open Source conference, from the community for the community. 🎉 When I&#39;m not on stage for my presentation &quot;Supply Chain Security in the PHP Ecosystem&quot;, you&#39;ll find me at @thephpf@phpc.social&#39;s booth in the community expo hall. @beberlei@phpc.social and I cannot wait to meet you all and discuss the work of the foundation. Come say hi! https://phpunit.expert/events/froscon-2026.html?ref=m...

  • Post #4389202

    A car manufacturer lists an Android botnet in its open source attribution. The entry gives away how the list was made: by scanning instead of by declaring. Why a declared dependency list is worth more than a scanned one, and how the PHPUnit PHAR discloses its own contents: https://phpunit.expert/articles/your-composer-lock-knows-what-a-carmaker-only-guesses.html?ref=mastodon

  • Post #4228574

    RE: https://phpc.social/@sebastian/117007183050868222 I have been working on PHPUnit with high intensity recently. I cannot keep this up without more funding. To everyone who already sponsors my Open Source work: thank you. Your support makes a real difference. I know times are tough. They are for me, too. If PHPUnit is part of your workflow, please consider sponsoring its continued development: https://phpunit.de/sponsoring.html #PHPUnit #OpenSource

  • Post #4227653

    PHPUnit 13.3 will be released next Friday, August 7. It ships quite a few impactful improvements I have been working on over the past months. The ChangeLog lists what&#39;s new, but my newsletter, sent right after the release, explains these changes and puts them into perspective. Not subscribed yet? It&#39;s free, and you can unsubscribe anytime: https://phpunit.de/newsletter ChangeLog: https://github.com/sebastianbergmann/phpunit/blob/603c565d0bb3f70cd9333cfc6bd13b7dd7b335a4/ChangeLog-13.3...

  • Post #4195100

    Answers to questions I am asked again and again about PHPUnit, test automation, code coverage, and testing in PHP: https://phpunit.expert/faq.html?ref=mastodon

  • Post #4182535

    A security vulnerability in PHPCSUtils revealed an eval() call in a static analysis tool. Why disable_functions cannot reach eval(), and what a switch in the PHP engine to disable it could look like: https://phpunit.expert/articles/when-static-analysis-runs-your-code.html?ref=mastodon

  • Post #4100130

    2025 and 2026 proved to be a stress test for the supply chains of all package ecosystems. A review of Composer and Packagist: what PHP does well, what it can learn, and who owns our infrastructure. https://phpunit.expert/articles/composer-and-packagist-under-supply-chain-stress.html?ref=mastodon

  • Post #4003067

    My favourite kind of bug fix only adds a new regression test and leaves every existing test untouched. I checked this claim against PHPUnit&#39;s own history and learned the most from the counterexamples: https://phpunit.expert/articles/untouched-tests-are-half-the-proof.html?ref=mastodon

  • Post #3952033

    The book I&#39;m writing stands at roughly 400 pages now. Maybe it&#39;s time to update https://phpunit.expert/book/ with some real information ... soon-ish™.

  • Post #3903711

    Looking forward to this one: on August 6, I&#39;ll be at the @engkiosk@podcasts.social Rhine-Ruhr Meetup in Düsseldorf! 🎤 I&#39;ll be talking about &quot;Turbo-Charging Your PHPUnit Suite&quot;, because slow tests destroy flow, and it doesn&#39;t have to be that way. If you&#39;re in the Rhine-Ruhr area, come by and say hi. I always enjoy meeting the community in person. https://phpunit.expert/events/engineering-kiosk-rhine-ruhr-meetup-august-2026.html #PHP #PHPUnit #Meetup

  • Post #3839611

    RE: https://phpc.social/@sebastian/116882147948130910 Having just watched &quot;Caramel&quot;, I think it&#39;s high time I added &quot;The Bear&quot; to my list of all-time favourite series. But ... do I need to update my article now?

  • Post #3652715

    RE: https://phpc.social/@sebastian/116879224138213525 This toot should have been an article, and now it is. But it will have to wait its turn to be published.

  • Post #3651049

    My favourite kind of bug fix: one that only adds a new regression test and does not touch any existing test. The new test proves the bug is fixed. The untouched existing tests prove the fix does not break any behaviour we rely on; at least none that is covered by a test. When a bug fix forces you to change existing tests, that is worth a pause: either the tests were coupled to implementation details, or the &quot;bug&quot; was actually documented behaviour someone depends on.

  • Post #3504336

    Selecting exactly the tests you want, finer control over the order they run in, faster and clearer output when they fail, and more expressive test doubles. I walk you through what is new in PHPUnit 13.2: https://phpunit.expert/articles/precision-and-clarity-what-is-new-in-phpunit-132.html?ref=mastodon

  • Post #2083525

    Technical debt is not malicious. It is not laziness, incompetence, or carelessness either. It is the result of constraints, trade-offs, and circumstances we did not witness. Written by people who cared about solving real problems, just like we do. Why empathy is a technical skill, not just a soft one: https://phpunit.expert/articles/technical-debt-is-not-malice.html?ref=mastodon

  • Post #1080775

    Here is the material I used for my presentation &amp;quot;Past, Present, Future: The PHPUnit Story&amp;quot; at #phpcon_odawara today: https://phpunit.expert/presentations/past-present-future-the-phpunit-story.html?ref=mastodon

  • Post #1035873

    Sei live dabei, wenn ich heute um 14:00 Uhr Roland Golla im Livestream erzähle, was sich bei #PHPUnit gerade so alles tut: https://www.youtube.com/watch?v=ClBCr4o8CHg&amp;amp;list=PL-Xl37-rETi4ITtOXFM22pEg9SPb-FiU4

  • Post #1010530

    My well-tested CSV parser had 100% line and branch coverage and a 100% mutation score. Surely no bugs left, right? Wrong. Fuzz testing found one almost instantly. In my new article, I explore fuzz testing for PHP using @nikic&amp;#39;s PHP-Fuzzer and also compare fuzzing with property-based testing: https://phpunit.expert/articles/security-through-chaos.html?ref=mastodon

  • Post #980300

    RE: https://phpc.social/@OndrejMirtes/116328401278623215 All that visual debt of type information: gone.

  • Post #946816

    AI agents can now write code, run tests, and open PRs; all on their own. What keeps them in check? The practices we&amp;#39;ve preached for years: TDD, code review, static analysis, documentation. My new article explores why these aren&amp;#39;t just &amp;quot;best practices&amp;quot; anymore and what this means for Open Source and developer skills. Yes, it&amp;#39;s a long read. On April 1st. Consider it counter-programming. 😉 https://phpunit.expert/articles/beyond-best-practices.html?ref=ma...

  • Post #905623

    This responsibility is mine to carry, and I carry it gladly. Those who financially support my Open Source work through sponsorship are not paying for software: they are valuing the responsibility I take on. Thank you to everyone who already supports me!

  • Post #905616

    I just released #PHPUnit 13.1. As always when I publish a new release, I feel the weight of maintainership on my shoulders. Because I know that every new version of PHPUnit gets installed hundreds or thousands of times within minutes, and millions of people rely on it to test their software reliably.

  • Post #898846

    Imagine if the package registries and #OpenSource components that you use were no longer available. Would you still be able to deliver a single line of code? Would your software even start, or would your business come to a standstill within minutes? https://phpunit.expert/articles/open-source-blackout.html?ref=mastodon

  • Post #819467

    Here is the material that I used for my &amp;quot;So you think you know PHPUnit&amp;quot; presentation at #PHPDD24 today: https://thephp.cc/presentations/so-you-think-you-know-phpunit?ref=mastodon

  • Post #819466

    Hier ist das Material, das ich gerade für meinen #PHPUnit-Vortrag bei der #Symfony User Group in Köln verwendet habe: https://thephp.cc/presentations/testing-with-doubles-why-when-and-how?ref=mastodon

  • Post #819465

    Here is the material I used for my presentation on #PHPUnit 10-12 today at #T3DD #t3dd24 https://thephp.cc/presentations/phpunit-10-12-what-to-know-and-what-to-forget?ref=mastodon

  • Post #819464

    Here is the material I used for my &amp;quot;Testing with Doubles&amp;quot; presentation at #T3DD #T3DD24 today: https://thephp.cc/presentations/testing-with-doubles-why-when-and-how?ref=mastodon #PHPUnit

  • Post #819462

    Join me for a two-hour, free-to-attend, online session on #PHPUnit 12 on February 7, 2025: https://phpunit.de/test-smarter-not-harder.html?ref=mastodon

  • Post #818964

    Current status: Writing examples for a conference presentation using PHPUnit 5.4 and PHPUnit 7.5 to show how bad some APIs used to be.

  • Post #818963

    Does anyone have experience with sansec/composer-integrity-plugin? I only came across it today and am confused that it fails to verify the integrity of PHPUnit and its dependencies that I maintain. What am I missing? Thank you!