開発プロセスの自動化

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

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

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

でもそんな簡単なものではありません!

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

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

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

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

関連情報