MasaoApril's Library.

Software Testingなネタを書いてみた。

システムテスト自動化カンファレンス2015(2)「テスト自動化のスキルを考えよう! ~テスト自動化エンジニアに求められるスキル、期待される役割~」(後編)

 2015/12/13(日)にテスト自動化研究会(STAR)主催のシステムテスト自動化カンファレンス2015に参加しました。
 本blogでは、聴講したセッションから数回に分け、メモとしてまとめたものを紹介します。

セッション

 講演内容は、下記セッションです。
(※<資料>にリンクを貼りましたので、参照下さい。)

1.テスト自動化のスキルを考えよう! ~テスト自動化エンジニアに求められるスキル、期待される役割~ 早川 隆治(テスト自動化研究会)/テスト自動化スキル標準 AutomationTest.SSF 考えてます。 コヤマン(テスト自動化研究会), →<資料1>/<資料2>
2.自動家は見た~自動化の現場の真実~ /".reviewrc"→"おいしが" →<資料1>/<資料2>
3.広告システム刷新よもやま話 - テストが当たり前となるまでにやったこと - /森下 大介(ヤフー株式会社MSC開発本部マーケッターPF開発部) →<資料>
4.楽天の品質改善を加速する継続的システムテストパターン /荻野 恒太朗(楽天), 菊川 真理子(楽天) →<資料>
5.キーワード駆動によるシステムテストの自動化について /小井土 亨(SQiP 運営委員会メンバー、株式会社OSK) →<資料>
6.Testing Tools for Mobile App /松尾 和昭(クックパッド) →<資料>
7.パネルディスカッションLIVE! テスト自動化”エンジニア” の今とこれから/登壇者:森下 大介(ヤフー株式会社), 荻野 恒太朗(楽天), 小井土 亨(SQiP 運営委員会メンバー, 株式会社OSK),松尾 和昭(クックパッド), AAA(review.rc)メンバ, モデレータ:浅黄 友隆(ヒューマンクレスト), 松木 晋祐(ベリサーブ)

 今回は、「1.テスト自動化のスキルを考えよう! ~テスト自動化エンジニアに求められるスキル、期待される役割~」について後半部分を紹介します。

1.テスト自動化スキル標準 AutomationTest.SSF 考えてます。 コヤマン(テスト自動化研究会)

(1)ポリシー

(1-1)Test.SSFとの関係は?

  特定非営利活動法人 ソフトウェアテスト技術振興協会(ASTER)及び一般社団法人 IT検証産業協会(IVIA)が策定したTest.SSF(@ASTER)/(@IVIA)とは

(1-2)目的

 現場の人が「学習するための指標」を作れるようにすることを目指す。何が弱くて、何を勉強すればよいかが分かるようにする。

(1-3)想定しているもの。

 レーダーチャートで表現。

(2)状況

(3)自動化のスキル

 AutomaitonTest.SSF樹形図

(3-1)テスト自動化関連の管理
(3-1-1)上手くテスト自動化を進め、維持する。
  • 計画の策定
    • 各領域の見積もりと計画
    • テスト対象のSDLC(System Development Life Cycle)との協調
(3-1-2)テスト自動化システム関連のトレーニング(教育)
  • スキル把握
  • カリキュラム
  • 教育の実施の管理
(3-1-3)テスト自動化関連の保守

 「テスト自動化研究会で多く議論出たもの」
ボトルネックになるところ。

  • テスト自動化システムの構成管理
  • 自動テストケースの構成管理
  • 変更管理
  • 不具合管理
(3-1-4)効果の予測・計測

 自動化KPIの設定と測定。

(3-1-5)フィードバック
  • フィードバックサイクルの構築
  • テスト自動化作業、プロセスへ
  • テスト対象プロダクトへ
  • ふりかえり
(3-2)テスト自動化戦略の策定
(3-2-1)策定準備
  • 技術蓄積
  • テスト要求の分析
  • テスト自動化の方向性分析
  • テスト自動化の効果の補床
(3-2-2)戦略の策定
  • テスト自動化要件の定義
  • 目的の策定
  • SUTの状況把握、調整
  • アプローチ決めなど

 どうやって、いつツールを使うか?

(3-3)テスト自動化システムの開発

 「テスト自動化システムを作る。」

(3-3-1)自動化システムの設計
  • システムアーキテクチャ設計
  • 実行プロセスの設計
  • 自作部品の設計
  • 運用ルール
(3-3-2)実装
  • テスト容易性向上
  • ツールチェインの実装
  • 実行環境の構築
(3-3-3)検証と妥当性確認
  • テスト自動化システムの検証
  • 妥当性確認
(3-4)自動テストケースの開発・実行
  • 「自動テストケースを作り、実行する。」
    • 特定目的のために自動化されたテストケース。実行されるテストコードやテストスクリプト
  • 自動テストケースの開発
    • テストケース設計
    • 環境構築など
  • 自動テストケースの実行

(4)テスト自動化システム

  • Monitoring
  • Drive
  • Judge
  • Report
  • Initialize
  • Teardown

(5)役割

(5-1)キャリアやロール

 検討中。

(5-2)検討対象
  • 自動テストコード作成
  • テスト自動化システムの開発
  • アーキテクト
(5-3)今後必要になってくる(かもしれない)役割
  • SBST
    • Search Based
    • ICST(International Conference on Software Testing)での研究
    • テストケース・戦略を探索理論で探索
  • 結果分析
    • 自動不具合分析
    • テストケースへ自動的にフィードバックして、テストデータやテストケースを変更など。

(6)展望

(7)言葉が定義できないと議論できない

 「パブリックコメントよろしくね!」by @snsk

所感

 自動テストに関する知見が体系化されると、自動テストを進めるときに「何を考慮すると、プロジェクトが上手く進められるか?」「現状から次の目標を達成するために何から取り組むか?」「陥りやすい罠はどのようなシチュエーションか?」が考えやすくなると思いました。今後の動向を気にしながら、開発チーム内での取り組みを考えていこうと思います。また、最後の「言葉が定義できないと議論できない」は、様々な技術コミュニティの課題ですので、開発メンバーやコミュニティメンバーが共有できるように土台作りを進めようと思います。