Test Engineers Meetup #3 https://test-engineers-meetup.connpass.com/event/96727/
モバイルE2Eテストを継続・改善させるために取り組むKarakuriNemoto TadashiTest Engineers Meetup #3
View Slide
自己紹介• 根本 征(Nemoto Tadashi)• Automation & QA (AQA) Group• テスト自動化• Selenium, Appium, XCUITest, Espresso• モバイルCI / CD改善• 社内の生産性を上げるための自動化・サポート• https://seleck.cc/1230• 自称 Zapierエバンジェリスト
Automation & QA Group
モバイルテスティング
AndroidのCI時間を10分短縮し、開発を爆速にするためのKarakuriを作った話https://tech.mercari.com/entry/2018/07/04/110000Android CICircleCI 2.0
Android CIDanger CodecovAndroidのCI時間を10分短縮し、開発を爆速にするためのKarakuriを作った話https://tech.mercari.com/entry/2018/07/04/110000
エンジニアと一緒にテスト書いたり
E2Eテスト(特にモバイル)はメンテナンスコストが高い不安定
QAと一緒にE2Eテスト自動化を推進し1年以上メンテナンス・改善をしている
なぜQAとなのか• QAとエンジニアで確認・テストしたいことは違う• テストの不安定さ < 自分たちの作業の一部自動化• スキルアップへのモチベーション
3つのポイント・改善• 実行環境を用意・安定化• テストレポートを充実させる• 調査・メンテナンスできる人を増やす
実行環境を用意・安定化
AndroidapkビルドGoogle CloudStorage
Android
Androidクラウド実行環境Othersデバイス
iOSiOS SimulatorメルカリiOSのUIテスト自動化をまるっとご紹介します!https://tech.mercari.com/entry/2018/08/07/123000
テストレポートを充実させる
マスター タイトルの書式設定• マスター テキストの書式設定Android(github.com/vbanthia/rspec_html_reporter)
iOS(XCTestHTMLReport)メルカリiOSのUIテスト自動化をまるっとご紹介します!https://tech.mercari.com/entry/2018/08/07/123000
調査・メンテナンスできる人を増やす
QAとの協業自動化エンジニア QA● 実行結果の確認・フィードバック● テストシナリオ作成・更新● 一部スクリプト修正● テストスクリプトの実装・修正● 実行環境の構築・整備● ライブラリの作成
次のステップ自動化エンジニア QA● 実行結果の確認・フィードバック● テストシナリオ作成・更新● テストスクリプトの実装・修正● テストスクリプトの実装・修正● 実行環境の構築・整備● ライブラリの作成
Appium + RSpec + Turnip (Android)自動化エンジニア QA● 実装しているシナリオの理解● 新規シナリオの作成● 既存シナリオの修正● Stepの作成● サンプルのシナリオを提供● シナリオを書くためのサポート
github.com/tadashi0713/table_beet2
QAがシナリオを書くためのサポート
3つのポイント・改善• 実行環境を用意・安定化• テストレポートを充実させる• 調査・メンテナンスできる人を増やす+ Automation, Karakuriしていく文化
エンジニアの行動指針Automation, Karakuri
Automation (自動化)本来すべきこと(コード・設計)に集中するため機械になるべくやらせて、効率化させる2度以上行なった作業は自動化の対象
Karakuri (仕組み化)問題が起きた時、気合いではなく、人的エラーが起きない仕組みで解決する
Automation, Karakuriしていく文化
一発でパーフェクトなE2Eテストは作れない自発的・継続的にAutomation, Karakuriしていく文化