Upgrade to Pro — share decks privately, control downloads, hide ads and more …

テスト自動化プロジェクトを支える技術と仕組み

YoshikiIto
November 30, 2019

 テスト自動化プロジェクトを支える技術と仕組み

YoshikiIto

November 30, 2019
Tweet

More Decks by YoshikiIto

Other Decks in Technology

Transcript

  1. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    テスト⾃動化プロジェクトを⽀える
    技術と仕組み
    2019年11⽉30⽇
    伊藤由貴
    システムテスト⾃動化カンファレンス2019

    View Slide

  2. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    0.はじめに
    1
    ■今回お話する内容
    • ベリサーブが様々な会社さんにテスト⾃動化サービスを提供
    するにあたって、どんな⼯夫をしているか
    ■たとえばこんな場⾯で役⽴ててほしい
    • これからテスト⾃動化を始める
    • 今うまくいっていないテスト⾃動化を⽴て直す
    • 社内にテスト⾃動化を広める
    ■対象外
    • 使っている具体的なツール、ライブラリの話

    View Slide

  3. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    0.はじめに
    2
    ■ことば
    • テスト⾃動化≒テスト実⾏⾃動化、として話します
    ■資料の公開
    • のちほどSpeaker Deckで公開予定です ※編集の可能性有

    View Slide

  4. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    ⽬次
    3
    0.はじめに
    1.⾃⼰紹介・会社紹介
    2.抱えていた問題
    3.取り組み
    4.成果と今後
    5.まとめ

    View Slide

  5. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    1­1.⾃⼰紹介
    4
    伊藤由貴(@yoshikiito)
    株式会社ベリサーブ
    IT企画開発部 ⾃動テスト推進課
    新卒で⼊社以降、ずっとテスト⾃動化関連のお仕事。
    テスト⾃動化の⾃社ツールの開発
    →組み込み機器・業務システム・Webアプリケーションなどの
    テスト⾃動化業務
    →テスト⾃動化のエヴァンジェリスト業
    その他、ASTER正会員(2019~)/JaSST東北実⾏委員(2018~)等
    イマココ

    View Slide

  6. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    1­2.会社紹介
    5
    株式会社べリサーブ
    2001年に当時の親会社から独⽴した、現在は品質創造企業。
    ソフトウェアテスト、テストプロセスの診断や改善、
    負荷検証や脆弱性検証などなど、品質向上に関わるサービスを提供。
    その他特徴としては
    • 社員は約1000⼈の規模
    • テスト対象や業種が様々。Web、モバイル、組み込み etc…
    • 客先常駐がメインで、短ければ⼀ヶ⽉、⻑いと数年
    など

    View Slide

  7. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    1­2.会社紹介
    6
    ■テスト⾃動化サービス
    l エンジニア数名が客先常駐し⾃動テストの要件定義/トライアル/
    ⾃動テストシステム構築/コーディングなどを⾏う
    l 依頼をいただくキッカケ
    • テストを⾃動化したいが何から始めればいいかわからない
    • ⼀度チャレンジしたが失敗したので、プロの⼿を借りたい
    • 既にテスト業務を請け負っているお客様からの追加依頼
    orこちらからのご提案

    View Slide

  8. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    テスト⾃動化サービス概要
    • ツール検討
    • ⾃動テストシステムの
    導⼊可否調査
    • ⾃動テストシステムの
    計画および構築
    • ⾃動テスト
    スクリプト開発
    • ⾃動テストの
    保守/運⽤と
    レポーティング
    • マニュアル作成
    • トレーニング
    トライアル
    ⾃動テスト
    構築
    ⾃動テスト
    運⽤
    お引渡し
    1 2 3 4
    実施
    内容
    • トライアルレポート
    • テスト⾃動化計画/⾒積
    • ⾃動テストスクリプト
    (テストケース数件分)
    • ⾃動テストシステム
    • ⾃動テストスクリプト
    • ⾃動テストの運⽤報告
    • ⾃動テスト結果分析
    レポート
    • 構築、運⽤マニュアル
    • 保守マニュアル
    • トレーニング資料⼀式
    成果
    物例
    会社の
    サービス紹介
    資料より

    View Slide

  9. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    ⽬次
    8
    0.はじめに
    1.⾃⼰紹介・会社紹介
    2.抱えていた問題
    3.取り組み
    4.成果と今後
    5.まとめ

    View Slide

  10. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    2.抱えていた問題
    9
    理想
    • テスト⾃動化によって、お客様の製品のQCD向上に寄与
    • ベリサーブを⾼く評価してもらい、次のお仕事につなげる
    しかし・・・
    ⼀部プロジェクトの現実
    • お客様の製品のQCDが上がらない
    • 炎上

    View Slide

  11. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    2.抱えていた問題
    10
    社内の横の連携不⾜
    常駐している場所がバラバラ、テスト対象もバラバラで、
    部署やチームごと個別に頑張っている状態だった。
    エンジニアのテスト⾃動化スキル不⾜
    所謂「要員ガチャ」状態。スキルが無いとテスト⾃動化のお仕事ができず、
    お仕事ができないと経験が積めずにスキルが⾝につかない、のループ。


    マネージャのテスト⾃動化知⾒不⾜
    テスト⾃動化に関する知⾒が少ないと、プロジェクトを進める上での
    リスクを⾒落としたり、⾒積の精度が低かったりといった問題が起こる。

    View Slide

  12. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    2.抱えていた問題
    11
    ■既存の資料・概念も役に⽴つ、が・・・
    • テスト⾃動化の8原則をはじめ、これまで様々な「コツ」
    「ベストプラクティス」「落とし⽳」「パターン」などが
    公開され、ナレッジが蓄積されてきた
    • これらも⼗分役に⽴つものではあるが、初⾒の⼈がうまく使えて
    いない現状もあった
    もう少し具体的な「仕組み」化が必要と考えた

    View Slide

  13. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    ⽬次
    12
    0.はじめに
    1.⾃⼰紹介・会社紹介
    2.抱えていた問題
    3.取り組み
    4.成果と今後
    5.まとめ

    View Slide

  14. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    3.取り組み
    13
    以下のような施策を⾏った(ている)
    • テスト⾃動化プロジェクトガイドライン策定
    • プロセス定義
    • ロールとスキル定義
    • 社員教育
    順にご紹介

    View Slide

  15. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    3­1.テスト⾃動化プロジェクトガイドライン策定
    14
    l 概要
    • テスト⾃動化プロジェクトを進めるにあたって必要なことをまとめ
    たガイドライン
    l 使いどころ
    • ベリサーブでテスト⾃動化を含むプロジェクトを⾏う際に参照
    l ベース
    • ISTQBのTestAutomationEngineerシラバスや、社内の事例、
    社外の事例など

    View Slide

  16. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    3­1.テスト⾃動化プロジェクトガイドライン策定
    15
    ■ガイドラインの内容の⼀部
    • テスト⾃動化の⽬的、成功要因と失敗要因
    • gTAA, TAA, TAS
    • テスト⾃動化プロジェクトマネジメント
    • ⾃動化する/しないの選定
    などなど
    ※社外秘のため⾮公開

    View Slide

  17. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    3­2.標準プロセス設定
    16
    過去・・・
    l テストの⾃動化をしようと思うと、個々の技術要素やツールのほ
    うに意識が向いてしまい、失敗することがあった
    l 「⽬的をはっきりさせましょう」など、ピンポイントでのノウハ
    ウは浸透しているが、うまく活⽤できていない
    テスト⾃動化をどう進めていけばいいのか
    全体像を明確にするために標準プロセスを設定した

    View Slide

  18. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    3­2.標準プロセス設定
    17
    ■作成した標準プロセス

    View Slide

  19. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    3­3.テスト⾃動化エンジニアのロール・スキル定義
    18
    過去・・・
    l テスト⾃動化プロジェクトを⾏うにあたって、どんなスキルを
    もったエンジニアがいればいいのかわからない
    l テスト⾃動化できるようになろう︕と⾔われても、何をどのくら
    い⾝に付ければいいのかわからない
    ロールを設定し、各ロールに求められるスキルを定義することで
    l テスト⾃動化プロジェクトを⾏うために必要なロールを明⽰
    l テスト⾃動化に必要なスキルを可視化

    View Slide

  20. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    3­3.テスト⾃動化エンジニアのロール・スキル定義
    19
    ロール スキル
    ⾃動テストシステム
    アーキテクト
    CIを含めた⾃動テストシステム全体の設計ができる
    既存テストケースでのPOCができる
    POCを通じて費⽤対効果算出ができる
    ⾃動テストレポートの設計ができる
    テスト⾃動化エンジニアに対して保守性を確保するための指導、施策ができる
    ⾃動テスト
    プロジェクトマネージャ
    ⾃動テストシステムの要件定義ができる
    テスト⾃動化の計画が作れる
    ⾃動テストシステム開発のリソース(ヒトモノカネ)管理ができる
    テスト⾃動化プランナー
    テスト⾃動化ツール選定(製品の⾃動化I/Fの⾒極め)ができる
    お客様テスト計画のどこをいつ⾃動化できるか⾒極められる
    既存テストケースのテスト⾃動化向け変換可能性を⾒極められる
    ⾃動テストシステム
    運⽤エンジニア
    ⾃動テストシステムの⽇々の運⽤ができる
    製品、テストケースの改変による保守ができる
    ⾃動テストコードの構成をバージョンアップできる
    テスト⾃動化エンジニア
    担当ドメインの主たるSWがどのように動作しているかを概ね把握している
    製品、テストケースの理解ができる
    ⾃動テストコードの開発ができる

    View Slide

  21. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    3­3.テスト⾃動化エンジニアのロール・スキル定義
    20
    ■ロール間のレベル関係
    ⾃動テストシステム運⽤エンジニア
    テスト⾃動化エンジニア
    ⾃動テストシステム
    アーキテクト
    ⾃動テスト
    プロジェクト
    マネージャ
    テスト⾃動化
    プランナー

    View Slide

  22. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    21
    ■各ロールが担当する主な範囲
    3­3.テスト⾃動化エンジニアのロール・スキル定義
    自動テストシステム
    アーキテクト

    View Slide

  23. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    22
    ■各ロールが担当する主な範囲
    3­3.テスト⾃動化エンジニアのロール・スキル定義
    自動テスト
    プロジェクトマネージャ

    View Slide

  24. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    23
    ■各ロールが担当する主な範囲
    3­3.テスト⾃動化エンジニアのロール・スキル定義
    自動テスト
    プランナー

    View Slide

  25. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    24
    ■各ロールが担当する主な範囲
    3­3.テスト⾃動化エンジニアのロール・スキル定義
    自動テストシステム
    運用エンジニア

    View Slide

  26. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    25
    ■各ロールが担当する主な範囲
    3­3.テスト⾃動化エンジニアのロール・スキル定義
    テスト自動化エンジニア

    View Slide

  27. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    3­4.社員教育
    26
    l 研修の開催
    • テスト⾃動化関連研修を毎週
    • 数⽇〜数週間の⾃動テスト集中トレーニング
    l 教育内容
    • Pythonプログラミング, 単体テスト
    • Selenium+Pythonでのテスト⾃動化
    • Gitを使ったバージョン管理、Jenkins等でのCI構築
    • 商⽤の⾃動テストツールを使ったテスト⾃動化
    など。資料は全て社内展開し、⾃学も可能
    (⾔語やFWは変わりうるが)これらのスキルを
    テストエンジニア全員が⾝に着けることを⽬指す

    View Slide

  28. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    ⽬次
    27
    0.はじめに
    1.⾃⼰紹介・会社紹介
    2.抱えていた問題
    3.解決のための取り組み
    4.成果と今後
    5.まとめ

    View Slide

  29. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    4­1.取り組みの主な成果
    28
    l 社内のノウハウ共有促進
    • ガイドラインやプロセス策定にあたり、各部署のメンバーで協議し、
    様々なテスト対象・業種で利⽤できるものを作成
    l プロジェクトの安定運営
    • 例えば炎上件数がN割減った、というデータは出せず・・・
    • テスト⾃動化プロジェクトに途中からJoinするメンバーの
    レベル底上げ
    l ⽂化の浸透
    • 特に社員教育とロールスキル設定によって、社内でテスト⾃動化の
    ⽂化が広まってきた
    • ⾮エンジニア職からもテスト⾃動化を学びたいという要望が出て、
    教育を⾏っている

    View Slide

  30. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    4­2.⽬指す姿と今後
    29
    ウチのエンジニアは皆テスト⾃動化を
    あたりまえにできます
    という状態を実現するために
    l ガイドラインやプロセスなどの利⽤促進
    l 教育の継続
    をやっていく

    View Slide

  31. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    ⽬次
    30
    0.はじめに
    1.⾃⼰紹介・会社紹介
    2.抱えていた問題
    3.解決のための取り組み
    4.成果と今後
    5.まとめ

    View Slide

  32. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    5.まとめ
    31
    l テスト⾃動化プロジェクトを効果的に&安全に進めるために、
    • ガイドライン
    • プロセス
    • ロール、スキル
    などの策定・設定をし、これらに基づいて教育を強化した
    l 社内の横連携促進とテスト⾃動化のスキルアップに繋がった

    View Slide

  33. テスト⾃動化が
    できるorやりたい
    エンジニアを募集
    しています
    テスト⾃動化の
    導⼊or改善に関する
    ご相談をお受けします

    View Slide

  34. 本資料の著作権は株式会社ベリサーブに帰属します。
    弊社の同意なしに資料の全部または⼀部を複製、コピー、公表、伝達を⾏うことは著作権侵害となります。
    本資料からのテキスト、図版の引⽤や転⽤については弊社同意により弊社資料からの出典である旨記載し、ご利⽤をお願いします。
    また、会社名・製品名・サービス名は、各社の登録商標または商標です。

    View Slide

  35. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    補⾜資料

    View Slide

  36. Copyright © 2019 VeriServe Corporation All Rights Reserved.
    1. ⼿動テストはなくならない
    2. ⼿動でおこなって効果のないテストを⾃動化しても無駄である
    3. ⾃動テストは書いたことしかテストしない
    4. テスト⾃動化の効⽤はコスト削減だけではない
    5. ⾃動テストシステムの開発は継続的におこなうものである
    6. ⾃動化検討はプロジェクト初期から
    7. ⾃動テストで新種のバグが⾒つかることは稀である
    8. テスト結果分析という新たなタスクが⽣まれる
    引⽤︓テスト⾃動化研究会「テスト⾃動化の8原則」より
    https://sites.google.com/site/testautomationresearch/test_automation_principle
    テスト⾃動化の8原則

    View Slide