[イベントレポート] iOS Test Night #2に参加しました! #ios_test_night

051cca72a83e9c9025ff1026764eca45
93件のシェア(ちょっぴり話題の記事)

はじめに

おばんです、ハンドメイド作品の売買を行えるCreemaというアプリでアクセサリとかを眺めるのが最近の癒しになっている田中です。

今回はiOSのテストの勉強会、iOS Test Night #2のレポート記事になります。

イベント概要

本イベントはiOSにおけるテスト周りに関する知識を共有することを目的としたものです。

テスト周りに関するものであれば何でもOKです。 例をあげるとすれば以下のようなものなどです。

テストをはじめるためのイロハ このテスティングフレームワークはここがハマりどころ テスティングフレームワークをこうやって使い分けている こうやって工夫してテストしている オレが考えるiOSアプリにおけるテスタビリティの高い設計 今、このCIが熱い 弊社のCI/CD環境はこんな感じにしている 上記のような内容について「話したいことがある!」「聞いてみたい!」という方は是非参加してください。

前回のiOS Test Nightについてはこちらを参考にしてください。

Connpassより引用

内容

15分枠

「WebDriverAgentって何?Appium1.6.0の気になる点を調べてみた」 shingo_tamaki_948 さん

Appiumが外部からXCUITestを操作している内容がわからない。その内容について調べてみましたという話。WebDriverAgentはWebDriverサーバの実装で、WebDriverAgentがUI Test Runnerの代わりとしてアプリを操作することでこれまでのAppiumと(ほぼ)変わらない挙動を実現しているとのことでした。


「snapshot ではじめるローカライズ検証」 moko_ist さん

ローカライズのツラミについて!

ローカライズでテストするときになにが問題になるかというと、

  • 日本語でちょうど表示されたUILabelで英語にすると、"..."で途切れてしまう
  • UILabelのLineBreakModeの設定が正しくなくて、単語の途切れ方がおかしくなる
  • 文字数が増えて行数が増えるので、UI要素の基準位置が変わって要素が見切れてしまう

などなど...。こういった問題に対してfastlaneのsnapshotを使って目で確認をしていったというお話。

ローカライズのテストは自分も目で確認を行っていましたが、ビルドするたびに時間がかかってしまっていました。この方法を使うとそれを素早く確認できそう&プロジェクトをビルドしないテスターやお客さんに確認してもらうときにも便利そうで良いなと思いました。


「CIの改善とfastlane plugin」 kohei_tabata さん

fastlane pluginの話。ビルド時間が長く、一回のCIに30分くらいかかってしまうという問題。週末一人でやるプロジェクトなら良いが、iOSエンジニアが二人で週5日フルタイムで働く規模のプロジェクトだとCircle CIにお金がかかり過ぎてしまって困るとのこと。これに対応するために、どんなCI環境を構築していったかなどの紹介。

そしてよく使うfastlane pluginの紹介など。プロジェクトのディレクトリ構成をプロジェクトのグループ構成に揃えてくれるプラグインなどが便利そうでした。


「はじめてUnitTest、XCTestに触れて」 ktanaka117

登壇させていただきました、私です。詳しくは別エントリとして以下にまとめましたのでこちらをご覧ください!

5分枠

「バージョンアップの対応を軽減するためのサービスの構築」 とし さん

iOS開発をする上でバージョンアップへの対応からは避けては通れません。バージョンアップに際してテストが通らないということは往々にしてあることです。その対応をいかにして軽減するかというお話。

バージョンアップを一日一回チェックして、テストがコケたときにライブラリのバージョンをさかのぼって用意したりしてくれたり様々なログをはいてくれるというツールを導入しているとのこと。

このツール、欲しい。


「ぼっち開発でもテストがしたい ! ~ 導入編 ~」 Yu-taro (yutailang0119) さん

テストを始めるためのイロハ的な何か。開発スピードが最優先で、テスト書くよりコード書かないといけないという状態。そんな状況でテストを書くことのメリットとして、「品質をあげるために手助けになる」と話していた点に共感しました。


「Quickで体験するテストの構造化」 laiso さん

ユビレジのエンジニアさん。ユビレジのテストにはとてつもなく時間がかかったとのこと。RubyのRSpecというテストツールが好きで、Swiftで同じように書くためにQuickを導入しているとのこと。

Quickの利点は構造化ができること。いろいろなオブジェクトのパターンをテストしたいときにセットアップが段々複雑になり、テストのためのテストが必要になったりしてくるかもしれないという問題点があります。Quickを使うとツリー構造で書くことができるので、わかりやすくなったりするとのこと。


「appium-xcuitest-driverとCI環境」 nemoto_tadashi さん

Regionが増えていくと工数が多くなる、繰り返しの作業が多い -> Appiumを使って自動化したいという動機。テストが手元の環境でしか動かないことも避けたかったとのこと。


懇親会

乾杯!!🍻

oIMAgd7D

🍣と🍺

IMG_9808

IMG_7591

まとめ

今回はfastlaneを使った話やAppiumに関する話が多かった印象でした。実際みなさんがどんな風にテストに取り組んでいるのかがわかって良い会でした!

実際のテストコードや、テストケースのパターンの話などがあまりなかった印象だったので次回また機会があればそのあたりに触れても楽しそうなので、話をしてみたいと思いました。次回開催も楽しみにしています!