Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ques12_自動テスト ✕ 機械学習 〜自動テスト結果分析は楽になるか?〜

2,174 views

Published on

第12回Quesの資料です。

Published in: Technology
  • Be the first to comment

Ques12_自動テスト ✕ 機械学習 〜自動テスト結果分析は楽になるか?〜

  1. 1. ⾃動テスト ✕ 機械学習 〜⾃動テスト結果分析は楽になるか?〜 ⼭⼝ 真央
  2. 2. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 1 ⾃⼰紹介 l ⼭⼝真央(技術推進部 技術戦略室) l 2014年 l 新卒としてヒューマンクレストへ⼊社 l 2014年〜2015年 l ⾃動テストシステムの構築・運⽤・保守 l Java l ベトナムとのブリッジ l 2016年 l +負荷テスト l +APIテスト l 2017年 l 社内システム開発 l AWS l Python l Node.js l 2018年3⽉〜(半年くらい) l 機械学習&BigDataプロジェクト
  3. 3. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 2 会社紹介 l 株式会社ヒューマンクレスト l ソフトウェア品質の「評価」「検証」「改善」 l Quesの運営主催やってます l SeleniumConf Tokyo Platinum Sponsor l AWS パートナー
  4. 4. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 3 ⾃動テスト ✕ 機械学習 〜⾃動テスト結果分析は楽になるか?〜
  5. 5. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 4 テーマの経緯 <⾃動テストの楽しいところ> l ⾃動で操作してくれる l ⾃動テストコード書く l ⾃動テストをシステムとして提供 l 環境(新しい技術に触れられる!) l Docker l CI/CD l Jenkins <メリット> l 回帰テスト(Checking) l データドリブンのテスト l 単純ミスが減る
  6. 6. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 5 テーマの経緯 <⾃動テストの⾟いところ> l ⾃動テスト結果分析 l 再テスト l テストコードのメンテナンス l 環境維持 <デメリット> l 属⼈化しがち l バグっぽい?みたいな、⼈の直感的なところは⾒つけられない
  7. 7. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 6 ⾃動テストの結果分析フロー エラーログ& スクリーンショット確認 エラー原因分析 再テスト 終了 シナリオ修正 動作確認 不具合報告 l 不具合 l 環境問題 l タイムアウト l シナリオ修正が必要 等
  8. 8. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 7 テーマの経緯 テスト結果分析を楽にできないか?
  9. 9. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 8 Part1 レイアウト崩れ⾃動検知
  10. 10. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 9 レイアウト崩れ⾃動検知経緯 レイアウト崩れは⾃動テストでチェックできる?
  11. 11. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 10 レイアウト崩れ⾃動検知経緯 go-diff-image Pixel to Pixel OpenCV Template Matching
  12. 12. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 11 レイアウト崩れ⾃動検知経緯
  13. 13. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 12 レイアウト崩れ⾃動検知経緯 Before After ⽐較 課題 l 正解画像がないと判断できない l サイトのデザイン変更・広告表⽰がされた際、必ず失敗する
  14. 14. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 13 レイアウト崩れ検知のゴール 画像データ APIリクエスト レイアウトチェック判定 JSON { "status": 200, "result": "NG", "rate": 10 } APIレスポンス
  15. 15. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 14 技術要素 データ収集 データの前処理 データ格納 学習 chainer keras SageMaker S3
  16. 16. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 15 実施事項 ①要素・位置からレイアウト崩れを検知 ②1つの画像を分割し、それぞれでOK/NGを判定することでレイアウト崩れを検知 ③1つの画像をOK/NGで分類し、レイアウト崩れを検知 ④多機種・多端末毎に画⾯サイズを変えた画像を複数取得し、クラスタリング ⑤⽂字の重なり検出
  17. 17. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 16 ①要素・位置からレイアウト崩れを検知
  18. 18. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 17 ①要素・位置からレイアウト崩れ検出 l OpenCVで矩形と位置情報を抜き出す
  19. 19. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 18 ①要素・位置からレイアウト崩れ検出 l 抜き出した画像を元に、各要素が何かを機械学習で判定 l 要素が何かを判定した画像と位置情報から、レイアウト崩れを判定
  20. 20. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 19 ①要素・位置からレイアウト崩れ検出 - 結果 - l 各要素の分類はできそうだったが、データが⾜りなく安定しない l レイアウトが崩れていると、矩形抽出が上⼿くいかない可能性がある
  21. 21. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 20 ③1枚の画像からレイアウト崩れを検知
  22. 22. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 21 ③1枚の画像からレイアウト崩れ検知 OK NG
  23. 23. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 22 ③1枚の画像からレイアウト崩れ検知 - 結果 - l 50%以上の精度は出ない l 分類のされ⽅が画⾯の雰囲気に左右されてしまう l リサイズ(縮⼩)した段階で、レイアウトが崩れているかどうか⼈が⾒ても分か らない
  24. 24. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 23 結果⼀覧 ⽅針 内容 教師 精度 ① 要素 ✕ 位置からレイアウト崩れを検知 あり データ不⾜ 途中で⽅針変更 ② 1つの画像を分割し、それぞれでOK/NG判 定することでレイアウト崩れ/割合を検知 あり 70% ③ 1枚の画像をOK/NG判定し、レイアウト崩 れを検知 あり 50% ④ 各機種・多端末毎に、画⾯サイズを変えた 画像を複数取得し、クラスタリング なし - ⑤ ⽂字の重なりを検出 あり データ収集中
  25. 25. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 24 課題 l レイアウト崩れしている画像を収集するのは⼤変 l Webサイトのレイアウトパターンがとても多い l デザイン性の⾼いサイト l 崩れているサイトが出回っていることが少ない l レイアウト崩れの判定に時間がかかる l 分割・⼀部を機械学習モデルにするとその分判定時間を使う l 対象サイトを絞らないと難しそう
  26. 26. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 25 Part2 ⾃動テスト結果分析
  27. 27. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 26 おさらい エラーログ& スクリーンショット確認 エラー原因分析 再テスト 終了 シナリオ修正 動作確認 不具合報告 l 不具合 l 環境問題 l タイムアウト l シナリオ修正が必要 等
  28. 28. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 27 ⾃動テスト結果分析の経緯 Data Machine LearningAnalytics
  29. 29. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 28 ⾃動テストシステム データ
  30. 30. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 29 ⾃動テストシステム
  31. 31. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 30 ⾃動テストシステム全体像 Lynxのソース Excel管理 LynxDashboard
  32. 32. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 31 ⾃動テストシステム seq keyword TargetKind Target UniqueID inputValue Expect ・・・ Sleep 1 URL www.xxx.jp/login ・・・ 2000 2 Sendkey id name xxx@xxx.co.jp ・・・ 3 Sendkey id password test001 ・・・ 4 Click name login ・・・ 3000 5 Check name username test001 test001 ・・・ : ・・・ 設定項⽬ 必須 値 GridServer ○ XXX.XXX.XXX.XXX:4444 OS Browser ○ safari version 7.0 : : : スクリーンショット 有無 ○ TRUE タイムアウト値 0 Amazon RDS エラー情報 ・エラー内容 ・発⽣⽇時 ・エラーカテゴリ ・URL シナリオ情報 設定情報
  33. 33. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 32 全データ l 期間 l 1,300⽇程度(3年半) l テスト実⾏数 l 約110万件 l 操作数 l 4,800万ステップ l 成功率 l 95% l 平均 l 約860 テスト/⽇ l 約36,000 操作/⽇
  34. 34. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 33 使⽤データ(上位10社) l 期間 l 1,300⽇程度(3年半) → 2018年 250⽇分 l テスト実⾏数 l 約110万件 → 約4万7千件 l 操作数 l 4,800万ステップ → 約730万ステップ l 成功率 l 95% → 91% l 平均 l 約860テスト/⽇ → 約600テスト/⽇ l 約36,000操作/⽇ → 約30,000操作/⽇
  35. 35. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 34 データの傾向 1⽇の実⾏数推移 0 100 200 300 400 500 600 700 800 2018/1/1 2018/2/1 2018/3/1 2018/4/1 2018/5/1 2018/6/1 2018/7/1 2018/8/1 2018/9/1 成功数
  36. 36. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 35 データの傾向 成功率推移 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 2018/1/1 2018/2/1 2018/3/1 2018/4/1 2018/5/1 2018/6/1 2018/7/1 2018/8/1 2018/9/1 成功率
  37. 37. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 36 データ分析からの気付き
  38. 38. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 37 データ分析からの気付き エラー結果分析 ①エラー分析に使えるデータが少ない… 結果が分散
  39. 39. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 38 データ分析からの気付き seq keyword TargetKind Target UniqueID inputValue Expect ・・・ Sleep 1 URL www.xxx.jp/login ・・・ 2000 2 Sendkey id name xxx@xxx.co.jp ・・・ 3 Sendkey id password test001 ・・・ 4 Click name login ・・・ 3000 5 Check name username test001 test001 ・・・ : ・・・ 設定項⽬ 必須 値 GridServer ○ XXX.XXX.XXX.XXX:4444 OS Browser ○ safari version 7.0 : : : スクリーンショット 有無 ○ TRUE タイムアウト値 0 Amazon RDS エラー情報 ・エラー内容 ・発⽣⽇時 ・エラーカテゴリ ・URL シナリオ情報 設定情報 欲しいデータが少しずつ⾜りてない..
  40. 40. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 39 データ分析からの気付き 欲しいデータが少しずつ⾜りてない… → どうしたか? Lynxのソース Excel管理 Amazon RDS
  41. 41. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 40 分析データの説明変数 l Browser l Firefox、Chrome、IE l iPhoneSafari、AndroidChrome l ClientOS l Windows、Mac、AWS l ScenarioPoint l 各操作がテスト全体の何%に位置するか l KeywordType l Click、Sendkey、Check l KeywordTypeBefore l 1操作前のKeywordType l Status l 操作毎の成功/失敗
  42. 42. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 41 データ分析からの気付き ②最初から多くのデータを⾒ても、良く分からない 顧客毎のデータ
  43. 43. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 42 データ分析からの気付き ③AWS環境 と Local環境 30万件のデータ l AWSとLocalでの実⾏状況に⼤きな差はない l データの傾向は同じ l 成功率も同等 AWS:99.7% Local:99.9%
  44. 44. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 43 データ分析からの気付き ③Browser毎の⽐較 ChromeとFirefoxで ⼤きな違いは⾒られない ・Firefox ・Chrome
  45. 45. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 44 データ分析からの気付き ③Browser毎の⽐較 Chrome・Firefoxに⽐べて、 IE11の実⾏時間が遅い →Sleep時間が有効? ・Firefox ・Chrome ・IE11 ブラウザ 成功率 Chrome 99.8% Firefox 99.8% IE11 99.8%
  46. 46. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 45 結果分析と機械学習で使えるデータは?
  47. 47. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 46 各操作での実⾏時間予測
  48. 48. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 47 各ステップでの実⾏時間予測 l ⽬的 l ⾃動テストの結果分析を楽にしたい l 結果分析から思うこと l ⾃動テスト → タイムアウトエラー多い l 結果分析ももちろん⼤事。 l だけどそもそもエラー数を減らせたら、その⽅が嬉しい 実⾏時間予測 適切な待ち時間を ⼊れられる エラー削減 結果分析削減
  49. 49. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 48 各ステップでの実⾏時間予測 l Browser l Firefox、Chrome、IE l iPhoneSafari、AndroidChrome l ClientOS l Windows、Mac、AWS l ScenarioPoint l 各操作がテスト全体の何%に位置するか l KeywordType l Click、Sendkey、Check l KeywordTypeBefore l 1操作前のKeywordType l Exec Time l 実⾏時間 説明変数 ⽬的変数
  50. 50. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 49 各ステップでの実⾏時間予測 l 学習モデル l RandomForest Regressor l (Lasso Regressor) l (Elastic Net Regressor) l ( Ridge Regressor) l ( SGD Regressor) 定義 数値 平均絶対誤差(MAE) 14.01 平均2乗誤差(MSE) 939.54 平均平⽅2乗誤差(RMSE) 30.65 決定係数(R2) 0.94
  51. 51. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 50 今後 l データ収集の仕組み改善 l 機械学習を活⽤することで、⾃動テストのエラーを減らしたい l 画⾯崩れ検知等、システム化したい l テスト設計⾃動化に役⽴てたい
  52. 52. Copyright©2018 Human Crest Co.,LTD All Rights Reserved. 51 ご清聴ありがとうございました! 第12回Ques 2018年11⽉16⽇(⾦)

×