コードジンのヘッダーが入ります
クエスト・ソフトウェア代表取締役社長の山岡英明氏は、ガートナーの調査データ「開発者の工数分布」を紹介。それによると、開発者の全工数のうち65%を占めるのがデバッグで、プルーフリード(コードレビューなど)が25%。コーディングの時間は、わずか10%に過ぎない。「だからこそ、テストをいかに行うかが、ソフトウェアの品質や開発効率に大きく影響する」と山岡氏は指摘する。
ソフトウェアテストには課題も多い。その1つとして挙げられるのが、テスト量の多さである。たとえば、コードレベルのテストでは、1行のプログラムコードに対して10行のテストコードが必要になる場合もある。そのため、複雑なテストはどうしても後まわしになってしまう。また、プログラミングではツールの利用や自動化が進んでいるが、テストに関しては、いまだに多くの開発者が1つ1つ手動で行っているのが実情だ。さらに、プログラム変更が発生した場合には、テストコードも併せて変更しなければならないという課題もある。
こうした背景からテストの標準化が望まれており、テストファースト(テスト駆動開発)などの手法も注目されている。これは、実装コードよりも先にテストケースを作成するというアプローチで、テストを先に考えることにより、そのテストに基づいたプログラムが作られることになる。山岡氏は、「ぜひこうした手法を取り入れて、開発プロセスの中でテストの標準化に取り組んでいただきたい」と推奨する。
ただし、このような標準化への取り組みは、方法論だけではなかなか成功させることが難しい。そこで必要となるのが、方法論をバックアップする仕組みだ。具体的には、優れた方法論やノウハウが組み込まれたツールを活用することで、よりスムーズかつ効果的に標準化を進めることが可能となる。
クエスト・ソフトウェアでは、テストの標準化をはじめ、ソフトウェアの品質および開発効率向上に貢献するさまざまなツールを提供している。特にデータベースの分野でよく知られているのが、Oracle Database向けのDB統合開発環境「Toad for Oracle」だ。同製品はPL/SQLのテスト自動化をはじめ、コードの開発・最適化・検証といった3つのプロセスでSQL性能改善のための強力な機能を提供。たとえば、ソースコードからプロアクティブに問題のあるSQLを特定し、コーディングのベストプラクティスを適用して、自動的にSQLをリライトしてくれる。また、変更時の影響分析や負荷テストなどにより、本番DBへの実装前にパフォーマンス劣化のリスクを検出することができるという。
他にも、クエスト・ソフトウェアでは、DBのパフォーマンス診断やボトルネック特定を容易にする「Spotlight on Oracle」、Toad for OracleからSQLのパフォーマンス最適化プロセスを一貫して支援する機能のみを取り出した「SQL Optimizer for Oracle」、DBの負荷テスト専用ツール「Benchmark Factory for Databases」などを用意している。山岡氏はこれらのツールについても簡単に触れながら、最後に同社が運営するDB技術者向けコミュニティサイト「Toad World」を紹介。
「Toad Worldには、PL/SQLやDB関連の書籍を多数執筆しているエキスパートたちが寄稿している。ツールの使い方だけでなく、テストや開発の手法、SQLチューニングの技術など、彼らの豊富なノウハウが詰まっているので、必ず役立つ情報が得られるはず。ぜひ一度、アクセスしていただきたい」とアピールし、セッションを終えた。