連載
» 2018年01月25日 05時00分 公開

モノ作りはアジャイルと相性が良い? デンソーの3つチャレンジに見るこれからの「開発」のヒントAI/IoT時代のソフトウェア開発〜ITとOTの出会う場所〜@IT Agile Track(2/2 ページ)

[高橋睦美,@IT]
前のページへ 1|2       

テスターは単なる品質評価担当者から、ビジネスの価値を高める役割へ

ヴェス 検証サービス本部 検証サービス部 マネージャー 皆越規仁氏

 長年にわたって検証・品質評価サービスを提供してきたヴェスによると、ソフトウェア開発の生産性を高めようとして、これまでのテストプロセスとアジャイル開発の融合を無理やり試み、失敗するケースは少なくないという。ヴェスの皆越規仁氏(検証サービス本部 検証サービス部 マネージャー)は、同社が相談を受けた、ある事例について説明した。

 それは、責任範囲や時期のずれに加え、「変更量が多く、テストがどうなれば正解かが分からず、何をテストしたらいいかが分からない」という事態に陥った事例だ。これに対し同社では、QAチームが関与する範囲を要件定義の段階まで引き上げ、振る舞い駆動開発(BDD)と受け入れテスト駆動開発(ATDD)といった手法にヒントを得ながらテスト戦略を変更する解決策を提案した。

 「この結果、QAチームの責任は重くなったが、活動の整合性が取れ、自分たちが何をやっているかが分かりやすくなり、成果が出しやすくなった。また構造を網羅するのではなく、一定の受け入れ基準を満たすことを目的にしたため、仕様変更に対する柔軟性も保てるようになった」(皆越氏)

 別のケースでは、開発プロセスのトレーサビリティーを確保する厳密なプロセスと、スクラム開発によるスピード感をいかに両立させるかが課題になった。そこで、テストプロセスを軸にした流れを組むとともに、テスターをスクラムチームの一員に加え、テスト結果、すなわちエビデンスをステークホルダー全員で共有するようにした。テスト担当者は、エビデンスやトレーサビリティーを管理し、スクラム内で情報を提供するハブの役割を果たすことになる。

 「これら2つの事例から、テスターの役割は従来と大きく変わってきたことが分かる。アジャイルテスターには、プロジェクト全体における要求の実現度合いを図る役割が求められ、これまでのスキルセットの見直しも必要になる」(皆越氏)

 具体的な問題解決の手段としては、バーンダウンチャートやKPT、かんばんといった従来知られてきた手法に加え、プランニングポーカー、バックログトレース、クライテリアベーステスト(受け入れテスト)といったアプローチがある。ヴェスでも「AgileTester Service」というサービスを提供している。

 「テストは従来の役割を超え、ビジネスそのものの価値を高める役割を担う。アジャイルテスターにも、クオリティーだけではなくコストやデリバリーも含めていかに製品の価値を維持し、向上させるかが求められる。ひいてはテストやQAといったプロセスとDevOps、製品のライフサイクルが一体となった『BizDevOpsQA』とでもいうべきスタイルを、ヴェスのような第三者も加えながら構築すべきだ」(皆越氏)

テストデータをすぐに用意し、開発の手戻りを減らして迅速なリリースを支援

アシスト データベース技術本部 ビジネス推進部 1課 課長 高瀬洋子氏

 DXの時代においては、いかに高い品質の製品やサービスを早く市場に届けるかという「タイムツーマーケット」が鍵を握る。長年、データベース領域でさまざまな製品・サービスを提供してきたアシストでは、その経験を生かし、データベースのテストデータマネジメントの領域で、アプリケーションやサービスの迅速なリリースを支援している。

 アシストの高瀬洋子氏(データベース技術本部 ビジネス推進部 1課 課長)は、「思ったよりも工数がかかり、プロジェクトが遅れるケースがある。その大きな要因は『手戻り』だ。この手戻りをいかに減らすかが工期やコストを削減するポイントであり、そのためにテスト手法やツールを組み合わせ、対策するケースが多い。われわれはそこに、テストデータマネジメントの観点で解決策を提供したい」と述べた。

 テストはなるべく本番で使われているものと同じデータを用いて実施することが望ましい。さまざまな不具合を洗い出し、エンドユーザーと同じ体験を再現することで、問題を早期に検出できるからだ。現状ではそのためのデータは、本番データをコピーしたりマスキング加工を施したりして活用するといった方法で用意されている。

 「しかし、そのプロセスには課題がある。開発者がリクエストしても数日から数週間かかり、すぐには手に入らないこともある。また、最新データでテストしたいと思ってもすぐには入手できないため、昔のデータを使い回すこともある」(高瀬氏)

 こうした課題に対しアシストは、本番データのスナップショットを取得して、開発環境やテスト環境で利用できるようにする「Delphix」によって開発者を支援する。Delphixを使うと、スナップショットを用いて、各サーバそれぞれにデータベースがあるかのように見せ掛けることで、ストレージ容量を節約しつつ、素早くテスト/開発環境にデータを切り出して提供できる。この際、マスキング加工を施したり、用途に応じて異なる時点のデータを切り出したりするといったことも可能だ。

 例えば米StubHubでは、Delphixの採用によって、アプリケーションのリリースサイクルを月次から日次に高速化したという。

 「時間と品質、セキュリティやコストといったテストデータに求められる要件を満たし、データに起因する不具合を素早く検出する環境を整え、手戻りを少なくできる。結果として、アプリケーションの素早いリリース、デリバリーを可能にする」(高瀬氏)

網羅性のあるテストデータを用い、開発の早いフェーズで問題の検出と品質向上を

ニッセイ情報テクノロジー ITソリューション営業本部 営業課長 吉永潤氏

 DXの波に乗ってビジネスとITの一体化が進む中、「限られた時間で品質をいかに保つか」は、ここ数年、企業にとって大きな課題となっている。ニッセイ情報テクノロジーの吉永潤氏(ITソリューション営業本部 営業課長)も、その見方に同意見だ。

 特にポイントになるのは「テストの工数をいかに減らすか」だ。非効率なテストを行っていては、すり抜けた不具合がリリース後に発覚し、修正に膨大なコストがかかる恐れがある。

 「こうした背景から、より早い段階でバグをつぶす『シフトレフト』という考え方に注目が集まっている。より早いフェーズで、網羅性のあるデータを用いてテストを行って問題を洗い出し、品質を高めなければいけない」(吉永氏)

 短時間で効率的にテストを行い、目的を達成するため、例えば「Selenium」のようなテスト自動化ツールや、テストパターンの効率の良い組み合わせが提案されてきた。さらに、クラウドサービスや「Chef」「Ansible」といった環境構築ツール、CI/CDツールの普及によって、テスト環境の準備や実行も比較的容易に行えるようになっている。

 「最後に残る課題が『データをどう用意するか』だ。小さなテストデータならばともかく、巨大な顧客データを扱う場合には、いかに網羅性の高いテストデータを用意するかが課題になる。ニッセイ情報テクノロジーは、バックアップを活用した『コピーデータ仮想化』を実現する『Actifio』によって、この問題を解決できる」(吉永氏)

 Actifioは、システム障害やミスに備えたバックアップデータと、開発・テスト用のコピーデータを仮想化し、統合して管理できるようにするソフトウェアだ。バックアップしたデータを仮想コピーとしてマウントすることにより、ストレージコストを増大させることなく複数の開発環境、テスト環境から同時に利用できる。テストデータの用意も数分で行え、申請ワークフローや作業依頼なしに、短期間でデータを準備できる。ログを利用し、週次・月次といった特定タイミングのデータを再現してテストを行ったり、休日に最新の本番データを用いてテストを行ったりすることも可能な他、安価なオブジェクトストレージやクラウド環境にデータを保管する機能も備えている。

 「コピーデータの仮想化により、開発者は開発期間を短縮して品質向上のための期間を確保できる。また基盤や運用担当も、突然のテストデータリクエストに慌てることなく、日常の業務にフォーカスできる。ニッセイ情報テクノロジーでは、その運用を支援していく」(吉永氏)

後編は、三菱UFJフィナンシャル・グループのAPI開発事例など

 セミナーレポート後編では、特別講演の三菱UFJフィナンシャル・グループのAPI開発事例と幾つかのベンダーセッションの内容をお届けする。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。