アジャイル&スクラムでの自動テスト

アジャイルプロジェクトでは、テスト自動化をいかに迅速に行うかが重要です。ロジギアは、ソフトウェアのライフサイクルの上流にテストをシフトし、同じ開発プロセス内で自動化を実行できる環境を提供します。

 
  • テストモジュールの開発
  • インタフェースマッピングの設計/再利用/再利用
  • アクションの設計/再利用
  • テスト実行

 

まあこんな絵を検証会社は書いたりしています、Agileの人も喜ぶように。

でもそんな簡単なもんじゃないっす!

Agileでテストをちゃんと行う難しさには以下のようなものがあります

  • Scrumだからドキュメント書かなくていいいって主張する間違った人がいる
  • 単体テスト書きゃいいって思ってる人がいる
  • Scrumだから、2週間何回か回してバーンダウンチャートがゼロになれば出荷してもいいと思ってる人がいる(システムテストしないのですか?)

この辺間違ったやり方をやると、実はウォーターフォールより抜群に質の悪いのがAgileだったりします。当然バグは後半で出て、品質は安定しない。そんなプロジェクトをたくさんロジギアは見ています。ウォーターフォールでもAgileでも品質にかけるコストはソフトウェア開発の半分かかります。品質のことを考えずにAgile・Scrumを行っていくのは無謀です。なのでAgile開発前にしっかりとした品質計画を立てるべきです(Kent Beckの本には書いてないですが)。

  • しっかりとしたdaily build(check in build)の用意をする。
  • 最低限ビルドごとのsmoke testもしくはAPIテストを用意する
  • クラス図・状態遷移図・シーケンス図だけは最低限書かせる(なにも言わないと書いてくれないので、テストの人が開発チームに言い、それをテストチームがレビューする)
  • 2週間のイテレーションが終わったら、設計図・要求仕様通りに実装しているかチェックをする(テストの人がちゃんとチェックしないと、エラーケースが全然ハンドリングできてないものが出てきて、それが最後の統合テストで見つかり、とんでもないことになってしまう)
  • 要求仕様を書いてもらう。Agile・Scrumでは要求仕様の変更はOkだが、書かなくていいなんて誰も言っていない(例えホワイトボードでもいいので)

 

 

品質保証と最新のAgile

CDで知るべきすべてのこと

HalliburtonはTestArchitectとAgile開発環境でバグを97%減らしました