セキュリティは、ソフトウエア品質を決める重要な要素だ。テクマトリックスの酒井喜彦氏は、セッション「開発プロセスへの統合がセキュリティの品質を高める〜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開発に新たな時代を開く「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.