デブサミ2016再演『ソフトウェアテストから見たクックパッドのモバイルアプリ開発』参加レポート #devsumi

発表スライド

www.slideshare.net

クックパッド

  • cookpad.com/en とか
  • 全世界で2000万人/月(日本を除く)
  • 日本は5755万人/月
  • アプリユーザーの方がアカウントを持っている人が多い
  • iOS
    • Essentials
      • Apple社が認めるマーク
  • Android
    • 2年前にネイティブアプリ化
    • 1年前に☆4,最近はトップデベロッパーに

2年前

  • 2014年の障害件数の多い部分はほとんどモバイルアプリ
  • 組織の変化
  • 関わり方の変化
  • テストエンジニアの価値の変化

品質

  • Quality is value to some person.
  • テストエンジニアが組織に属していても、人によって変わる
  • Quality is not equal test.
  • 品質活動は手段である

Developerとの関わり

  • 仮設→実行→検証

Userとの関わり

  • ユーザーから挙がってきた声を事業部に結ぶ

2年前にあったこと

  • 定着したWeb開発のスタイル
  • サービス開発と基盤/インフラの人達の区分
  • コンウェイの法則

2014年

組織づくり

  • サービス開発は縦組織に対して、インフラ・デザイナは横串を通していた
  • さらにモバイルファースト室を横串を作った

仕組みづくり

  • プロセス作り
    • リズムを作る
  • リリースマネージャ
  • ブランチ戦略と欠陥管理

振り返りと改善の習慣化

  • 振り返りを2週間ごとに

テスト関係の効率化

  • 手順、期待結果、分類
    • これで十分なのか分からない
  • 普通の設計と同じように、場合によって組み合わせが変わる
  • 実行の自動化
  • 項目の分類
  • 開発時の心的負担の軽減
  • 最後の砦
  • 開発とテストの分離ではなく、統合

Try

  • Tryと失敗を繰り返している

2015年

  • まだクラッシュ数は多いが、モバイルアプリの開発者がとても多くなっていった

組織

  • サービスそれぞれにモバイル基盤チームが関わるように
  • 2,3週間で10人ぐらいがコミットする
  • デザイナを大きく巻き込んだ
    • デザイナが体験の設計と責任を読む
      • ラベルを変更するとBOTが反応するようにした
  • PR毎、masterマージ毎、リリース毎で行うテスト内容に変化をつけた

2016年

  • フィードバック・ループの深化

気をつけていたもの

  • 関係性
    • 疎遠になるものは無くす
      • 飲み、振り返り、雑談の機会を増やすなど
  • 低い意識で続けることができる環境の構築

悩み

  • 経験ベースとルール/知識ベースの知見をどのような比重をかけて障害を予防していくか
    • 経験ベースだと不具合を起こしやすいが、修正はしっかりできる
    • ルール/知識ベースの知見は修正がしっかりできない

テストエンジニアとして聞かれること

  • モチベーション
    • Qualityに対して集中することができる職である
    • テストはオペレーターではなく、ボトルネックを探すために幅広い知識が必要

施策を進める上で大事だったことは

  • 尊敬、すごい、などを集める
    • テストエンジニアなのにコードでかけるとか

コーディングスキルは?

  • システムの構成要素の理解の方が重要

質問

  • 手動テストはどのようなことをやっているか?
  • バイスの互換性はどうやっているのか?
  • マニュアルテストは今もやっている
  • 2014年〜2015年はAndroidは2系
  • 外部起因での不具合は限られる
    • カメラを使っているなど
    • こういうのは外部に委託した
  • 2015年からは4系のみをサポートしたので楽になった