Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MagicPodを利用して回帰テストを自動化している話

Kohei Tai
October 20, 2022

 MagicPodを利用して回帰テストを自動化している話

MagicPodを利用して回帰テストを自動化している話

Kohei Tai

October 20, 2022
Tweet

More Decks by Kohei Tai

Other Decks in Technology

Transcript

  1. Copyright (C) nohana, Inc. All rights reserved. Copyright (C) nohana,

    Inc. All rights reserved. 2022/10/20
 MagicPodで回帰テストを自動化している話

  2. Copyright (C) nohana, Inc. All rights reserved. 自己紹介
 Copyright (C)

    nohana, Inc. All rights reserved. 
 田井 康平
 • 株式会社ノハナ
 ◦ サービスデザイン部 品質管理グループ マネージャー(になりました)
 • オンラインでのLTは2回目!
 • QA業務をしつつ、スクラムマスターになるため、日々勉強中
 • Twitter: @kotatoshi

  3. Copyright (C) nohana, Inc. All rights reserved. ノハナの紹介
 Copyright (C)

    nohana, Inc. All rights reserved. • フォトブックアプリ、年賀状アプリの開発
 通常フォトブック
 毎月1冊無料でつくれるスタンダードタイプ。 
 高画質仕上げ、表紙デザインやギフト包装など、用途で選べるオプ ションも豊富にご用意しています。 
 定期的な写真のまとめや、月齢アルバムにおすすめです。 
 プレミアムフォトブック
 高精細な写真画質仕上げの 銀塩ハードカバータイプ。 
 レイフラット製本で迫力の見開き写真が実現、最大89枚(表紙含む) の写真が入ります。 
 特別なイベントや、1年ごとの思い出の記録におすすめです。 

  4. Copyright (C) nohana, Inc. All rights reserved. トピック
 • MagicPodでの回帰テスト自動化


    • 回帰テストの手動と自動の工数比較
 • 自動化率について
 • 最後に

  5. Copyright (C) nohana, Inc. All rights reserved. MagicPodでの回帰テスト自動化
 Copyright (C)

    nohana, Inc. All rights reserved. • 導入理由
 ◦ プログラミング(コーディング)のスキルが不要
 ▪ 個人のスキルに依存しない
 ◦ 価格がリーズナブル
 ◦ サーバーなど自前で準備不要(メンテやアップデート含め)
 ◦ 共有ステップでシナリオ間でテストを共有できる
 ◦ サポートが早い
 ◦ 自動修復機能
 ◦ 外部ツールとの連携
 ▪ Slackへの結果通知、Jenkinsのジョブ実行、CIからの自動実行

  6. Copyright (C) nohana, Inc. All rights reserved. MagicPodでの回帰テスト自動化
 Copyright (C)

    nohana, Inc. All rights reserved. • 共有ステップの活用
 • 組み合わせのサンプル(実際の組み合わせではありません)
 ◦ この場合だと5シナリオある
 ▪ それぞれで個別にテストコードを作成するとそれだけでも大変
 ◦ 仕様変更時などのたびに5つのシナリオを修正する必要がある
 ◦ 実際のテストではもっと多いパターンもあることが多い
 → 共有ステップで対応

  7. Copyright (C) nohana, Inc. All rights reserved. MagicPodでの回帰テスト自動化
 Copyright (C)

    nohana, Inc. All rights reserved. • 共有ステップの活用
 • 共有ステップ内ではデータパターンの値をもとに条件分岐を導入
 ◦ 例:商品選択の共有ステップで、色が◯◯である場合、◯◯を選択する
 • 最初に共有ステップを作る時間はかかった
 ◦ その後は流用できるので全体工数としては少なく済んだ
 共有ステップのメリット 
 • 使い回し可能
 • 修正時に1つのシナリオ修正でOK 

  8. Copyright (C) nohana, Inc. All rights reserved. 回帰テストの手動と自動の工数比較
 Copyright (C)

    nohana, Inc. All rights reserved. • 自動テストは失敗時のメンテコスト含む 
 • 自動テストの作成工数は除く 
 Android
 手動で全て実施 
 自動テストが少し安定 してきたころ
 期間は2年ぐらい 
 オフショアから内製に 切り替え

  9. Copyright (C) nohana, Inc. All rights reserved. 回帰テストの手動と自動の工数比較
 Copyright (C)

    nohana, Inc. All rights reserved. • 自動テストは失敗時のメンテコスト含む 
 • 自動テストの作成工数は除く 
 iOS
 テストケース見 直しのため
 自動化初期はエラー になるケースが多い 
 期間は2年ぐらい 
 オフショアから内製に 切り替え

  10. Copyright (C) nohana, Inc. All rights reserved. 回帰テストの手動と自動の工数比較
 Copyright (C)

    nohana, Inc. All rights reserved. • 全体工数が減ったタイミング
 ◦ オフショアでの手動テストから内製での手動テストへの切り替え
 ◦ 自動テストの増加
 • 全体工数が増えたタイミング
 ◦ テストケースの見直し
 ◦ エラーのため手動で実施
 ◦ エラーが大量に発生しメンテナンスが必要
 ▪ テストケースの修正漏れ(修正箇所を全て修正してないケースなど)
 ▪ アプリを更新すると要素が見つからなくなることなどがある

  11. Copyright (C) nohana, Inc. All rights reserved. 回帰テストの自動化率について
 Copyright (C)

    nohana, Inc. All rights reserved. ※次の期の予定 
 ※1Sprintの2週間なので、1年での推移
 ※破線は今四半期の期初に設定したもの
 テストケース見 直しのため

  12. Copyright (C) nohana, Inc. All rights reserved. 回帰テストの自動化率について
 Copyright (C)

    nohana, Inc. All rights reserved. • 現状、期初の予定とほぼ同じ進捗で推移
 • Androidはそのまま(現状、追加で自動化できる箇所なし)
 • 次の期以降も決済とiOSは自動化を進める予定
 • CIで定期実行を行っている(テスト環境)
 ◦ デグレなどを早期検知するため
 ◦ 現在はAndroidのみなので、iOSも対応予定
 • 定期実行の安定化
 • リリース前の本番環境でのテスト

  13. Copyright (C) nohana, Inc. All rights reserved. 最後に
 Copyright (C)

    nohana, Inc. All rights reserved. • 初期コストはかかるものの、メンテコストはそこまで高くない
 • ノー(ロー)コードだと、属人化しないので誰でもできる
 • 外部サービスだとサーバーなど環境準備、メンテが不要
 • 共有ステップの活用
 • 自動化が難しいところは無理して自動化しないことが重要かも
 
 
 今日お話しした内容の一部はブログも公開していますので、ご覧ください!!
 ノハナではAndroidエンジニアを絶賛募集しています!!詳しくは@kotatoshi, [email protected]まで!