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
高速リリースを支える エムスリーQA チームの取り組み
Search
Junshi Kubota
April 26, 2022
Technology
0
980
高速リリースを支える エムスリーQA チームの取り組み
Junshi Kubota
April 26, 2022
Tweet
Share
More Decks by Junshi Kubota
See All by Junshi Kubota
ローコードツールを用いてチーム全員で自動テスト導入 -mabl で自動テスト-
jkubota
1
2k
エムスリーのテスト自動化の 歴史とこれから
jkubota
0
910
Other Decks in Technology
See All in Technology
pg_bigmをRustで実装する(第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
shinyakato_
0
120
なぜCodeceptJSを選んだか
goataka
0
180
Yahoo! ズバトクにおけるフロントエンド開発
lycorptech_jp
PRO
0
100
効率的な技術組織が作れる!書籍『チームトポロジー』要点まとめ
iwamot
2
110
いまからでも遅くないコンテナ座学
nomu
0
130
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
3
1.5k
AWS環境におけるランサムウェア攻撃対策の設計
nrinetcom
PRO
0
170
AWS re:Invent 2024 ふりかえり勉強会
yhana
0
470
Oracle Cloud Infrastructure:2024年12月度サービス・アップデート
oracle4engineer
PRO
1
270
サーバーなしでWordPress運用、できますよ。
sogaoh
PRO
0
120
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
200
TypeScript開発にモジュラーモノリスを持ち込む
sansantech
PRO
2
680
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Why Our Code Smells
bkeepers
PRO
335
57k
What's in a price? How to price your products and services
michaelherold
244
12k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Unsuck your backbone
ammeep
669
57k
Optimizing for Happiness
mojombo
376
70k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.4k
Optimising Largest Contentful Paint
csswizardry
33
3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Adopting Sorbet at Scale
ufuk
73
9.1k
Automating Front-end Workflow
addyosmani
1366
200k
Transcript
高速リリースを支える エムスリーQA チーム エムスリー株式会社
エムスリーとは 2 • 国内最大級の医療従事者向けサイト「m3.com」を中心に様々な サービスを提供中 ◦ 製薬企業 :マーケティング支援や治験の支援など ◦ 病院 :採用支援、電子カルテ、医療機器など ◦
医療従事者 :医療に関する情報の提供、開業・転職支援など ◦ 一般消費者 :医療相談、クリニック会計アプリなど 医療に関わる様々なサービスを提供、日々開発しております!
エムスリーのミッション 3 “インターネットを活用し、 健康で楽しく長生きする人を一 人でも増やし、 不必要な医療コストを一円でも 減らすこと”
エンジニアリンググループのミッション 4 “インターネットを活用し、 健康で楽しく長生きする人を一 人でも増やし、 不必要な医療コストを一円でも 減らすこと” エンジニアリングの力でこれを実 現する
5 IT業界の人が医療にチャレンジ 医療業界の人がITにチャレンジ
QAチームの体制 6 QAは組織横断チーム 普段の仕事は各自担当 する事業チームと一緒に 実施 事業チームごとにビジネ スに合わせてカラーがあ る。QAもそれに合わせ る
7 QAチームのミッション
QAチームのミッション 低コストで高品質の製品を作り、高速リリースが可能な開発チームを創る • 上流工程に関わり、価値あるテストを実施し、顧客に価値のある製品を提供 • テストでバグを検出するだけではなく、バグを埋め込まない仕組みを作る • QA作業の最適化を目指すのではなく、開発チーム全体の最適化を目指す • QAエンジニアとしての役割を越えて、開発チームの課題に全力を尽くす
QA エンジニアが品質を牽引する 文化です!
QAチームのミッション 上流工程に関わり、価値あるテストを実施し、顧客に価値のある製品を提供 • 顧客価値を上流から検討し、上流から品質を作り込む ◦ 決まった仕様を確認するだけにとどまらない ◦ 上流からの参入が良いテストを作るインプットとなる • 顧客にとって価値のあるテストを考えて実施する
◦ 顧客価値にインパクトのあるバグを多く見つけたい ◦ 無駄な(価値の低い)テストを減らし、次のリリースや UX 改善提案に注力
QAチームのミッション テストでバグを検出するだけではなく、バグを埋め込まない仕組みを作る • バグを埋め込まない活動ができれば、品質も上がり生産性も向上する ◦ 発生した障害・バグの一つ一つの振り返りを実施し再発防止策を考える ▪ 仕組みで取り除くことが重要 ▪ エンジニアと協力し機械的に埋め込まない仕組みを作る
• ex. 自動テストの充実、静的チェックの徹底、仕様伝達の改善等 ◦ 早めのQA関与により、発生しがちなバグを開発前に取り除く ▪ バグの傾向を定期的に分析しチーム展開するとともに気になることは早めにディス カッションできる仕組みとする
QAチームのミッション QA作業の最適化を目指すのではなく、開発チーム全体の最適化を目指す • 開発プロセス全体を俯瞰して、タイミングよく効果的な品質確保をする ◦ リリースのボトルネック、品質問題の原因を考え開発チーム全体で取り組む • 開発プロセスの変化に合わせて柔軟に QA実施方法も変える ◦
新規開発のQAと継続開発のQA実施方法はもちろん違う
QAチームのミッション QAエンジニアとしての役割を越えて、開発チームの課題に全力を尽くす • テストやレビューだけにこだわらず、チームに貢献し品質と開発スピードを上げる ◦ QA は様々な機能を日々触っているので仕様に詳しい場合が多々ある ▪ ドキュメントの整備 ▪
質問などへの回答 ◦ テスト作成時に整理した資料は仕様整理や仕様再検討に役立つときも
エムスリーのQAチーム エムスリーのQAは開発プロセス全体を通じて品質を高める活動を推進 • テストだけでなくできることは色々実施 ◦ 品質計画時の工夫 https://www.m3tech.blog/entry/2020/03/26/170000 ◦ 開発チーム含めた不具合分析 https://www.m3tech.blog/entry/2019/03/19/110000
• テストやレビュー以外にもプロセス改善も積極実施 • やり方にこだわらず、新しい手法や技術もガンガン導入 ◦ 刺激語カードを用いた事例 (https://www.m3tech.blog/entry/2020/11/20/110000)
14 QAチーム現在の取り組み
QAチーム現在の取り組み 品質・リリーススピードを上げるための現在の取り組み(一部紹介) • 各テストプロセスの分析 ◦ 各プロセスでどのような作業をしていてどれくらいの無駄があるか、問題があるかを定期 的に振り返り、作業改善の実施 • 自動テストの拡張 ◦
E2E 自動テストがないサービスに自動テストを積極導入 ▪ Selenium と mabl (ローコードツール)を用いて拡張中
テストプロセスの分析 自動テストの拡張 • 様々なサービスで自動テスト拡張・新規構築中です。 目的 使用技術 備考 リグレッションテスト selenium webdriver
古くからあるもの リグレッションテスト CodeceptJS 電子カルテ向け リグレッションテスト mabl ローコードツール VRT reg-suit、Playwright https://www.slideshare.net/kazuyukit suzisaki/regsuitqa-wolfvisual-regressi on-test
自動テストの拡張 各テストプロセスの分析 • 各工程でどのような作業を行っているかを洗出し、工数を算出 計画 設計 ケース 作成 準備 実施
データ 準備 環境準 備 • 効率が悪くなっている作業をピックアップし改善 ◦ ex. データ準備のために他チームのデータ仕込み依頼が必要で 1日必要 ▪ データ仕込みの方法を改善して 1日の準備期間を1時間程度に短縮
M3 Tech Blogの紹介 18 弊社エンジニアが日本、世界の 医療と格闘する日々が綴られて います。 https://www.m3tech.blog/
19 Twitter:M3 エンジニア公式 @m3_engineering https://twitter.com/m3_engineering
20 We are hiring!:カジュアル面談などお気軽に! エムスリーでは • エンジニア • デザイナ •
プロダクトマネージャー • QA を絶賛募集中です! https://jobs.m3.com/product/