てすらぼみーとあっぷ #2 に参加しました

2020/07/30(木)に開催されたてすらぼみーとあっぷ #2 - connpassに参加しました。
テスト自動化に関する知見を共有しあおうというコンセプトのMeetupです。


以下 知識の整理のためのメモ書き

Selenium WebDriver, Cypress, TestCafeの違いを調べてみました[LINE Fukuoka 株式会社 かねこさん]

cypressが一番魅力的に聞こえたので 使ってみたい

  • 複数タブを取得して移動ができる
  • 複数タブを操作する設計にはなってないため明示的にページを表示させることで対応させる
  • ビデオ機能がデフォルトでついてる
  • テストに失敗した場合、失敗したときのスクリーンショットを取得してくれる

・結局どれが良いの?
テスト対象によって使い分けるのが良さそう
かねこさんの環境では複数ブラウザを使うのでselenium使用中

Selenium+Capybaraで不安定なテストをPuppeteerで補強してみる[サーバーサイドエンジニア いわきさん]

  • 普段rubyを使ってるからPuppeteer(JS)に乗り換えるのはしんどい

→自分でライブラリ作った
やっぱりPuppeteerをRubyから使えないと困るので、puppeteer-rubyを作ることにした - YusukeIwakiのブログ

ないなら自分で作る、のスタイルかっこよくて憧れる

  • 画面遷移の検知

→URLが変更されたことで検知する

自分が担当しているAndroidアプリのテスト自動化では
ページ内要素のヘッダーテキストやclass名などを複数組み合わせて画面遷移を検知しているので、
URL取得はいい手だなあという気付きがあった

Rails 使いが久しぶりに Kotlin でテスト書いたり悩んだり[LINE株式会社 サーバーサイドエンジニア kaibaさん]

リクエストスペック

  • APIの入出力を担保する
  • テストケースを書きやすい
  • 実行が早い。E2Eに比べて安定
  • フロントエンドのデザイン変更の可能性があった

DockerにできるとこはDockerで

  • MySQL
  • S3 Minio
  • モックも有り

ruby愛がひしひしと伝わってくる発表でした
去年paizaとprogateを一通りやった後、
railsチュートリアルが中途半端になってたことを思い出して自責の念がが

エムスリーテスト自動化の歴史とこれから[エムスリー株式会社 QAエンジニア 窪田さん]

  • 最初期

週一リリース2時間の回帰テストの実行
selenium IDE
Jenkinsを利用した自動テストタスクの管理
(いつでも誰でもテスト実施できるように)

  • 停滞期

テストが安定しない
メンテナンスコスト多い そもそもメンテできる人少ない
テストが遅い

  • 新ツールの検討1

cypress
playwright
でも結局JSの教育は必要

  • 新ツールの検討2

QA Wolf
ブラウザ操作から自動でコードを生成してくれる
※ただし..
打ち間違いやバックスペースなども記録される
アサーションはないので確認したいことは別途記述する必要がある

停滞期はあるあるすぎてもう...
うちも人員確保のために参入のハードルを下げる取り組みをやっていきたい

自動化して開発者に喜んでもらえたこと[ウイングアーク1st株式会社 Automation 及川さん]

自動化は開発や品質が単独でやろうとすると失敗する例が多い
[ネック]
開発

  • 開発スピード
  • テストパターン

品質

  • 知識
  • 仕様変更

成功要因

  • 開発、品質ともに課題を共有できていたこと
  • 開発者の不安を解決するものを用意したこと
  • 開発にメリットがあるように受け取ってもらえたこと