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
ローコード自動化ツールmablの導入と うまく利用するためのルールの策定
Search
yuki-shiromoto
September 12, 2023
Technology
1
810
ローコード自動化ツールmablの導入と うまく利用するためのルールの策定
2023/09/13のFindyさんのLTイベント「テストパフォーマンス向上のためのテスト戦略〜自動化の秘訣 Lunch LT〜」の発表資料です
yuki-shiromoto
September 12, 2023
Tweet
Share
More Decks by yuki-shiromoto
See All by yuki-shiromoto
ミスから学ぶ ~再発防止策をチームで考えるアプローチ
shiromoto
0
270
複数チームでmablを活用する際の課題と対応
shiromoto
1
1.8k
mablのエムスリーでの運用方法と日本で使う上で困っている点
shiromoto
0
230
積んでいる勉強会のアーカイブみんなで見れば怖くないの~
shiromoto
0
130
エムスリーの QA チームでの取り組みについて
shiromoto
0
930
mablの導入と開発・QA間の協力体制
shiromoto
1
6.8k
DevOps組織でQAが加速のために取り組んでみたこと
shiromoto
2
1.5k
Other Decks in Technology
See All in Technology
IaC運用を楽にするためにCDK Pipelinesを導入したけど、思い通りにいかなかった話
smt7174
1
110
CyberAgent 生成AI Deep Dive with Amazon Web Services / genai-aws
cyberagentdevelopers
PRO
1
480
バクラクにおける可観測性向上の取り組み
yuu26
3
410
GitHub Universe: Evaluating RAG apps in GitHub Actions
pamelafox
0
170
Jr. Championsになって、強く連携しながらAWSをもっと使いたい!~AWSに対する期待と行動~
amixedcolor
0
180
Vueで Webコンポーネントを作って Reactで使う / 20241030-cloudsign-vuefes_after_night
bengo4com
4
2.5k
10分でわかるfreee エンジニア向け会社説明資料
freee
18
520k
30万人が利用するチャットをFirebase Realtime DatabaseからActionCableへ移行する方法
ryosk7
5
330
AIを駆使したゲーム開発戦略: 新設AI組織の取り組み / sge-ai-strategy
cyberagentdevelopers
PRO
1
130
MAMを軸とした動画ハンドリングにおけるAI活用前提の整備と次世代ビジョン / abema-ai-mam
cyberagentdevelopers
PRO
1
110
生成AIとAWS CDKで実現! 自社ブログレビューの効率化
ymae
2
320
分布で見る効果検証入門 / ai-distributional-effect
cyberagentdevelopers
PRO
4
690
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Designing for humans not robots
tammielis
249
25k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
7
150
Designing for Performance
lara
604
68k
Visualization
eitanlees
144
15k
Code Review Best Practice
trishagee
64
17k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
7.9k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Learning to Love Humans: Emotional Interface Design
aarron
272
40k
Transcript
ローコード自動化ツールmablの導入と うまく利用するためのルールの策定 2023/09/13 テストパフォーマンス向上のためのテスト戦略〜自動化の秘訣 Lunch LT〜 エムスリー株式会社 城本 由希 1
自己紹介 • 城本 由希 @yuki_shiro_823 • エムスリー株式会社で組織横断のチームであるQAチームに所属 • 担当はリサーチの部門であるBIRでアンケートの作成や配信などのシステム のQA • QAエンジニアのスキル向上を目指してQAチーム内の勉強会を開いたり、
有志でテスト設計コンテストに出場したりしている • 広島出身のカープファン 2
今日話すこと、メインターゲット 3 <話すこと> 1. mabl導入前の課題 a. テスト自動化の状況や問題点 2. 導入時の体験と挑戦 a.
スムーズに行った点 b. ちょっと工夫が必要だった点 3. うまく利用するための社内ルー ル 4. 対応の効果 5. まとめ <メインターゲット> • ローコードツールを全社的に使 おうとしている人
エムスリーの紹介 4 “インターネットを活用し、 健康で楽しく長生きする人を一 人でも増やし、 不必要な医療コストを一円でも 減らすこと” → テクノロジーで支援する
エムスリーのQAチームの立ち位置 5 開発 エンジニア QA エンジニア 自分 組織横断のQAチームに所 属し、担当サービスが BIR
エムスリー 経営会議 マネジメントチーム CTO VPoE GL 採用TL エンジニア人事担当 事業チーム (9) 横断チーム (10) Unit1 MR君 Unit4 サイトプロモ Unit6 キャリア Unit9 治験 Unit3 新領域 Unit5 コンシューマ Unit7 BIR SRE マルデバ AI・機械学習 グループ会社 支援 グローバル プロダクト 基盤 2023-6-1時点:94名 採用チーム QA セキュリティ プロダクト 支援 データ基盤 デジスマ デジカル
前提:エムスリーの自動化の歴史 6 • Selenium IDE導入 • トライアル 最初期 • 社内展開
• テスト増加 成長期 • メンテナン ス問題 • Selenium IDEのEOL 停滞期 • mabl導入 • BIRでのト ライアル 導入期 • mablの全 社展開 • 運用中 成長期2 mabl Selenium playwright etc 見 直 し
今回の範囲 7 • Selenium IDE導入 • トライアル 最初期 • 社内展開
• テスト増加 成長期 • メンテナン ス問題 • Selenium IDEのEOL 停滞期 • mabl導入 • BIRでのト ライアル 導入期 • mablの全 社展開 • 運用中 成長期2 mabl Selenium playwright etc 見 直 し
エムスリーでのテスト自動化の状況や問題点 • テスト実施、リグレッションに時間がかかっている ◦ 一部E2Eテスト自動化に着手できておらず、手動テストしているシステムがある • 自動テストの作成、メンテナンスが一部の知識のあるメンバーに集中してし まうため全体展開が進みづらい ◦ SeleniumやPlaywrightを使っているが、これらはある程度コードが書ける必要がある
◦ 自動実行用の環境にアップデートやメンテが必要だが、手が回りづらい ツールである程度解決できるのでは? 8
mablとは何か Webブラウザアプリ向けのE2Eテスト自動化クラウドサービス • 操作をレコードすることによりローコードでテストケース作成が可能 • AIを活用したオートヒーリングと画面崩れ検知の機能がある • APIテスト、モバイルWebテストにも対応 9
mablとは何か 10 ブラウザの操作を一連の ステップとして記録 waitやassertionの追加も GUIからできる
なぜmablを導入したのか <mablを選んだ理由> • 課題の解消 ◦ ローコードツールのため、QAチームのメンバー全員が扱える ▪ Webブラウザの操作のレコードでテストケース作成が可能 (一部JavaScriptで記述する必要あり) ◦
自前で実行用の環境を準備する必要がない • mablの標準機能でカバーできる範囲が広がる ◦ 簡単なスモークテストやVRTを実施する機能がついており、リンク切れなどの検知は自動で 行える まずはBIRでmablを導入してみよう! 11
導入時の体験と挑戦 ~スムーズに行った点 • 体感では7~8割程度がレコーディングしたとおりに動かせる • 1~2ケース一緒に作れば初めて使うメンバーもすぐに使い始められる • waitやassertionの追加もGUIで提供されている機能で対応できる ◦ IF文やFOR文の追加もGUIで可能 テスト対象システムが自動化と相性の良いものであれば
レコーディングとGUIで自動テストケースが作成可能 12
ちょっと工夫が必要だった点(導入期の課題) • 記録したとおりに動かないところもある ◦ テーブルのセルの中をクリックしたり、文字入力するUI ◦ idやnameがついていない要素 ◦ 一部の日付選択のUI •
データを初期化/固定化する必要がある ◦ ※テスト自動化につきものの課題であり、mablの問題ではない 13 今回はmablを使うことや自 動テストにつきものの困難 な点の対応は省略! この点の対応はこちらをど うぞ! mablの導入と開発・QA間の協力体制
おさらい:今回の範囲 14 • Selenium IDE導入 • トライアル 最初期 • 社内展開
• テスト増加 成長期 • メンテナン ス問題 • Selenium IDEのEOL 停滞期 • mabl導入 • BIRでのト ライアル 導入期 • mablの全 社展開 • 運用中 成長期2 mabl Selenium playwright etc 見 直 し
ちょっと工夫が必要だった点(成長期2の課題) <前提> 社内には複数チーム存在する mablの利用は1チーム→7チームに拡大 <課題> 1. どれが自分のチームのものか分からなくなる 2. 人によってコメントの付け方や何をflow(関数)にしているのかが異なる a.
誰でもメンテナンスできるものになっているか 3. レビューはどうするか 15 E2Eテスト自動化サービスmablでテストケースを作成する際のルールを作った話 詳しくはこちらをどうぞ!
対応1「命名規則策定」 <課題> どれが自分のチームのものか分からなくなる <対応> 命名規則を決めた 「チーム名-サービス名-(テスト対象機能)-(実施操作)」 例:「Unit7_アンケート管理システム_アンケート作成_新規作成」 16
対応2「作成ルール策定」 <課題> 人によってコメントの付け方や何をflow(関数)にしているのかが異なる <対応> ある程度粒度が揃い、メンテナンスしやすくなるよう作成ルールを決めた • コメントを適宜入れているか • 実行内容に応じて適切に結果を確認しているか •
同手順が複数ある場合flow化(関数化)しているか • 1日に複数回実行可能か etc 17
対応3「レビュールール策定」 <課題> レビューはどうするか <対応> レビューフロー、ルールを定めた • テストケース作成者が作成ルールに沿っているかセルフチェック →チーム内でレビューを依頼 • mablにはブランチ機能がある。大きな修正を加える場合はブランチの使用
を推奨 18
対応の効果 • 初めて自動テストのケースを作成するメンバーでも一定のレベルを保って作 成が可能に • レビューアになると他のメンバーがテストを作成する際に行っている工夫を 知れる(副次的な効果) <その他の工夫> • 週一で有志メンバーでmablの勉強会を実施
◦ 他の人が作成したテストケースを眺める →他の人の工夫を知ったり、フィードバックをするいい機会に 19
今後の取り組み 自動化は今後どのように拡充するのか? • mablによるE2Eテスト ◦ よりよいメンテナンス ◦ よりよい運用方法がないか ◦ 長くなっているテストをどう回しやすくしていくか
etc • APIテスト 20
まとめ • テスト自動化の推進のため、ローコードテスト自動化サービスのmablを導 入 • 1チームでのトライアルで成果があった後、社内展開実施。展開にあたり ルールを策定 ◦ 命名規則、作成ルール、レビュールール •
ルールにより一定のレベルを保ってmablのテストケースを作成できるように なった 21
QAエンジニア募集中です! 詳しくはこちらで! 22 We are hiring!! ご清聴ありがとうございました!