狠狠撸

狠狠撸Share a Scribd company logo
? DMM
? DMM CONFIDENTIAL
DMM TVでの自動テスト構築と
QA部でのSaaS型の
テスト自動化プラットフォームの活用
合同会社 DMM.com テクノロジー本部 QA部
花上豊幸 福永有真
? DMM
? DMM
? DMM
4
自己紹介
名前:花上 豊幸(はなうえ ひろゆき)
所属:テクノロジー本部 QA部
2020年9月入社
勤務先:六本木本社(普段は、神奈川自宅でフルリモート)
【社内】
QA部を横断しての
? テスト自動化の推進
? 不具合分析などのデータ分析基盤の構築
を担当しています
約2年程前からDMM TVのSETリーダも担当
【社外】
副業として
? QA組織の立ち上げ/改善提案
? テスト自動化の推進
などの業務を請負いをさせて頂いております
? DMM
5
自己紹介
名前:福永 有真(ふくなが ゆうしん)
所属:テクノロジー本部 QA部
2016年4月新卒入社(2020年3月?QA部に参画)
勤務先:金沢事業所(金沢からフルリモート)
2016年4月? 動画配信開発部 バックエンドエンジニア
2020年3月? 立ち上げ当初よりQA部に参画
→動画配信や電子書籍、オンラインサロンなどの
サービスに対してテスト自動化を経験
→ 昨年より電子書籍/オンラインサロンのSETチームのリーダーを担当
? DMM
DMM TVでの自動テスト構築
(CodeceptJS)
6
? DMM
7
1. DMMプレミアム/TVの説明
2. DMM TVでのテスト自動化状況
3. テスト自動化スコープ
4. テスト自動化の改良点
5. 今後の展望
目次
? DMM
8
1. DMMプレミアム/TVの説明
2. DMM TVでのテスト自動化状況
3. テスト自動化スコープ
4. テスト自動化の改良点
5. 今後の展望
目次
? DMM
? DMM 10
? DMM
11
1. DMMプレミアム/TVの説明
2. DMM TVでのテスト自動化状況
3. テスト自動化スコープ
4. テスト自動化の改良点
5. 今後の展望
目次
? DMM.com 12
DMM TVでのテスト自動化状況(1/2)
● 自動テスト環境の構成図
? DMM.com 13
DMM TVでのテスト自動化状況(2/2)
● 開発環境 (VSCode)
○ 開発言語:Typescript
○ eslintなど一般的な拡張機能などを設定
? DMM
14
1. DMMプレミアム/TVの説明
2. DMM TVでのテスト自動化状況
3. テスト自動化スコープ
4. テスト自動化の改良点
5. 今後の展望
目次
? DMM.com 15
テスト自動化スコープ(1/4)
● 重要機能とリグレッションテストの拡充
○ 重要機能
■ 購入と再生関連でのテストを自動化
○ リグレッションテスト
■ 自動化可能なリグレッションテスト項目を自動化
■ マルチデバイス?ブラウザでのテスト自動化を拡張中
● 下記3つのテストをピックアップしてご紹介
○ 作品パターンテスト
○ 視聴実績
○ SPブラウザからのアプリ起動
? DMM.com 16
テスト自動化スコープ(2/4)
● 作品パターンテスト
○ 背景
■ DMM TVでは17万以上の作品があり, 作品パターン
を網羅した購入?再生のテストのみでも膨大な時
間がかかってしまう
○ 対応内容
■ BigQueryの作品データから作品パターンのcsvを作
成
● 理論値のパターンでは膨大すぎるため, 本番環境
に存在する作品パターンのみを抽出するクエリを
作成
■ CodeceptJSのData Driven Testsにてcsvのパターン網
羅テストを自動化
● https://codecept.io/advanced/#data-driven-tests
BigQuery
CSV
Data Driven Tests
? DMM.com
テスト自動化スコープ(3/4)
● 視聴実績の検証
○ 背景
■ DMM TVでは各作品で再生された時間をログとし
てGoogleCloudに蓄積している
■ 作品の支払い等にも影響するため, 常に再生時間の
ログが正しく取得できているかを確認する必要が
ある
○ 対応内容
■ 再生プレイヤーでの様々な操作を自動化
■ GoogleCloudのログデータを取得し再生プレイヤー
での操作を含んだ再生時間と比較を行い再生時間
が正しく蓄積できているかを確認
倍速
一時停止
スキップ
シーク
17
? DMM.com 18
テスト自動化スコープ(4/4)
● SPブラウザからのアプリ起動
○ 背景
■ DMM TVのSPブラウザではブラウザ内でのストリーミ
ング再生の他にアプリを起動して作品を再生する機能
がある
■ そのため, SPブラウザとネイティブアプリを跨いだ確
認が必要となる
○ 対応内容
■ SPブラウザにてアプリ起動までのシナリオを自動化
■ アプリの起動後にCodeceptJSのswitchToNative()でネ
イティブアプリの操作を行えるように切り替えを行っ
ている
● https://codecept.io/helpers/Appium.html#switchtonative
● SPブラウザはSlenium, ネイティブアプリは
Appiumベースで動作しているため
Selenium Appium
? DMM
19
1. DMMプレミアム/TVの説明
2. DMM TVでのテスト自動化状況
3. テスト自動化スコープ
4. テスト自動化の改良点
5. 今後の展望
目次
? DMM.com 20
テスト自動化の改良点(1/3)
● ページオブジェクトモデル
○ https://www.selenium.dev/ja/documentation/test_practices/encouraged/page_object_models/
○ openメソッド
ページオブジェクト
シナリオ
前画面のページオブジェクト
のopen()を呼ぶ
一行で検証画面までの遷移が記載
できシナリオが読みやすい
? DMM.com 21
テスト自動化の改良点(3/3)
● Slack通知 ● Allureレポート
? DMM
22
1. DMMプレミアム/TVの説明
2. DMM TVでのテスト自動化状況
3. テスト自動化スコープ
4. テスト自動化の改良点
5. 今後の展望
目次
? DMM.com 23
今後の展望
● テスト自動化の拡張
● 脱オンプレ環境(クラウドモバイル含む)
○ オンプレのPCをクラウドサーバーに移行
○ SP端末はクラウドモバイルへ移行
● 自動テスト以外では負荷試験の領域にチャレンジ
○ 性能検証の領域へのQA部の活動拡大が目標
○ まずはDMM TVでの負荷試験に参画中
? DMM
QA部でのSaaS型の
テスト自動化プラットフォームの活用
24
? DMM
25
1. 利用ツールと支援プロダクト
2. SaaS型のテスト自動化プラット
フォームの採用理由
3. 導入手順と運用評価
4. 運用結果
5. 向いている?不向きな状況
6. 今後の展望
7. 終わりに
目次
? DMM
26
「利用ツール」と
「支援プロダクト」
? DMM
27
Autify & Mablを採用/支援している事業
Autify Mabl
● ログイン/ログアウト
● 新規登録
● ポイント/クーポン
など
プラットフォーム
● 会員制コミュニティサ
ービス
? DMM
28
テスト実行しているWebブラウザ
Autify Mabl
● PC Web
○ Chrome
○ Safari
○ Firefox
○ Edge
● SP Web (iOS)
○ Safari
● SP Web (Android)
○ Chrome
● PC Web
○ Chrome
● SP Web (iOS)
○ Safari
● SP Web (Android)
○ Chrome
※今回のスコープはWebアプリへのテスト自動化のみとなっております
? DMM
29
SaaS型のテスト自動化
プラットフォームを
採用した理由
? DMM
30
課題
? 自動テストの需要に対して、
自動テストエンジニアが不足していた。
仮説
? SaaS型のプラットフォームを利用することで、コーディングの経験
が少ないテストエンジニアが自動テストを構築できるはず!
採用理由1:
経験が少ないテストエンジニアが自動テストを構築できる
? DMM
31
課題
? 頻度は多くないが、
ブラウザを網羅してテストを実施したい。という要望があった。
仮説
? 実機を用意せずにクロスブラウザのテストができる
? 環境構築?運用コストを抑えつつスモールスタートできるはず!
採用理由2:クロスブラウザテストの需要
? DMM
32
導入手順と運用評価
? DMM
QA部の位置付け
各開発部を
横断的に支援
? DMM
導入手順
運用評価
運用開始
テスト設計/実装
計画提案
ヒアリング
自動化の目的
導入計画書
成果指標
テストケース 評価報告書
テスト結果
不具合記録
OUTPUT
ヒアリング?運用開始
目安期間:2~3ヶ月程度
? DMM
35
運用評価:利益のモニタリング
自動テストが補っている
手動テストのコスト
? DMM
36
運用評価:損失のモニタリング
自動テストの保守コスト
+
有償ツールのコスト
? DMM
37
運用評価:ランニングコストのモニタリング
損失 > 利益に
なっていないかを定期的に
確認する
? DMM
38
運用結果
? DMM
39
【仮説】SaaS型のプラットフォームを利用することで、
コーディング経験が少ないテストエンジニアが
自動テストを構築できるはず!
【結論】経験の少ないテストエンジニアでも
自動テストの保守ができるようになった
→構築については、ツールを学習できる環境が必要
仮説に対しての結論
? DMM
40
【仮説】環境構築?運用コストを抑えつつスモールスタートできるはず!
【結論】端末の保守管理にかかるコスト及び労力を軽減できた。
→デバイスファーム連携でのクロスブラウザテスト機能が
あるツールは、並列実行はできるが、実行速度が遅い。
仮説に対しての結論
? DMM
41
実行回数/ステップ制限
? 自動テストシナリオの選定や設計に時間がかかる
? ステップ数や想定実行回数、それらがもたらすコスト価値を計画時に慎重に試
算する必要がある
期待値が詳細なテスト
? JSスニペットを書くことになることが多い
? テストが複雑化/ステップ数が増加するので、細かすぎるテスト設計をしない
ツールの環境によるエラー
? クラウド環境/ツール上でのみ失敗するエラーがたまに発生する
? 問い合わせを活用しつつ発生条件を模索し、ナレッジ化する
課題と解決策
? DMM
42
今後の展望
? DMM
43
テスト自動化未経験でも構築できるような学習環境作り
? 運用ナレッジを地道に蓄積
? コーディングとSaaS型の適用ガイドラインを提供し、明確な判断を
促せるようにする(チャレンジ中?)
ネイティブアプリへの拡張
? 広範なテストを行えるように、
ネイティブアプリ対応のSaaS型ツールの調査を進める
今後の展望
? DMM
44
終わりに
? DMM
45
DMMはポリシーとして「DMM Tech Vison」を掲げています
まとめ
? DMM
46
DMM/QA部として、今後もテクノロジーを使って
テスト自動化領域を広げる活動を
どんどん継続していきたいと思います!?
難しいor工夫が必要な領域(専門的スキルを持ったSET)
→コーディング
自動化しやすい領域(QAエンジニア)
→SaaSのテストプラットフォーム
まとめ
? DMM
47
SETエンジニア募集中!
多種多様なサービスを提供するDMMで、
テスト自動化に熱意を持った方を大募集中です!
宣伝です!!
採用求人 カジュアル面談
? DMM
ご静聴ありがとうございました

More Related Content

Similar to DMM TVて?の自動テスト構築と QA部て?のSaaS型の テスト自動化フ?ラットフォームの活用_slideshare用.pptx (20)

大规模なリアルタイム监视の导入と展开
大规模なリアルタイム监视の导入と展开大规模なリアルタイム监视の导入と展开
大规模なリアルタイム监视の导入と展开
Rakuten Group, Inc.
?
サーバレスアーキテクチャにしてみた【デブサミ2017 17-E-2】
サーバレスアーキテクチャにしてみた【デブサミ2017 17-E-2】サーバレスアーキテクチャにしてみた【デブサミ2017 17-E-2】
サーバレスアーキテクチャにしてみた【デブサミ2017 17-E-2】
dreamarts_pr
?
Xamarinを企業向けアフ?リ開発の フ?ラットフォームとして選定し 実際にアフ?リをリリースした話
Xamarinを企業向けアフ?リ開発の フ?ラットフォームとして選定し 実際にアフ?リをリリースした話Xamarinを企業向けアフ?リ開発の フ?ラットフォームとして選定し 実際にアフ?リをリリースした話
Xamarinを企業向けアフ?リ開発の フ?ラットフォームとして選定し 実際にアフ?リをリリースした話
Daisuke Tsutsumi
?
罢飞颈濒颈辞が使える颁丑谤辞尘别エクステンションを作った
罢飞颈濒颈辞が使える颁丑谤辞尘别エクステンションを作った罢飞颈濒颈辞が使える颁丑谤辞尘别エクステンションを作った
罢飞颈濒颈辞が使える颁丑谤辞尘别エクステンションを作った
瑛一 西口
?
Q te cc2
Q te cc2Q te cc2
Q te cc2
Fujie Teppei
?
楽天のインフラ事情 2022
楽天のインフラ事情 2022楽天のインフラ事情 2022
楽天のインフラ事情 2022
Rakuten Group, Inc.
?
MTDDC 2012 TOKYO LT @riatw
MTDDC 2012 TOKYO LT @riatwMTDDC 2012 TOKYO LT @riatw
MTDDC 2012 TOKYO LT @riatw
Kentaro Suzuki
?
フ?ロタ?クトマネーシ?ャーこそフ?ロシ?ェクトマネシ?メントを学ほ?う (2).pdf
フ?ロタ?クトマネーシ?ャーこそフ?ロシ?ェクトマネシ?メントを学ほ?う (2).pdfフ?ロタ?クトマネーシ?ャーこそフ?ロシ?ェクトマネシ?メントを学ほ?う (2).pdf
フ?ロタ?クトマネーシ?ャーこそフ?ロシ?ェクトマネシ?メントを学ほ?う (2).pdf
SaitoRyoPalekuma
?
叠笔厂迟耻诲测#101発表资料
叠笔厂迟耻诲测#101発表资料叠笔厂迟耻诲测#101発表资料
叠笔厂迟耻诲测#101発表资料
Toyohisa Tanaka
?
Webデザイナーが使うバージョン管理ツール(20150205 Web業界なんでも勉強会)
Webデザイナーが使うバージョン管理ツール(20150205 Web業界なんでも勉強会)Webデザイナーが使うバージョン管理ツール(20150205 Web業界なんでも勉強会)
Webデザイナーが使うバージョン管理ツール(20150205 Web業界なんでも勉強会)
Tsukasa Nagata
?
20190424 q ameetup-m -publish
20190424 q ameetup-m -publish20190424 q ameetup-m -publish
20190424 q ameetup-m -publish
Sadaaki Emura
?
ハ?ーシ?ョンアッフ?の対応を軽减するためのサーヒ?スの构筑
ハ?ーシ?ョンアッフ?の対応を軽减するためのサーヒ?スの构筑ハ?ーシ?ョンアッフ?の対応を軽减するためのサーヒ?スの构筑
ハ?ーシ?ョンアッフ?の対応を軽减するためのサーヒ?スの构筑
Toshiyuki Hirata
?
How to work Tableau x Google Cloud Platform in CyberAgent AdTech Studio
How to work Tableau x Google Cloud Platform in CyberAgent AdTech StudioHow to work Tableau x Google Cloud Platform in CyberAgent AdTech Studio
How to work Tableau x Google Cloud Platform in CyberAgent AdTech Studio
Ken Takao
?
顿惭惭.肠辞尘ラボでの日本语全文検索の利用事例绍介
顿惭惭.肠辞尘ラボでの日本语全文検索の利用事例绍介顿惭惭.肠辞尘ラボでの日本语全文検索の利用事例绍介
顿惭惭.肠辞尘ラボでの日本语全文検索の利用事例绍介
Hiyou Shinnonome
?
プリザンター勉強会 001 ハンズオン
プリザンター勉強会 001 ハンズオンプリザンター勉強会 001 ハンズオン
プリザンター勉強会 001 ハンズオン
Taiji Uchida
?
Virtual Volumes (vVols) on Pure Storage FlashArray at DMM.com
Virtual Volumes (vVols) on Pure Storage FlashArray at DMM.comVirtual Volumes (vVols) on Pure Storage FlashArray at DMM.com
Virtual Volumes (vVols) on Pure Storage FlashArray at DMM.com
Naoshi Takahashi
?
痴驳における耻虫デザインと补驳颈濒别开発@ハッカー道场
痴驳における耻虫デザインと补驳颈濒别开発@ハッカー道场痴驳における耻虫デザインと补驳颈濒别开発@ハッカー道场
痴驳における耻虫デザインと补驳颈濒别开発@ハッカー道场
VOYAGE GROUP
?
basic of Test automation installation
basic of Test automation installation basic of Test automation installation
basic of Test automation installation
Sadaaki Emura
?
KOP 会社資料 (web creative and consulting agency in Tokyo)
KOP 会社資料 (web creative and consulting agency in Tokyo)KOP 会社資料 (web creative and consulting agency in Tokyo)
KOP 会社資料 (web creative and consulting agency in Tokyo)
KOP
?
Dmm webcamp
Dmm webcampDmm webcamp
Dmm webcamp
YumaMaeda
?
大规模なリアルタイム监视の导入と展开
大规模なリアルタイム监视の导入と展开大规模なリアルタイム监视の导入と展开
大规模なリアルタイム监视の导入と展开
Rakuten Group, Inc.
?
サーバレスアーキテクチャにしてみた【デブサミ2017 17-E-2】
サーバレスアーキテクチャにしてみた【デブサミ2017 17-E-2】サーバレスアーキテクチャにしてみた【デブサミ2017 17-E-2】
サーバレスアーキテクチャにしてみた【デブサミ2017 17-E-2】
dreamarts_pr
?
Xamarinを企業向けアフ?リ開発の フ?ラットフォームとして選定し 実際にアフ?リをリリースした話
Xamarinを企業向けアフ?リ開発の フ?ラットフォームとして選定し 実際にアフ?リをリリースした話Xamarinを企業向けアフ?リ開発の フ?ラットフォームとして選定し 実際にアフ?リをリリースした話
Xamarinを企業向けアフ?リ開発の フ?ラットフォームとして選定し 実際にアフ?リをリリースした話
Daisuke Tsutsumi
?
罢飞颈濒颈辞が使える颁丑谤辞尘别エクステンションを作った
罢飞颈濒颈辞が使える颁丑谤辞尘别エクステンションを作った罢飞颈濒颈辞が使える颁丑谤辞尘别エクステンションを作った
罢飞颈濒颈辞が使える颁丑谤辞尘别エクステンションを作った
瑛一 西口
?
MTDDC 2012 TOKYO LT @riatw
MTDDC 2012 TOKYO LT @riatwMTDDC 2012 TOKYO LT @riatw
MTDDC 2012 TOKYO LT @riatw
Kentaro Suzuki
?
フ?ロタ?クトマネーシ?ャーこそフ?ロシ?ェクトマネシ?メントを学ほ?う (2).pdf
フ?ロタ?クトマネーシ?ャーこそフ?ロシ?ェクトマネシ?メントを学ほ?う (2).pdfフ?ロタ?クトマネーシ?ャーこそフ?ロシ?ェクトマネシ?メントを学ほ?う (2).pdf
フ?ロタ?クトマネーシ?ャーこそフ?ロシ?ェクトマネシ?メントを学ほ?う (2).pdf
SaitoRyoPalekuma
?
叠笔厂迟耻诲测#101発表资料
叠笔厂迟耻诲测#101発表资料叠笔厂迟耻诲测#101発表资料
叠笔厂迟耻诲测#101発表资料
Toyohisa Tanaka
?
Webデザイナーが使うバージョン管理ツール(20150205 Web業界なんでも勉強会)
Webデザイナーが使うバージョン管理ツール(20150205 Web業界なんでも勉強会)Webデザイナーが使うバージョン管理ツール(20150205 Web業界なんでも勉強会)
Webデザイナーが使うバージョン管理ツール(20150205 Web業界なんでも勉強会)
Tsukasa Nagata
?
20190424 q ameetup-m -publish
20190424 q ameetup-m -publish20190424 q ameetup-m -publish
20190424 q ameetup-m -publish
Sadaaki Emura
?
ハ?ーシ?ョンアッフ?の対応を軽减するためのサーヒ?スの构筑
ハ?ーシ?ョンアッフ?の対応を軽减するためのサーヒ?スの构筑ハ?ーシ?ョンアッフ?の対応を軽减するためのサーヒ?スの构筑
ハ?ーシ?ョンアッフ?の対応を軽减するためのサーヒ?スの构筑
Toshiyuki Hirata
?
How to work Tableau x Google Cloud Platform in CyberAgent AdTech Studio
How to work Tableau x Google Cloud Platform in CyberAgent AdTech StudioHow to work Tableau x Google Cloud Platform in CyberAgent AdTech Studio
How to work Tableau x Google Cloud Platform in CyberAgent AdTech Studio
Ken Takao
?
顿惭惭.肠辞尘ラボでの日本语全文検索の利用事例绍介
顿惭惭.肠辞尘ラボでの日本语全文検索の利用事例绍介顿惭惭.肠辞尘ラボでの日本语全文検索の利用事例绍介
顿惭惭.肠辞尘ラボでの日本语全文検索の利用事例绍介
Hiyou Shinnonome
?
プリザンター勉強会 001 ハンズオン
プリザンター勉強会 001 ハンズオンプリザンター勉強会 001 ハンズオン
プリザンター勉強会 001 ハンズオン
Taiji Uchida
?
Virtual Volumes (vVols) on Pure Storage FlashArray at DMM.com
Virtual Volumes (vVols) on Pure Storage FlashArray at DMM.comVirtual Volumes (vVols) on Pure Storage FlashArray at DMM.com
Virtual Volumes (vVols) on Pure Storage FlashArray at DMM.com
Naoshi Takahashi
?
痴驳における耻虫デザインと补驳颈濒别开発@ハッカー道场
痴驳における耻虫デザインと补驳颈濒别开発@ハッカー道场痴驳における耻虫デザインと补驳颈濒别开発@ハッカー道场
痴驳における耻虫デザインと补驳颈濒别开発@ハッカー道场
VOYAGE GROUP
?
basic of Test automation installation
basic of Test automation installation basic of Test automation installation
basic of Test automation installation
Sadaaki Emura
?
KOP 会社資料 (web creative and consulting agency in Tokyo)
KOP 会社資料 (web creative and consulting agency in Tokyo)KOP 会社資料 (web creative and consulting agency in Tokyo)
KOP 会社資料 (web creative and consulting agency in Tokyo)
KOP
?

DMM TVて?の自動テスト構築と QA部て?のSaaS型の テスト自動化フ?ラットフォームの活用_slideshare用.pptx