第15回 株式会社エルテックス 様

事例カテゴリー

株式会社エルテックス 様

開発本部 プロジェクト管理室 室長 山下 行雄氏
設計・製造・テストシナリオ生成のツール活用による効果と留意点

エルテックスでは、スクラッチ開発案件の生産性向上のために、上流設計においてXupper、開発ツールとして楽々Framework IIを活用している。BtoBオークション出品業務のサブシステム開発では、XupperのTQCAssistオプションを用いたテストシナリオの自動生成により、テスト項目の作成作業も効率化。今後は各ツールに習熟することで、生産性および品質のさらなる向上が期待される。

エルテックスの生産性向上に向けた取り組み

 ECサイトの構築や業務システム開発、マネージドクラウドサービスなどインフラ環境の提供を含めた運用保守、中堅・中小企業向けERP導入支援などのサービスを展開しているエルテックス。


 同社では、生産性向上のための取り組みとして、開発標準ガイドラインやコーディング規約の策定、各種ツールを用いた品質管理などのほか、パッケージを活用した効率的な開発を推進している。


 特にEC サイト向けには、「Xspeecs(クロススピークス)」、「east EC」といった自社開発のパッケージを有しており、「Commerce 21」の販売・カスタマイズも手がけている。

 生産性向上に向けたもう1つの重要な取り組みが、「製造の半自動化」だ。パッケージのカスタマイズでは対応できないスクラッチ開発が必要とされる部分についても、設計や開発等のツールを活用することで、できる限り手作業で作る部分を減らし、生産性と品質を向上することを目指している。


 その一環として、2009年より業務システム開発/Webアプリケーション開発基盤の「楽々Framework II」を導入。そして、2010年からは上流設計ツールとしてXupperを採用している。


Xupperと楽々Framework IIを連携させるメリット

 エルテックスではスクラッチ開発の大型案件について、上流工程はXupperで設計し、実装はC# ならMDFrame/X、Java の場合は楽々Framework IIを利用することを基本方針としている(図1)。

 これまで、顧客向け案件として実績があるのは、Xupperと楽々Framework II の組み合わせだ(Xupper + MDFrame/X は、社内用グループウェア開発において実績がある)。

 両製品の連携は、まずXupperを使って要件定義工程でBFD(ビジネスフロー図)を作成する。そして、「XupRaku2Bridge」という連携ツールでFD ファイル(データベース設計情報)を作成し、楽々Framework II に取り込む。

 楽々Framework IIではFDファイルをもとにプロトタイプを自動生成できるので、画面遷移やレイアウト、画面操作などの顧客レビューを迅速かつ効率的に行うことが可能となる。さらに、システムテストで使うテストシナリオは、XupperのTQCAssistオプションを用いて自動生成し、テスト工程の効率化も図る。

 Xupperは、規模が大きく業務の全体像が見えないシステムにおいて、BFD、論理DB、画面などを大まかに決め、ヒアリング、設計、レビューを回しながら、概要から詳細へと固めていくツールとして有効である。

 DBの物理設計まで行った後は、楽々Framework II でそのDBフィールドを用いて画面設計を行うことで、DBと画面との対応付けを誤るといったミスを防ぐことができる。

 そして、画面操作や項目のチェック、DBアクセスは楽々Framework II でカバーされるため、実装はビジネスロジックだけで済む。エルテックスがXupperと楽々Framework IIをスクラッチ開発における基本方針として取り入れている理由は、そこにあるという。

TQCAssistによるテストシナリオ自動生成の事例

実際にXupperにより上流設計とテストシナリオ自動生成を行い、楽々Framework II で実装した事例として、BtoBオークション出品業務サブシステムがある(図2)。

 これは、既存の販売オークション管理システムの拡張として、新たに開発したサブシステムだ。同サブシステムの開発においては、会員企業からの出品申込み、査定・審査、サイトへの展示などのビジネスフローをXupperで設計し、画面・操作設計、製造を楽々Framework II にて行った。

 開発規模としては、新規開発が14ks、既存システムの改造分が20ks。なお、既存システム流用(販売オークション管理システム)は45ksであった。

 テストシナリオは、BtoBオークション出品業務サブシステム用に作成した新規BFD分をTQCAssist で自動生成した後、一部を手作業で修正した。自動生成されたシナリオは計16ケース、139フローで、テスト項目数は699 項目。また、既存システムのテスト項目(639項目)は、すべて手作業で作成した。

ツール活用の効果と留意点

 TQCAssistによるテストシナリオ自動生成の効果としては、まず、テスト項目の作成作業が大幅に削減されたことが挙げられる。

 ある程度は手作業が必要となったこともあり、すべてを手作業で作成した場合と比べて削減された工数は約25%に留まったが、エルテックスでは今後、例えばTQCAssist による自動生成に最適な形でBFDを作るなど、ツールに習熟していくことで、50%程度まで削減が可能になると見込んでいるという。

 また、TQCAssistを使うことで、人間が見落としやすいルートや考えつかないルートも含めて、BFDのすべてのルートを網羅した全組み合わせのシナリオを生成できる点も大きなメリットだ。

 一方で、留意すべき点もある。例えば例外処理などのように、ルールで規定しているものをすべてBFDに書いていくと逆にわかりづらくなるため、省くものがある。このようなBFD に記載されていないルートについては、人手で作成しなければならない。

 また、ルートの全組み合わせの中には、あり得ない(実際には通らない)ルートも含まれているため、自動生成されたシナリオからそれらを削除する必要もある。エルテックスでは通常、社内品質計画の標準に従って、工程毎のレビューやテスト項目数と障害の検出計画を立て、品質の造込みを実施している。

 ただ、ツールを用いた開発の標準がまだ無い為、この事例では暫定的に通常の約半分のテスト項目でテストを実施した。結果は障害も社内標準の半分しか検出しなかったが、出荷後の障害も殆ど出ていない。

 このことからテスト工程の合理化にも効果があったと考えている。この事例での結果を踏まえ、山下氏は最後に「私見」として、XupperおよびTQCAssist、楽々Framework IIを活用した上流設計・製造・テストシナリオ自動生成について、次のようにまとめた。

・ 上流工程の設計、製造、テストシナリオ生成の各ツールを用いることで、
生産性を上げるとともに、人手を介さないことが品質の向上にもつながる。
・ 特に上流が固まれば、製造は自動化することができ、テストシナリオの生成も
可能である。
・ ツールをより効果的に利用するためには、各ツールの設計思想をよく理解し、
習熟しなければならない。
・ 開発するシステムも、ある程度はツールに合わせた設計にする必要がある。
・ 新規開発から導入するのが望ましい。また、大規模な開発であるほど効果も大きい。

 このBtoBオークション出品業務サブシステムを含め、エルテックスがこれまでに手がけたXupper活用案件は5件。まだそれほど多くはないが、今後も様々な案件においてXupperによる上流設計およびテストシナリオ自動生成、楽々Framework IIやMDFrame/Xによる実装について、評価を進めていくという。

jirei_download_2.png