ソフトウェアの開発をしていて、コードの内容が分からない、ドキュメントが無いといった「レガシーコード」を読みたいと思ったことはないでしょうか。
レガシーコードの内容を把握するために、動作確認を繰り返すのは、とても大変な作業です。
今回は、レガシーコードの内容を把握する際に心強い味方になる、C++testの機能の1つ
「アプリケーションモニタリング」について、ご紹介させていただきたいと思います。
実行時に様々なカバレッジを計測し、ソースコードを色分けして、実行・未実行を表示する機能に
なります。
特徴として、実機でもシミュレーターでも、ソフトウェアのカバレッジを取得することが可能です。
つまり、実機で動作させた後に、自分の目でカバレッジを確認することができます。
実行されたコードは緑、実行されなかったコードはピンクで表示されるため、一目で実行・未実行を
判別でき、デバッグ作業の大きな助けになります。
例えば、レガシーコードの中身を把握する必要がある場合に、レガシーコードを実行しながらカバレッジを取得することで、実際の動きとコードの流れを確認するというような使い方も可能です。
アプリケーションモニタリングの例として、ETロボコンで使用したEV3のカバレッジを取得した例を
ご紹介いたします。
ETロボコンについては、こちらをご覧ください。
今回は、EV3とPCをBluetooth接続し、カバレッジをEV3からPCへ送信する方法でカバレッジの
取得を行いました。
EV3を実行すると、カバレッジの情報がPCに送信され、受け取ったカバレッジ情報をC++testで
確認することができます。EV3が自由に動き回っている状態のまま!!
以下は、左がEV3の写真、右がEclipse版C++testのスクリーンショットになります。
この例では、EV3の行カバレッジを取得しています。
C++testでは、C0、C1、C2、MC/DCを含む以下の8種類のカバレッジを計測することが可能です。
・行カバレッジ
・ブロックカバレッジ
・ステートメントカバレッジ(C0)
・パスカバレッジ
・判断文カバレッジ(C1)
・単純条件カバレッジ(C2)
・MC/DC
・関数カバレッジ
C++testは、C/C++プログラムの単体テスト、カバレッジ計測、静的解析、フロー解析、実行時メモリエラー検出を行う総合的なツールです。
今回は、その機能の1つとしてアプリケーションモニタリングを紹介させていただきました。
C++testをご利用になっている方は、ぜひこの機能も利用してみてはいかがでしょうか。
もし、C++testをご利用いただいていない場合には、この機会にぜひお試しください。
テクマトリックスではツールのご提供のみにとどまらず、導入前の支援から、導入開始時における開発者向けのトレーニング、CI(継続的インテグレーション)環境構築など、運用に乗せるための様々なサービスも実施しています。
ご興味のある方は、お気軽にお問い合わせください。
ご興味のある方は、お気軽にお問い合わせください。