ほつた@はてな

ほつたが技術的な事や個人的な出来事を中心に投稿します。

SeleniumConf Tokyo 2019 メモと所感 #SeConfTokyo

主に2019年4月18日(木)~2019年4月19日(金)に行われたSeleniumConf Tokyo 2019に行って、適当に興味のあるセッションを聴いたものの、セッション会場においてTwitterでツイートできない環境(Wi-Fiのパスワードが分からない、LTEの通信が出来ないほど電波が弱い)ことがあり、ツイートしそびれてメモとなってしまった1つのセッションのメモとカンファレンス全体の所感を公開する。

なお、個人的に適当かつ乱雑にメモったメモであり、正確性といったことは保証できない。

このメモは正確ではないということを十分に理解したうえで、自己責任で活用していただきたい。

Twitterまとめ

有志がハッシュタグでツイートしたものをまとめていたようなので、自分のツイートや他の方のツイートも含めて確認していただけると幸い。

togetter.com

togetter.com

ヘッドレスでSeleniumテストを高速化 (Alissa Lydon / Samantha Coffman , Sauce Labsで働いている方のセッション)

  • ユニットテストの重要さ、ピラミッド
    • ピラミッドをバケツと表現
  • ピラミッド型、バケツ型は金が掛かる
  • E2Eとユニットテストは同じくらいの大きさになるはずである!!!
  • ピラミッドを書いたのは…いいことを書いてはいたが、
  • マーケットの変化が起こっている
  • Seleniumは、使われ方が変わってきていて、新しい課題に対処する必要がある
    • 文化的なシフト、早い時点で変化、コードを書かずにテストが出来ることが重要で、QAとDevの壁をなくす、リソースを共有するのが重要
      • コンテキストスイッチ、これやって次のタスクにやるが、戻ってくることによって生産性が下がる
        • シフトレフトテスティング(?)といったもので対処する必要がある
  • コンサルタントを連れてきて、テストの文化を変えるのは本当に難しい
    • 組織の中でシフトレフト、これまでのタイムベースのテストをするのは良くない
      • イベントベース、プルリクエスト、コミット毎にテストを行う必要がある
        • 重要度が同じになってきていて、質の高いコードを書く必要がある
          • シフトレフトしようとした組織は、開発者と密に接して、QAチームから開発チームへ素晴らしい経験を提供しなければならない
            • 自動化というモノが信頼されることが重要で、自動テストが及ぼすメリットは非常に大きい
  • 開発フロー
    • WRITE CODE: コードを書く、ユニットテストを書く
    • TEST IT LOCALLY: ないとをっち
    • SUBMIT PR: CI CDでプルリクエスト毎にテストを行う
  • デベロッパーは、E2Eへの理解が不十分
  • リソースを共有して、SaaSといった開発コストが高いものでリソースを共有するのは避けたい
  • Sauce Labsでも同じ問題が起こったことがある
    • ヘッドレスで構築した(?)
      • これにより、フィードバックが得やすくなって開発が高速化し始めた
  • ヘッドレスブラウザで問題を解決することが出来るだろうとソースラブズは思いついた
  • ヘッドレスブラウザは、早いブラウザとして考えられてきた
    • スピードのメリットより、メモリが少ないや並列化しやすいというメリットがめちゃくちゃ大きい
  • ヘッドレスブラウザとは?
    • 従来は、VM上でGUIベースでブラウザを動かしてきた
    • ヘッドレスブラウザは、UIがない、ノーGUIのためスピードどころかメモリの制約といったメリットが非常に大きくて助かっている
    • OS部分を共通化できている、簡素的に出来て最高!!!
      • コストを4分の1に下げることが出来た
  • ヘッドレスブラウザによって、テストのスピードも向上する
  • ヘッドレスブラウザのテストは、既存のテストを書き換えるものではない
  • ロームドライバは1番早い、狐と比べて10%早い

自分からの質問

  • IEのヘッドレスブラウザをどう実現しているのか、私気になります!!!
    • 意訳: もちろん、出来るわけないじゃん、IEつらすぎでしょとのこと

カンファレンス全体所感

  • 日本語翻訳がめちゃくちゃ助かった

    • 海外で行われるカンファレンスはその場の日本語訳がもちろんないので、セッションの全てを把握するのが自分の英語力次第となってしまう
    • もちろん、現地でしか翻訳サービスはないため、英語セッションを重点的に聴くことにしました
  • Wi-Fiの案内用紙がなくて、Wi-Fi難民に..

    • Wi-Fi情報を入手
    • Wi-Fi遅い、使い物にならない
  • 会場に電源がない

    • 会場下のカフェで電源があることを確認、電源補充
    • 5Fホール前の休憩所に電源が生えていて、スタッフに許可を取って充電
    • 1日目の夜に電源コーナーが設立された👍👍👍
      • 運営すごーい
  • LTの発表を決めてきた

    • LTは日本人と海外の方を併せて9人の発表者がいた
    • 通訳の方と打ち合わせ
      • 主にWaitar(ウォーター)といった技術用語の発音の仕方を共有
      • 通訳をしていただく方に、ゆっくりしゃべってねと忠告された...
      • 事前に打ち合わせしているため、その場で翻訳している訳ではなく、通訳者の方は理解して通訳していることを把握
    • 発表終了後、様々な方に「面白かったよ」などとリアルでフィードバックをいただいたのが本当に嬉しかった
    • Twitterの全解放DMでのみお願いします!と宣言したにもかかわらず、わざわざ名刺を渡しに2社の方が自分のところまで来てくださり、後日連絡します!ということになった
      • 後日としっかり言ったので、気が向いたら連絡したい

※補足 おそらく、ご相談はTwitterでのみお願いしますと言いそびれたか、強く強調出来ていなかった気がしていて、そもそも別にTwitterのDMにこだわるつもりは1ミリもなかった。面倒なことを引き起こしてしまっただけであったのに少し後悔。そもそも、自分は可能性となる選択肢をわざわざ必要性がないのに潰す愚かな人間にはなりたくないのである。

  • 自腹でカンファレンスに参加することとなったものの、LTの発表が決められたからか本当に楽しかった
    • コミュニティの方々に超絶感謝
    • スタッフの方々お疲れ様でした...
      • スタッフの悲鳴が聞こえてきて、「スタッフ超絶疲れるよね。めちゃくちゃ分かる。」という気持ちになった(カンファレンススタッフ数回経験者)。

以上、「SeleniumConf Tokyo 2019 メモと所感 #SeConfTokyo」でした。