2019年5月に発売10周年を迎えた動的テストツール「DT10」。前回の記事では、DT10の機能向上の歩みを振り返りました。
おかげさまで10周年! 動的テストツール、これまでの歩みを振り返ってみた。

今回は、DT10の構想を最初に考えた、ハートランド・データ 代表取締役社長の落合に話を聞こうと思います。
落合社長は、ハートランド・データの創業時からわりと最近まで、ソフトウェア開発部隊の長を務めてきたバリバリのエンジニアです。普段は、パーテーションの無いフラットな開発室から地続きの社長室にいます。ドアも全開です。チケットが無くても、握手券が無くても、いつでも会いに行ける社長です。

さて、私、高松はDT10発売当初から営業におりましたが、DT10が作られた経緯は先輩社員に又聞きしただけだったので、あらためていろいろ聞いてみたいと思いました。
どうしてDT10を作ろうと思ったのか?今後はどんなことを考えているのか?リアルな話を聞きたいと思います!

テストをしっかりしなきゃソフトウェアエンジニアが報われない

高松:今年、動的テストツールDT10が10周年なので、ブログに特別な記事を載せたいと思って、今日はお時間を頂きました!

落合:なるほど!

高松:ハートランド・データといえば、元は受託のソフトウェア開発がメインの事業で「システム設計部」しかありませんでしたよね。私もその時代に入社しました。そんなハートランド・データで、どうして動的テストツールを作ろうと思われたのでしょうか?

落合:そうですね……。ソフトウェア開発をしていて不具合が減らないので、どうすればいいかっていうことを常に考えていて。不具合減らないよね!いつまで経っても!

高松:はい、当時の記憶がよみがえります(笑)。

落合:特に開発終盤になっても不具合が減らない。やればやるほど問題点が出てくるってことが起きていて。じゃあどうすればいいのかなって考えた時に、やっぱりソフトウェアがどんな風に動いているかをリアルで実感しないと難しいよねと思って。
それで、ソフトウェアはどう走っているかっていうログデータをアウトプットして、それを分析できるようなツールが必要なんじゃないかなって提案しました。

高松:実際に落合さんが開発現場を見ていて、改善したいという想いから生まれたのですね。その頃は、大規模かつ、リアルタイムOSを使ったプロジェクトが走っていたと記憶しています。

落合:そうですね。引き金となったのは、死ぬかと思った三連発プロジェクト(笑)。開発終盤になっても指摘事項が減らないどころか増えていく。恥ずかしいバグが出てきたら死にたくなっちゃうよね(笑)。僕は何でこんなところを間違ってしまったのだろう、穴があったら入りたいってね。
これからはテストをしっかりしなきゃ、ソフトウェアエンジニアが報われないと思った。

高松:ソフトウェアエンジニアのために作られたツールなのですね。

マルチプロセッサ時代 ソフトウェアの動きは誰にもわからない

高松:今でこそ動的テストツールという言葉も一般的になってきた印象ですが、発売当初は似たようなツールはほぼなかったですよね。業界的にもこういったツールが必要とされるようになってきたのにはどのような背景があるのでしょう?

落合:10年くらい前からかな。マイコンにOSが搭載されるようになって、とたんにデバッグツールが弱くなったよね。

高松:弱くなったとは?

落合:J-TAGエミュレータとか単にアプリケーションをダウンロードして動かすだけで、ソースコードを追いかけるためのステップ実行ができなくなっているとか、変数の内容が見られないとかさ。

高松:ちなみに私が開発していたころはFull ICEが主流でしたが……。

落合:Full ICEって、エミュレーションチップを別に起こしてデバッグの仕組みを作っていたのだけど、そんなことしていると開発スピードが間に合わなくなった。あと、内部クロックが100MHzとか1GHzで動くようになって、エミュレーションできないよねって。
ハードウェアがどんどん高性能になってくるのに、どういう風にソフトウェアの動きを正しく証明するのかが模索されていた。

高松:CPUが高性能になりすぎて、デバッガが追いつけなくなってしまったのですね。

落合:今はもっとすごいよね。CPUがマルチプロセッサ時代に入って、ハードウェアのロジック信号の動きとソフトウェアの動きがリンクしなくなっちゃった。マルチCPUでは並列実行していくけど、どこが動いているのか誰もわからない。

高松:なるほど。そのような現状があって動的テストツールのような仕組みが必要になってきたのですね。
ちなみに、DT10のような動的テストツールを使っていないところはどうやってデバッグしているのでしょう?

落合:printfでがんばっているよね。ソースコードにprintfとかアウトプットする仕組みを入れて、UARTや内部メモリに吐き出したのを後から確認するとか。各社いろんなことをやっている。
でも、ここ動いたよねって確認はprintfでいいけど、「本当にすべてのケース動かしましたか?」っていうカバレッジ計測になると全然追いつかないよね。

ダイバーシティに対応できるテストツールを提案したい

高松:発売10周年を迎えてDT10としての製品は完成に近づいてきたのかなという印象がありますが、今後何に力を入れようとお考えですか?

落合:DT10の発売当初からハートランド・データが目指しているのは、作られたソフトウェアに不具合がないことを証明したいっていうことです。不具合がないことを証明したい。そのために、すべてのケースは通しましょうと言ってきました。

しかし、そうは言っても、DT10だけだと難しいなって最近は思っているかな。他のアプローチも付加しないと証明できない。
そこに対して、機能安全のプロセスに沿ったソフトウェア開発(DiET)とか、リグレッションテストの自動化(テスト自動化ソリューション)とか、いくつかアプローチの仕方があると考えていて、そこに力を入れている。
テストツールもこれからは ダイバーシティ(多様性)の時代。ターゲットとなる開発がみんな一緒じゃないから、それに対していろいろアプローチを考えないといけないし、それに対応するようなテストツールも我々は提案していかないといけないよね。

ちなみに新しいハードウェアも考えています。これ言っちゃってよかった?

高松:ブログにも掲載されているので大丈夫なはずです(笑)。

探究 – 次世代Dynamic Tracer#1
探究 – 次世代Dynamic Tracer#2

最後に一言お願いします。

落合:みなさん、いろいろなことで困っていると思いますが、ハートランド・データはそれを一つ一つ解決していく会社を目指しています!

インタビュー後記

あらためて、DT10の誕生秘話や、思い描いている未来のお話を聞くことができてよかったです。今無いものを、お客様のために、時代を先取りしながら素早く提供したいというハートランド・データの経営理念を根底に感じられるお話でした。

動的テストツールやテスト関連のサービスについて、もっと話を聞きたい!と思われた方、私たちと直接お話してみませんか?開発環境やお悩みに合わせたご提案をさせて頂きます!