テスト駆動開発(TDD:test-driven development)は,テストを中心にソフトウエアの開発を進める手法である。主に機能面の品質を上げることを目的とする。IBM社がJavaで開発したPOSシステム向けデバイス・ドライバの事例では,TDDを使ってソフトウエアの性能面の品質を上げる試みがなされた。開発中に継続して性能をテストすることで,結果的に高い性能を実現した。(大森 敏行=本誌)

Michael J. Johnson
E. Michael Maximilien
米IBM Corp.
Chin-Wei Ho
Laurie Williams
米North Carolina State University

 米IBM Corp.のPOSシステムは,10年以上もの間,小売業者に使い続けられている。POSシステムのシステム・ソフトウエアには,プリンターやバーコード・スキャナーといったPOSデバイスのドライバ・ソフトウエアが組み込まれている。

 これらのデバイス・ドライバのプログラムは,当初はC/C++で実装されていたが,JavaのプログラムからPOSデバイスにアクセスできるように,後に,C/C++のドライバの上にJavaラッパーが追加された。2002年には,IBM社のRetail Store Solutions部門が,異なるプラットフォームやバス(USB,RS-232,RS-485など)をまたがる接続を実現するために,主にJavaで記述したデバイス・ドライバを新たに開発した。