JAXA、サイバーエージェントが考える「品質向上」と役立つツール:ソフトウェア品質向上の“変”2015秋(前編)(2/2 ページ)
2015年10月に開催された@IT主催セミナーより、前編となる今回は、JAXA主任研究員の植田泰士氏やサイバーエージェントのチーフクリエイティブディレクターの佐藤洋介氏による品質向上への取り組みに関する講演、品質向上に役立つ考え方やツールを紹介した各講演をお伝えする。
開発プロセスにセキュリティテストを導入する方法
セキュリティは、ソフトウエア品質を決める重要な要素だ。テクマトリックスの酒井喜彦氏は、セッション「開発プロセスへの統合がセキュリティの品質を高める〜VERACODEで実現する脆弱性検査の自動化〜」の冒頭で、Veracodeのセキュリティリポートを取り上げた。Veracodeは、アプリケーションセキュリティにフォーカスしたクラウド型テストソリューションだ。
そのクラウドサービスで顧客が実施した脆弱性検査を分析したところ、2万2430のWebアプリケーションのうち67%でXSSの脆弱性が、32%でSQLインジェクションの脆弱性が検出された。また、iOSアプリで最も検出されたのは情報漏えいに関する脆弱性で62%、AndroidアプリではCRLFインジェクションの脆弱性がトップで37%、JavaアプリケーションやPHPアプリケーションでもXSS脆弱性が多数検出されているという。脆弱性をそのままに公開していたら、サイバー攻撃や情報漏えいにつながっていた可能性がある。
セキュリティ上の問題は、開発段階でつぶしておくことが理想的だ。「開発プロセスにツールを使ったセキュリティテストを組み込むことで、開発者のスキルセットに依存しない効率的なテストが実現する」(酒井氏)
Veracodeでは、最初に診断ポリシーを設定し、アプリをアップロードしてクラスライブラリやフレームワークなどの不足をプリスキャンし、その後に診断を実行して、リポートからポリシーに対する適合状況や脆弱性などを確認する。トップリスクのランキングの他、深刻度別に脆弱性数を見ることができる。脆弱性は、ローカルのファイルビューアーからソースコードをチェックできる。JavaやRuby on Rails、モバイルOS、C/C++など対応言語は幅広い。また、VeracodeはJenkinsやBamboo、JIRAやBugzilla、EclipseやVisual Studio向けにプラグインを提供しており、診断の自動化も可能だ。
加えてテクマトリックスでは、POV(Proof of Value:導入前検証)プログラムを用意する。ヒアリングを通じて達成目標の設定や環境の確認、スキームやスケジュールを設定して、環境構築やテスト実行、改修を支援、総合レビューやリポートを提供することで、セキュリティテストを効果的に導入できるという。
サーバーを再起動することなくJavaアプリの検証を可能にし、業務を大幅改善
ソフトウエアの品質を開発時間の短縮という視点から見直すことを提案したのは、インフォメーション・ディベロプメントのフレデリクソン・ローゲル氏だ。
『Java開発者はもう待たない! Java開発に新たな時代を開く「JRebel」』と題したセッションで、ローゲル氏はJavaプログラミングのサイクルにおいて、ビルド/コンパイルとデプロイで生じる待ち時間は開発者一人当たり1カ月で約23.3時間も発生し、1年では約5週間の「無駄な時間」が生まれていると述べた。加えて、コード変更を加えて再デプロイした後の検証作業でも、確認したい画面へたどり着くにはログインから始めなければならず、「これは1カ月で約7000クリック、約4時間の無駄になっている」(ローゲル氏)
こうした無駄な時間を削減し、時間を品質向上などのより有効な作業に回せることはできないか。それを実現するツールとして、ローゲル氏はZeroTurnaroundの開発支援ツール「JRebel」を紹介する。
JRebelは、アプリケーションサーバーを再起動することなく、開発中のJava製Webアプリケーションを検証できるツールだ。これにより、再ログインや画面遷移のクリック操作を一掃する。ツールはJavaクラスの他、100以上のフレームワークのリソース、プロパティ、アノテーションに対応し、EclipseやIntelliJ IDEA、Netbeansのプラグインを提供するなど幅広い開発環境をサポートする。
JRebelはオンプレミスへの導入の他、クラウドにも対応している。対応するクラウドサービスは、Red Hat OpenShift、IBM Bluemix、AWS、SAP Hana Cloudだ。
開発者ライセンスは年間4万8000円(税別)で、エンドユーザーとなる開発者情報を事前登録してライセンスキーを一括発行する「Dedicated License」と、無料のライセンス管理サーバーをインストールしてライセンス発行する「Managed License」の2種類から選択できる。前者は中小規模企業に、後者は大規模企業に最適とのことだ。
サイバーエージェントが実践するサービスデザインの品質管理
ランチセッション「スマホサービスにおける、デザインの心得と組織の作り方」では、定額制音楽配信サービス「AWA」やWebサイト無料制作サービス「Ameba Ownd」などの新サービスを次々送り出すサイバーエージェントの佐藤洋介氏が、最新のサービスデザイン事情やその品質管理について熱く語った。
ユーザビリティの品質という面では、佐藤氏はスマートフォンのUIを例に説明。例えば、色を反転させることで「チェックしたかどうか」を表す部品があるようなUIでは、ユーザーの離脱を招くケースもあるという。「部品をタップした直後ならチェックしたものかどうかが分かるが、時間を置いて再訪したユーザーは、チェックしたかどうかを忘れてしまう。このような場合は、色の違いではなく、昔ながらのチェックボックスのように状態変化が分かりやすい形状の違いをUIに表した方がよい」(佐藤氏)
サービス品質の担保の仕方については、「デザイン」「インタラクション」「プランニング」の三つの基軸で情報共有をしているという。
デザインでは、約30あるサービスに対して、ガイドライン順守やUIの維持、使いやすさ、即時性、新規性を月1でチェックし、ピクセル単位で細かく指示を書き、プロデューサーやチーム全員にフィードバックしているという。
「インタラクションでは、動きのスムーズさや過剰な演出の排除などを見る」と言う佐藤氏は、社内勉強会などを通じて最新のユーザー事情の意識共有を図る。
そしてプランニングでは、プロダクトビジョンが描けているか、ユーザーが“はまる”工夫がされているかなどをチェック。プロデューサー、デザイナー、エンジニアを巻き込んでモックレビューを行い、「いろいろな人の価値観を取り入れてブラッシュアップする」作業を行っている。
「テストしているそばから、ユーザーのトレンドは次々に出てくる。でも、惑わされることなく、シンプルマインドでデザインを考えることが品質担保につながる」(佐藤氏)
後編ではゴールドマン・サックス・ジャパン・ホールディングスの伊藤博志氏による特別講演の他、さまざまなツールを紹介した各講演を紹介する。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ゴールドマン・サックスが実践する「品質向上」の取り組みと役立つツール
2015年10月23日に開催された@IT主催セミナーより、後編ではゴールドマン・サックス・ジャパン・ホールディングスの伊藤博志氏による特別講演の他、品質向上に役立つ考え方やツールを紹介した各講演を紹介する。 - 「第3のIT」へと変革する時代に考えておきたい「品質」との付き合い方
2015年2月4日に行われた@IT主催セミナーより、JJUG会長鈴木氏による基調講演の模様や、弥生とYahoo!ショッピングの品質向上事例、各品質向上ツールの概要をお届けする。 - Yahoo!ショッピング 平田源鐘氏に聞く「eコマース革命」を支える高速PDCAサイクルの仕組み
@ITは2015年2月4日にセミナー「ソフトウェア品質向上の"変" 2015 江戸 〜今、変革のとき〜」を開催する。その事例講演に登壇予定のヤフー ショッピングカンパニー プロダクション本部 本部長/テクニカルディレクター 平田源鐘氏に「eコマース革命」の内部で、何が起こっていたのかを聞いた。 - ビジネス目標を見据えたテスト設計が肝!「DevOps時代のテスト自動化カンファレンス 冬の陣」開催
DevOpsの実践で肝となるソフトウェアテストの自動化。しかし@ITの読者調査でも50%以上が「テスト環境に課題あり」と回答した。これにどう対応すれは良いのだろうか? カンファレンス登壇者の言葉にヒントを探る。