【Ultimate Agilist Tokyo 参加レポート】第3セッションB:アジャイル開発における、システムテストの自動化 #uatagile #uatagileB


登壇者

講演スライド

以下Facebook関連ページにPDF形式でアップロードされています。

セッション内容

  • システムテストとは
    • システムが全体として正しく動作することをテストする
    • 様々な視点でのテストが必要、特に利用ユーザ視点
  • システムテストの例
    • 運用テスト
    • などなど
  • システムテスト=エンドツーエンドテスト(end to end)
    • システムの端から端までをテストする
    • 全体として正しく動作することを確認するため
  • エンドツーエンドシステムのテスト
  • なぜ、エンドツーエンドテストなのか
  • システムテストの結果
    • 外部への出力
    • 外部システムへの処理
  • エンドツーエンドテストの特徴
    • 実行時間が長い場合が多い
    • テストの準備や結果判断は、システム外部も含めて行う必要がある
    • ※手でやってない場合がある。確認してますか?大概してない。
  • 対応策
    • 対処すべきシステムテスト
      • リリーズごとに繰り返されるテスト:前回までのリリースで提供した機能について、同じように動作する事を確認するテスト
    • 回帰テストリグレッションテスト)
      • 今回のリリースと前回のリリースで同じ事を確認する
    • 構成テスト
      • 様々な構成で同じテストを実行し、同じ品質であることを確認する
    • テスト自動化
  • 方針
    • エンドツーエンドを目指す
    • カイゼンを継続する
    • カイゼン対象に聖域無し
    • 完全性を持たず、改善を作業に取り入れる
  • テストケースはメンバー全員で作成する

 

  • やるべきこと
    • 抽象度を上げる
    • 一回空振りで実行し、結果を出す。その結果を次のテストの入力とする。TDD的では無いけども。
  • デバッグ機能を強化する
    • 抽象度が高い状況で確認出来るテストを作る

 

  • 概要
    • 製品機能として提供
    • 検査プロセスでの利用
    • トレース方式でない、再現機能
    • 自動テストだけでなく、テストケースの自動生成も考える
    • デバッグ機能を作ったら、同期処理で動かせるようにするのが良い。
      • 監視用のプロセスを設ける。
  • 最後に


  • 質疑応答
  • TDD導入障壁に対する問題
    • うちは(小井土さん自身が)やるっていってやってるけどw
    • トータルで見るとコストが下がるからやる。
    • Unittestを実施する中で続けていくと、困っている事と実現したい事をテストを先に書くことによって得られる恩恵は大きい。
    • 新人が入ってきて品質が上がらない場合、テストコードのレビューをすることもある。
    • 大リーグのコーチ方式:困っていないひとに何言ってもしょうがない。
    • システムテスト自動化するなら、TDDは必須。
    • 困ってる事を探そう。