開発ツールの本来の目的を考える

はじめに今回「開発ツールの最新動向に関して一筆」…というのが、編集部からいただいたお題でした。一口に最新動向とは言っても「オープンソースvs 有償ツール」とか「クラウド対応」などさまざまな切り口があり、何を書こうかと少々迷っていました。しかし、こういうときは原点回帰が大事です。「そもそも開発ツールと

藤井 智弘

2010年4月1日 20:00

はじめに

今回「開発ツールの最新動向に関して一筆」…というのが、編集部からいただいたお題でした。一口に最新動向とは言っても「オープンソースvs 有償ツール」とか「クラウド対応」などさまざまな切り口があり、何を書こうかと少々迷っていました。

しかし、こういうときは原点回帰が大事です。「そもそも開発ツールとは、開発者の作業負担を軽くするツールである」と位置づけると、「開発作業を阻害する要因」をどう捕らえているかで、大きな流れが見えてきます。

筆者が所属するRationalというIBMのソフトウエアブランドは、創立期から含めると30年以上もの間、開発者のためにさまざまな“道具立て”を提供してきました。近年、Jazzテクノロジーと称する技術基盤を新たに構築していますが、このコンセプトを見ると、これから対処すべき「開発作業を阻害する要因」が見えてきます。

本連載では、ひとつの切り口として、このJazzテクノロジーを通して、これからの開発ツールが備えるべき要件を考えてみたいと思います。

動画:GUI自動化テストツールの動作例

開発ツールの分類学(1)

「開発ツールは今後どこに向かっていくのか?」を論じる前に、「これまでは、何を課題としてきたのか?」を振り 返ってみましょう。

個人の生産性を高める

「開発ツール」という言葉からまず真っ先に思い浮かぶイメージが、「生産活動を直接効率化する」というものでしょう。

筆者が20数年前にソフトウエアエンジニアとしてキャリアを開始した当初は、紙に書かれた設計図から、エディタ+コンパイラ+デバッガの3種の神器でし こしことコードを書き興したものです(世間ではGUIベースのツールが出始めたころで、指をくわえて横目で見ていたものです /;o;)。

設計図からコードを書き興すには、不完全ながらある程度変換のパターンが存在します。開発ツールの切り口のひとつは、以下に挙げるような“生産の効率 化”です。

  • グラフィカルにGUIを作成すると、それを元にコードを生成する。
  • 各種の設計ダイヤグラム(UMLのクラス図やER図)から、それを反映した実装コードを生成する。
  • 生テキストでは詳しい人にしかわからない各種の設定ファイルを、ダイアログで設定する、等々。

“パターンを自動化する“という意味では、「定型的な作業を自動化する」という切り口もあります。代表的なモノは、GUIのテストツールでしょう。

アプリケーションがGUIを備えるようになって開発者の手間が増えたのが、テスト工程でした。”テスト手順書“にしたがって、テスターが「リストからあ るデータを選択」し「登録ボタンをクリック」し、「画面が切り替わった」ら「売り上げ欄が正しい値かを確認」する…この類の決まりきった手順を実施し続け るというのは、人が不得手とするものの代表です。

一見楽な作業に見えますが、しばらく続けると以下のような問題が発生してきます。

  • 件数が増えてくると、集中力が続かず、操作ミスのほうが無視できなくなってくる。
  • 同じテストを繰り返していると、きちんと確認せず、思い込みで「確認したような気になる」、いわゆる“みなし”が発生する。
  • なにより、手順のひとつひとつをテスト手順書と首っ引きで作業するので、とにかく時間がかかる。

時間がかかる割に、精度や再現性は決して高いとは言えません。これらを解決するのがGUIの自動化テストです(利用シナリオの視点で、“機能テストツー ル”や“回帰テストツール”と紹介されることもあります)。

自動化テストは、GUIオブジェクトとそれへの操作指示(クリックやデータの入出力)、チェックポイントの組み合わせを、何らかのスクリプトという形で 作成し、このスクリプトを自動的に実行するというものです。

スクリプト記述として何を使うか(XML、Javaプログラム)、スクリプトの作成を手作業で行うのか操作を記録するのか、ツールによってさまざまなや り方がありますが、一度準備ができてしまうと、実行効率は人の手に比べて十倍以上…ということも珍しくなく、非常に有効です。

上記のように、自動化はその適用範囲を着々と広げています。同様な仕組みでWebアプリケーションへの負荷テスト・性能テストでユーザーの操作シナリオ を自動実行してみたり、コードを解析したりして、単体テスト環境を作成するツール等の発展が今後も期待されます。

この記事のキーワード :

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30