リソースは有限。MagicPodがあれば、
より価値のある仕事ができるようになる。

note株式会社

モバイルアプリテスト

ユーザーインタビュー第3回目は、MagicPod代表伊藤とともに note様 にお邪魔しました。
テストを自動化した経緯やチーム間のコミュニケーションについてのお話など、たくさん伺いました。

note株式会社 会社概要

noteは「だれもが創作をはじめ、続けられるようにする。」をミッションに、メディアプラットフォーム「note」やコンテンツ配信サイト「cakes」を運営する会社です。「note」にはクリエイターや企業、学校、自治体などのさまざまな人や団体が集まり、バラエティ豊かなコンテンツが数多く生み出されています。



POINT

  • 自動化で価値のある仕事ができるようになる
  • チーム間のコミュニケーションコストを削減
  • 提案した機能改善の反映スピードが速い
  • 誰でも触れるGUIが採用面でもメリットに

植岡和哉さん(iOSアプリ)

山﨑一人さん(Androidアプリ)

note株式会社 プロダクトグループ アプリチーム
左:植岡和哉さん(iOSアプリ)
右:山﨑一人さん(Androidアプリ)


自動化で価値のある仕事ができるようになる

山﨑さん(以下、山﨑):私と植岡は2020年入社で、MagicPodは入社した時点ですでに導入されていました。当時の担当者が「同じことを2回やったときは自動化する」ということを心がけている方で、QAチームがない中でも品質を担保するため導入を決めたようです。詳しくはnoteに掲載されたインタビュー記事もご覧いただければと思います。

植岡さん(以下、植岡):アプリチームでは私がiOS、山﨑がAndroidを担当しています。エンジニアは私たちを入れて3人で、兼任のデザイナーとPMを加えて6人くらいのチームになっています。社内にQAチームはありませんので、テストも自分たちで行っています。

山﨑:Webチームと比べると10分の1くらいのリソースです。人数が少ない中でいかに優先度の高い作業に取り組むかが重要な課題になっています。

植岡:僕たちの仕事は「コードを書いてユーザーに価値を届けること」ですから、テストによってその時間が取られてしまうのは困ります。僕たちが開発をしている裏でMagicPodが動いてくれているのはすごくありがたいです。例えばアプリチームではテストケースをiOSでは35個、Androidでは22個ほど作っていますが、それを人の手で確認しようとすれば1日2時間くらい取られると思います。

同じ作業を何度もするのは単純につらいですが、優先度が高い仕事、価値のある仕事ができなくなるのはもっとつらいです。機械が得意なことは機械にやってもらって、僕たちは人間がやるべきことをやるという方針で進めています。それはアプリチームの文化というだけでなく、全社的な文化にもなりつつあります。例えばSlackを見るとbotの書き込みがたくさんあって、文化として自動化に取り組んでいる会社という印象を持っています。

参考:「2020年のnote iOSアプリの開発についてのまとめインタビュー」(note株式会社)


チーム間のコミュニケーションコストを削減

山﨑:MagicPodは毎朝7時に一括実行しているのと、マスターブランチ、リリースブランチがプッシュされたタイミングでも一括実行しています。そこで失敗があればテストの詳細画面から原因を確認して修正作業を行っています。

植岡:リリース前は時間を取ってみんなでマニュアルテストや探索的テストを行っていますが、それ以外は自動化しています。リリース前の修正はバタバタと大変になりますから、毎日実行することで問題に早く気づけるというのはエンジニア目線でメリットです。

山﨑:noteアプリは8割くらいがフルネイティブで2割くらいがハイブリッドになっているのですが、Web側の細かい変更は私たちアプリチームが検知できないこともあります。そこをMagicPodがキャッチして確認画面で自動修復できたり、こちらで汲み取って書き換えたりしており、非常にありがたいです。

植岡:Webチームとは品質を担保していくため一緒にテストケースを作る取り組みもしており、今後も協力しながらやっていきたいと思います。

提案した機能改善の反映スピードが速い

山﨑:機能面では共有ステップが良いと思っています。テストケースを作って溜めていくことで組み合わせでテストができるようになりますので、同じテストを何回も作る必要がないのは利便性がかなり高いと思います。共通テストのどこが失敗したかを教えてくれるのも嬉しいところです。

植岡:私は要素検出モードが気に入っています。アプリをアップロードすると自動的に画面が解析され、パーツごとに区切られ、それをドラッグするだけでスクリプトが作れます。そういった体験が素晴らしいですし、困ったことがあれば、Slackで問い合わせをしながらテスト結果を送ってアドバイスしていただくといったコミュニケーションが取りやすいのもありがたいです。

山﨑:機能要望も柔軟に対応いただいています。地味だけど実はすごく重要で、「これがあるだけで違う」というものもあります。細かいところでも提案したものがどんどん反映されていくというのはエンジニアとしてありがたいです。




誰でも触れるGUIが採用面でもメリットに


山﨑:前職ではQAが1人いて、その方がAppiumでコードを書いていたのですが、QAメンバーを増やそうと思っても「エンジニアリングの経験がない人は採用できない」という課題がありました。MagicPodなら非エンジニアでも触れますし、キャプチャを見せながら「ここで失敗しているんですがどうですか?」といったコミュニケーションができます。GUIで視認性が良いというのは採用面でもメリットが大きいと感じています。

植岡:エンジニア採用においても、これまでテストの経験があるかどうかを重要視しなくていいというのは大きいです。もちろん「テストは大事」という認識は持っていてほしいですし、ユニットテストをバリバリ書けるならそれは大歓迎です。ただ、書けないから採用しないというのはもったいないです。

山﨑:エンジニアとしてテストができる環境を考えて開発することも大事です。GUIで運用できるMagicPodがあることによって、「要件を確認して、Identifierを設定して、何が成功で何が失敗かハンドリングできるようにしておく」といったテストに対するマインドが向きやすくなるのもメリットだと思います。

植岡:テストピラミッド的にはユニットテストが土台としてあり、インテグレーションテスト、E2Eテストが積み上がっていく形が理想です。ただ、「テストってどう書けばいいんだろう?」という段階であれば、まずゼロからイチを作るためにもMagicPodは良い選択肢になるはずです。スタートがE2Eテストになったとしても、「テストが一つ書けた」という自信を持って、理想的な形に向けて少しずつユニットテストを増やしていけるのではないかと思います。


お知らせ

noteではエンジニア、PdMを絶賛募集しています。
興味のある方はまずカジュアル面談でお話しましょう。
iOSエンジニア
Androidエンジニア
プロダクトマネージャー(モバイルアプリ)



編集部からのひとこと


今回はnoteさんにお邪魔しました!シンプルでオシャレなオフィスは、クリエイティブな雰囲気で、「だれもが創作をはじめ、続けられるようにする。」をミッションに掲げるnoteさんらしい、とても素敵な空間でした。
価値ある仕事をするために「同じことを2回やったときは自動化する」というスタンスを持ち、それを実現しているお二人の話は、大変参考になりました。最近はiOSアプリがダークモードにも対応し、ますます便利になった「note」、引き続き進化を楽しみにしています!