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