Technote

by sizuhiko

PHPerKaigi 2020で「E2Eテストに向き合う」ついて発表してきました

昨年に続いてPHPerKaigiに参加できました。 今年は 2/9(日), 2/10((月), 2/11(祝) の3日間の開催で、私はメインセッションが行われる10,11の2日間参加しました。

2日間の過ごし方は、概ね以下のような感じでした。

  • 2/10
    • 午前中は登壇とAsk The Speaker
    • 午後一はPHPの現場公開収録に参加
    • CI/CDのIRTに参加
    • ルームCで歓談
    • PHPer茶会に参加
  • 2/11
    • ルームCで歓談
    • ランチセッションに参加
    • @hnwさんのZend VMにおける例外の実装に参加
    • コードゴルフやったりアジャイルIRTやったりルームCで歓談
    • 懇親会に参加

ほとんどルームCで誰かと話していた感じですね。 でもPHPerKaigiのコンセプトには合っているはず。

「E2Eテストに向き合う」

E2Eテストに向き合うというタイトルで登壇しました。

Puppeteerについて、昨年も何回か登壇する機会があったのですが、 視点を変えてE2Eテストから見たときの考え方/ツールとしての可能性/有用性を話したかったのと、 テスティングピラミッドの背景みたいなところから自動テストについて理解が深まると良いなという思いでした。

最後のスライドでも紹介したPlaywrightのREADMEに書かれている Q: What about the WebDriver?の 下りは、私が特に感銘を受けているところです。

Webブラウザを使ったE2EテストやUIテストの自動化はWebDriverなしには、 ここまでにはなっていなかっただろうし、そういう意味で「普遍的な標準」であると私も思います。

一方でPWAなど新しい技術、新しいWebの登場により、自動テストが困難になっていることも事実です。

私たちWebに関わるプログラマは、こういった局面においてより多くの事実と事例を積み上げて標準にフィードバックするという姿勢が必要だと思っています。 なぜなら「みんなのインターネット」だから。

これはテスト自動化に関わらず、Webの標準についても同じだと思っています。 HTMLやCSS、はたまたブラウザに新しく追加される機能、どれも最初は少しユースケースが見えないものだったり、 遅くて使い物にならないものかもしれません。 でもその有用性や可能性、必要性がある人が結果を積み重ねることで、少しずつデファクトスタンダートに 近づいていく、これが現在のWebに関する標準の進み方だと思っています。

The Extensible Web Manifestoの宣言から7年。 フィードバックループにおける標準化の流れは現実になってきていると思っています。 いつかWebDriverにも同様のユースケースが取り入れられることを願って、今はそれぞれのWebアプリケーションに適したツールや環境を使い、アプリケーションの品質や、リリースサイクルの効率化ができると良いなと思います。

さいごに

PHPerKaigiは今年も楽しめました。 交流スペースで多くの人と、様々な話題について議論できました。

今年たくさんのノベルティがあって、その中にトレーディングカードがありました。

名札の右に立てて置いているものです。

私はTwitterもアカウント名だし、Publicにいろいろなことやっているからあまり気にならなかったのですが、 Twitterアカウントが実名だったり、写真も実写だったりする人もいますよね。

で、実際イベント期間中に PHPerKaigi の残念なところ(どういう風に利用されてしまうかわからず怖い)として Twitter に書き込みをされている方がいました (私はたまたまイベントのハッシュタグ付きで呟かれてたのをTL上で見たのですが)。

個人的にはトレーディングカード確かに面白いし、名刺代わり?になって便利だなーと思ったけど、 事前にあまり告知されていなかったこともあり、個人情報の利用という観点からはちょっと微妙かもなーと思いました。 申し込み時に拒否できたり、個人情報(写真や名前)が含まれないデフォルトカード?てきなものが選択できても良かったのかも。(とにかくみんな持っている/交換するみたいな雰囲気だったので、持ってないよりは良さそう、カード作成後に申し込みした人はそれに近い扱いだった模様)。

あと、トレカたくさん余っているので、これの使い道もどうしたら良いか考えたいw