事例: CMS向けの自動化テスト

クライアント

クライアントは、業界で最も広範な国際テレビ事業を展開している大手メディア企業で、世界中に情報を発信し、視聴者を楽しませたり感動させたりするような質の高いコンテンツを提供しています。

ビジネスニーズ

非エンジニアの社内ユーザーが、マルチメディア素材をマスメディアに公開する前に、インポート、共有、バージョン管理のプロセスをワンストップで管理できるWebインターフェイス・アプリケーションのソリューションと、それを提供できる単一のオフショアパートナーを求めていました。また、このシステムは以下の機能をサポートする必要がありました。

  • 自動化されたテンプレート。
  • 既存のデジタルアセットマネジメントとの統合。
  • WYSIWYG(What You See Is What You Get)編集ツールにより、技術者でなくてもコンテンツの作成・編集が可能であること。
  • 1つのコンテンツの複数のバージョンを追跡・管理する機能。
  • コンテンツへのアクセスをサポートするために、コンテンツをプレビューし、リポジトリに公開する機能。
  • 記事公開のためのワークフロー。
  • 複数のプラットフォーム(WEB、PDA、モバイル、インタラクティブTV)をサポートすること。
  • 保守フェーズでは、本番までの時間を短縮するために、各プロダクションリリースに必要なリグレッションテストを自動化することが求められました。

 

課題

膨大なデータベースを効率化のために再構築するという作業は困難な作業であり、私たちは以下の課題を把握しました。

  • 出発点は、漠然とした要求であったこと。
  • システムが複雑で分散していたこと。
  • 極めて密なコミュニケーションを必要とするタイプのプロジェクトであること。
  • 非常にタイトなスケジュールのため、大規模なチームが必要になること。

 

ソリューション

コスト削減と同様に時間も重要であったため、FPTはオンサイト・オフショア・モデルを採用し、18名のスタッフからなるチームが10ヶ月でプロジェクトを完了させました。ビジネスアナリストのチームが1ヶ月間オンサイトで作業を行い、要件だけでなくビジネスユーザー(コンテンツ制作者、プロセスオーナー、IT部門など)の強い関与について調査しました。その内容がチームに伝えられ、設計、コーディング、テストの分野が決定されました。
FPTのチームは、IBM Websphere 5.0、Oracle 9i、TEAMS 5.0を使用してエンドツーエンドのコンテンツ管理システムソリューションを提供し、Sun Solaris 2.9 Server上でシステムを開発しました。
この新しい構造は、開発とテストのステージがオフショアに、設計とユーザーアクセプタンスがオンサイトに配置されているという、ライフサイクルステージ間の自然な関連性を利用することを目的としています。このモデルは、迅速な納品と統合のメリットを享受するために、お客様と一緒に考案されました。
プロジェクトの進捗状況を確認し、リスクを軽減するためのPMレベルの定期的な電話会議や、要件やソリューションを議論するための技術レベルの電話会議は、チームとクライアントの現場を結ぶ安全で信頼性の高い通信リンクを介して行われました。
FPTのチームは、受け入れテストが完了した後の3ヶ月間、システムの導入と保守をサポートしました。
自動化テストにはWATIR (Web Application Testing in Ruby)を使うことにしました。

メリット

  • 技術スタッフに必要なリソースとコストを削減。
  • 非エンジニアでも自分で作業を行うことができるようになった。さらに、何を公開するか、いつ公開するかを完全にコントロールすることができるようになった。
  • 自動化されたパブリッシングプロセスにより、すべてのマルチメディアアセットのフォーマットとスタイルが同一になった。
  • サイトコンテンツのメンテナンスを分散化し、ボトルネックを軽減。

プロジェクトでのWATIRの適用について。
成果:

  • プロジェクトの70%のテストケースがWATIRによってカバーされた。
  • 各リリースのリグレッションテストにかかる時間が1週間に短縮された(前回は約3週間かかっていた)。テストスクリプトは顧客規模のUATでも再利用できるため、本番までの時間が短縮された。
  • テストにかかる時間が短縮されたことで、テストやバグフィックスに時間をかけられるようになり、リリースの重要なケースに時間をかけられるようになったため、品質が向上した。

デメリット

  • テスターはRubyの学習が必要となった。
  • 最初にRubyのテストスクリプトを書くのにコストがかかった(しかし、後にスクリプトが再利用され、さらにテストの実行時間や労力が削減されることで、コストや時間が節約された)。
  • Rubyには、IEブラウザにしか対応していないことや、一部のUIコントロールに対応していないこと、テキストの長さに制限があることなどのデメリットもあった。

 

活用したテクノロジー

  • J2EE, Oracle 9.2.0.2, Sun Solaris 9, TEAMS 5.0
  • HTML, Java, JSP, JavaScript, XML, JSLT 1.0
  • Struts, IBM WebSphere 5.0 studio, VSS, ErWin 4.0
  • Ruby, WATIR