アジャイルプラクティスが,従来的なテストの組織構造を破壊しようとしている。アジャイル開発者は定常的に,従来以上のテストを実施することができるので,QAプロフェッショナルは,開発チームの日々の業務に関与する必要がある – Forrester Research主席アナリストのDiego Lo Giudice氏は先日,自身のブログ記事 "Why agile development races ahead of traditional testing" に記している。
氏の指摘したこの傾向のとおり,QA専門家はこれまで以上にテストプラクティスに注目する必要に迫られている。
彼らには,テスト駆動開発のような高度なプラクティスにより深く関与して,変化する環境に適応していくことが求められます。自動テストや継続的ビルド,インテグレーションの増加が,開発者やテスト担当者の日々の行動に与える影響は重大です。
テストチームと開発チームを分離することは,アジャイル開発環境には相応しくない,と氏は言う。
テストチームを開発作業から分離した場合,ほとんどのテスト担当者は可能な限り多くのバグを見つけようとします – ただしそれが可能なのは,開発者がコードを書き終えてからです .....
テスト担当者と開発者を分離することで,彼らの作業を連続的なデリバリ・パイプラインにすることが難しくなるのです。
"Agile Testing: A Practical Guide for Testers and Agile Teams" の共著者であるLisa Crispin氏は,ノルウェーのベルゲン(Bergen)で行われたBooster Conference 2014で,"Changing Your Testing Mindset" と題したセッションを行った。そこで注目したのは,開発者とテスト担当者のコラボレーションだ。
バグを見つける,要件の満足性を確認する,ソフトウェアをダウンさせる .... ではなくて,
どうすれば "品質を作り込めるのか" を考えましょう。
氏は従来型のテストがアジャイルに劣る理由を説明した。
-
手動テストの項目数が多いため,デリバリが遅くなる。
-
システムの開発と結合が終了するまで,テストチームはテストを開始できない。残念ながら,プロジェクトがスケジュールより遅れることは珍しくないので,最後には作業の短縮や省略を行うことになる。
-
チームの作り出す技術的負債が多すぎる。開発サイクルの後半になってアプリケーションに大きな品質上の問題が見つかれば,オンタイムデリバリは間違いなく不可能になる。作業終盤の欠陥の発見は,再開発や開発放棄の確率増加に結びつく。
これらの理由から,アジャイル開発を遵守するために,テスト作業をシフトする必要がある。これらテストプラクティスのシフトは同時に,開発チームによるテストツール選択方法の変更でもある。これについて氏は,次のような見解を示した。
開発者は,自分たちのIDE(Integrated Development Environment)へのプラグインが容易なツールを求めます。一方でQAやその他のソフトウェア専門家は,抽象化レベルの高い,使いやすいツールを好む傾向があります。