レギュラートーク(30分)

E2Eのテスト環境とテストデータの理想と現実

hgsgtk 東口和暉

PHPerが日々奮闘するソフトウェア開発の現場では、ユニットテストを書くことは推奨され普及してきました。
一方、E2Eといった高レベルのテストになると整備したいという気持ちはありつつ、初期構築コスト自体の高さや、構築したもののテスト維持に失敗する話をよく聞きます。
その要因の一つとして、本トークではテスト環境とテストデータに着目します。

テスト環境とテストデータの扱いは、既存システム都合との折衷案を取る必要があったりする理想と現実の間での戦いになる事が多いでしょう。
現場での戦いの武器となるような事例とそれぞれの実践手段のメリット・デメリットをまとめてお伝えします。

論点1. テスト環境を専用に作るか、既存のものを利用するか
論点2. E2Eでは利用不可な外部サービスがあるケース
論点3. テストデータを作る3つのバリエーションとそのメリット・デメリット

5
レギュラートーク(30分)

PHPStan に見る PHP の型表現、そして PHP らしい型付けについて考えてみた

__Mitsui ミツイ

私は元 Haskeller です。関数型言語出身です。
今から8年ほど前、私が PHP を書き始めたときの印象は「型の表現力が乏しい」というものでした。時は流れ PHP7 そして PHP8 にかけて、PHP は以前からは想像もできないほど豊かな型の表現力を獲得しました。
一方で PHPStan で実装済みのジェネリクスが PHP コアには未実装だったりと、PHP の型表現はまだまだ伸びしろ十分です。

PHP8 や PHPStan で型表現はどこまでカチカチになれるのか、翻って、PHP らしい型付けってどのようなものだろうかと思いを馳せてみます。

1
レギュラートーク(30分)

たまには PHP で、パーサ(構文解析器)を書いていこう

__Mitsui ミツイ

プログラミングを始めた人が必ず一度は作る物といえば、そう、「独自のプログラミング言語」ですよね?
独自プログラミング言語を実装する最初の一歩は、ソースコードを構文解析して抽象構文木(AST)を得るところから始まります。今回はこの構文解析に着目して、PHP でパーサ(構文解析器)を書いてみました。
文字列処理と聞くとすぐに正規表現を書きたくなる方も多いと思いますが。正規表現とは一味違ったパーサの世界もちょっと覗いてみませんか?

2