Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MagicPodを利用して回帰テストを自動化している話
Search
Kohei Tai
October 20, 2022
Technology
0
36
MagicPodを利用して回帰テストを自動化している話
MagicPodを利用して回帰テストを自動化している話
Kohei Tai
October 20, 2022
Tweet
Share
More Decks by Kohei Tai
See All by Kohei Tai
MagicPodで自動化率を爆上げしたハナシ.pdf
kotatoshi
0
270
スクラム開発でアジャイルテスティングを実施し、リリースサイクルを早めた話.pdf
kotatoshi
0
43
Other Decks in Technology
See All in Technology
人工衛星のファームウェアをRustで書く理由
koba789
13
7.1k
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
6
740
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
370
2025年になってもまだMySQLが好き
yoku0825
8
4.6k
Flutterでキャッチしないエラーはどこに行く
taiju59
0
220
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
19
8.9k
テストを軸にした生き残り術
kworkdev
PRO
0
190
生成AIでセキュリティ運用を効率化する話
sakaitakeshi
0
520
Obsidian応用活用術
onikun94
1
460
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
9.7k
おやつは300円まで!の最適化を模索してみた
techtekt
PRO
0
290
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
180
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Bash Introduction
62gerente
615
210k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
Navigating Team Friction
lara
189
15k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Fireside Chat
paigeccino
39
3.6k
Transcript
Copyright (C) nohana, Inc. All rights reserved. Copyright (C) nohana,
Inc. All rights reserved. 2022/10/20 MagicPodで回帰テストを自動化している話
Copyright (C) nohana, Inc. All rights reserved. 自己紹介 Copyright (C)
nohana, Inc. All rights reserved. 田井 康平 • 株式会社ノハナ ◦ サービスデザイン部 品質管理グループ マネージャー(になりました) • オンラインでのLTは2回目! • QA業務をしつつ、スクラムマスターになるため、日々勉強中 • Twitter: @kotatoshi
Copyright (C) nohana, Inc. All rights reserved. ノハナの紹介 Copyright (C)
nohana, Inc. All rights reserved. • フォトブックアプリ、年賀状アプリの開発 通常フォトブック 毎月1冊無料でつくれるスタンダードタイプ。 高画質仕上げ、表紙デザインやギフト包装など、用途で選べるオプ ションも豊富にご用意しています。 定期的な写真のまとめや、月齢アルバムにおすすめです。 プレミアムフォトブック 高精細な写真画質仕上げの 銀塩ハードカバータイプ。 レイフラット製本で迫力の見開き写真が実現、最大89枚(表紙含む) の写真が入ります。 特別なイベントや、1年ごとの思い出の記録におすすめです。
Copyright (C) nohana, Inc. All rights reserved. トピック • MagicPodでの回帰テスト自動化
• 回帰テストの手動と自動の工数比較 • 自動化率について • 最後に
Copyright (C) nohana, Inc. All rights reserved. MagicPodでの回帰テスト自動化
Copyright (C) nohana, Inc. All rights reserved. MagicPodでの回帰テスト自動化 Copyright (C)
nohana, Inc. All rights reserved. • 導入理由 ◦ プログラミング(コーディング)のスキルが不要 ▪ 個人のスキルに依存しない ◦ 価格がリーズナブル ◦ サーバーなど自前で準備不要(メンテやアップデート含め) ◦ 共有ステップでシナリオ間でテストを共有できる ◦ サポートが早い ◦ 自動修復機能 ◦ 外部ツールとの連携 ▪ Slackへの結果通知、Jenkinsのジョブ実行、CIからの自動実行
Copyright (C) nohana, Inc. All rights reserved. MagicPodでの回帰テスト自動化 Copyright (C)
nohana, Inc. All rights reserved. • 共有ステップの活用 • 組み合わせのサンプル(実際の組み合わせではありません) ◦ この場合だと5シナリオある ▪ それぞれで個別にテストコードを作成するとそれだけでも大変 ◦ 仕様変更時などのたびに5つのシナリオを修正する必要がある ◦ 実際のテストではもっと多いパターンもあることが多い → 共有ステップで対応
Copyright (C) nohana, Inc. All rights reserved. MagicPodでの回帰テスト自動化 Copyright (C)
nohana, Inc. All rights reserved. • 共有ステップの活用 • 共有ステップ内ではデータパターンの値をもとに条件分岐を導入 ◦ 例:商品選択の共有ステップで、色が◯◯である場合、◯◯を選択する • 最初に共有ステップを作る時間はかかった ◦ その後は流用できるので全体工数としては少なく済んだ 共有ステップのメリット • 使い回し可能 • 修正時に1つのシナリオ修正でOK
Copyright (C) nohana, Inc. All rights reserved. 回帰テストの手動と自動の工数比較
Copyright (C) nohana, Inc. All rights reserved. 回帰テストの手動と自動の工数比較 Copyright (C)
nohana, Inc. All rights reserved. • 自動テストは失敗時のメンテコスト含む • 自動テストの作成工数は除く Android 手動で全て実施 自動テストが少し安定 してきたころ 期間は2年ぐらい オフショアから内製に 切り替え
Copyright (C) nohana, Inc. All rights reserved. 回帰テストの手動と自動の工数比較 Copyright (C)
nohana, Inc. All rights reserved. • 自動テストは失敗時のメンテコスト含む • 自動テストの作成工数は除く iOS テストケース見 直しのため 自動化初期はエラー になるケースが多い 期間は2年ぐらい オフショアから内製に 切り替え
Copyright (C) nohana, Inc. All rights reserved. 回帰テストの手動と自動の工数比較 Copyright (C)
nohana, Inc. All rights reserved. • 全体工数が減ったタイミング ◦ オフショアでの手動テストから内製での手動テストへの切り替え ◦ 自動テストの増加 • 全体工数が増えたタイミング ◦ テストケースの見直し ◦ エラーのため手動で実施 ◦ エラーが大量に発生しメンテナンスが必要 ▪ テストケースの修正漏れ(修正箇所を全て修正してないケースなど) ▪ アプリを更新すると要素が見つからなくなることなどがある
Copyright (C) nohana, Inc. All rights reserved. 回帰テストの自動化率について
Copyright (C) nohana, Inc. All rights reserved. 回帰テストの自動化率について Copyright (C)
nohana, Inc. All rights reserved. ※次の期の予定 ※1Sprintの2週間なので、1年での推移 ※破線は今四半期の期初に設定したもの テストケース見 直しのため
Copyright (C) nohana, Inc. All rights reserved. 回帰テストの自動化率について Copyright (C)
nohana, Inc. All rights reserved. • 現状、期初の予定とほぼ同じ進捗で推移 • Androidはそのまま(現状、追加で自動化できる箇所なし) • 次の期以降も決済とiOSは自動化を進める予定 • CIで定期実行を行っている(テスト環境) ◦ デグレなどを早期検知するため ◦ 現在はAndroidのみなので、iOSも対応予定 • 定期実行の安定化 • リリース前の本番環境でのテスト
Copyright (C) nohana, Inc. All rights reserved. 最後に Copyright (C)
nohana, Inc. All rights reserved. • 初期コストはかかるものの、メンテコストはそこまで高くない • ノー(ロー)コードだと、属人化しないので誰でもできる • 外部サービスだとサーバーなど環境準備、メンテが不要 • 共有ステップの活用 • 自動化が難しいところは無理して自動化しないことが重要かも 今日お話しした内容の一部はブログも公開していますので、ご覧ください!! ノハナではAndroidエンジニアを絶賛募集しています!!詳しくは@kotatoshi,
[email protected]
まで!
None