【Ultimate Agilist Tokyo 参加レポート】第3セッションB:アジャイル開発における、システムテストの自動化 #uatagile #uatagileB
- Ultimate Agilist Tokyo - 集え、日本の活動家たちよ。 - Ultimate Agilist Tokyo
- 2012/11/17 Ultimate Agilist Tokyo - アジャイル開発における、システムテストの自動化 #uatagile #uatagileB - Togetter
- 『Ultimate Agilist Tokyo - 集え、日本の活動家たちよ。-』に参加してきた #uatagile - Shinya’s Daily Report
登壇者
- 小井土 亨 氏 (TwitterID:@koido1961)
セッション内容
- 自己紹介
- プログラマ・業務パッケージシステムを開発
- 28年位やってます。PMもやってます。プログラミングも毎日しています。
- 開発ガイドライン作成/開発プロセス設計/ソフトウェアアーキテクチャを決定
- 開発上のいろいろな相談を受ける
- 最近Javascriptをはじめました!
- システムテストとは
- システムが全体として正しく動作することをテストする
- 様々な視点でのテストが必要、特に利用ユーザ視点
- エンドツーエンドシステムのテスト
- なぜ、エンドツーエンドテストなのか
- システムテストの結果
- 外部への出力
- 外部システムへの処理
- エンドツーエンドテストの特徴
- 実行時間が長い場合が多い
- テストの準備や結果判断は、システム外部も含めて行う必要がある
- ※手でやってない場合がある。確認してますか?大概してない。
- 対応策
- テストケースはメンバー全員で作成する
- 組み合わせがオススメ。powershell等を使っている。
- システムテストはUnittestだけだと諸々の作業を組み込ませるのが大変。
- ツールとシェルスクリプトの組み合わせでテストが書けるようにする
- やるべきこと
- 抽象度を上げる
- 一回空振りで実行し、結果を出す。その結果を次のテストの入力とする。TDD的では無いけども。
- デバッグ機能を強化する
- 抽象度が高い状況で確認出来るテストを作る
- 概要
- 製品機能として提供
- ドライブレコーダーなんかもそうですね
- 検査プロセスでの利用
- トレース方式でない、再現機能
- 自動テストだけでなく、テストケースの自動生成も考える
- 製品機能として提供
-
- デバッグ機能を作ったら、同期処理で動かせるようにするのが良い。
- 監視用のプロセスを設ける。
- デバッグ機能を作ったら、同期処理で動かせるようにするのが良い。
- 最後に
- 質疑応答
- TDD導入障壁に対する問題
- うちは(小井土さん自身が)やるっていってやってるけどw
- トータルで見るとコストが下がるからやる。
- Unittestを実施する中で続けていくと、困っている事と実現したい事をテストを先に書くことによって得られる恩恵は大きい。
- 新人が入ってきて品質が上がらない場合、テストコードのレビューをすることもある。
- 大リーグのコーチ方式:困っていないひとに何言ってもしょうがない。
- システムテスト自動化するなら、TDDは必須。
- 困ってる事を探そう。