てすらぼみーとあっぷ #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 及川さん]
自動化は開発や品質が単独でやろうとすると失敗する例が多い
[ネック]
開発
- 開発スピード
- テストパターン
品質
- 知識
- 仕様変更
成功要因
- 開発、品質ともに課題を共有できていたこと
- 開発者の不安を解決するものを用意したこと
- 開発にメリットがあるように受け取ってもらえたこと