OSSはどんなもの?

オープンソースソフトウェア(Open Source Software)は、頭文字を取ってOSSと略されます。
作成者がソースコードを無償で公開していて、利用や改変、再配布が自由に許可されているソフトウェアのことです。

オープンソースですので基本、利用は無償です。
OSSは世界中のエンジニアが開発し、世界中で公開されています。
様々なソフトウェアが展開されており、意外と身近なツールでもコアな部分は、OSSが含まれるということはよくあることです。

OSSは無償ながら、高性能かつ信頼性が高いものが多く知られており、
企業が商用利用としてOSSを基に開発することも多くあります。
特にプログラミング言語や開発環境の分野には優秀なソフトウェアが多いため、
OSSは開発者にとってなくてはならない存在といえます。

 

テストツールはつかうべき?

テレワークが継続する昨今では、開発の手法も見直しが必要ですね。

各社毎に自社テレワーク環境に応じた品質確保、向上に取り組んでいるかと思いますが、
そのなかで、まずソフトウェアテストツールの使用を考えられるのではないでしょうか。

テストという作業の性質上、人月作業になる場合が間々ありますので、
効率化出来れば、費用対効果もその分、大きくなります。
テストツールが効果を発揮出来れば、作業が自動化され工数削減につながり、
エンジニアはもっと”考える付加価値の高い作業”にシフトすることが可能です。

またテストツールは有償、無償のツールがあります。
無償で始める方はOSSのテストツールを使用することが選択肢の一つです。
有償、無償のテストツールのメリット、デメリットがありますので、その特徴を理解して使用していくことが必要です。

 

テストツールあれこれ、有償/無償のポイントを理解して使おう

まずは有償ツールのポイントから。

有償ツールは、一般的にサポートが充実していて、マニュアルやサポートが日本語で用意されています。
費用は、数万円~数百万円と様々ですが、一般的に社内手続きを踏んだ上で購入となり、
実際に使うまでに時間がかかることがあります。

無償ツールは、基本はサポートがなく、何か困ったらWebで調査するということになります。
その為、基本的に使用は、自己責任が強いところがありますが、すぐ始められます。
初心者ではなく技術力があるエンジニアでないと使いこなせない場合がありますので、注意が必要です。

またOSSツールを使用するには、ある程度有名で実績があるツールを使うことをおススメします。
マニュアルや使用法を翻訳したものがWebにたくさん書かれていますし、
日本のコミュニティがあったりするので、何かと情報が豊富です。

本ブログでは、テストツールで有名なOSSツールをご紹介します。

 

代表的なOSS テストツール

1.ダイアグラム作成ツール:PlantUML

PlantUML(プラントユーエムエル)は、UMLダイアグラム作成用のツールです。
設計に必要なダイアグラムを素早く作成できます。
(参考:https://plantuml.com/ja/)

主な機能/特長
以下のダイアグラムが作成できます。
・シーケンス図/ユースケース図/クラス図
・コンポーネント図/状態遷移図(ステートマシン図)
・オブジェクト図/配置図 など

所感
テストツールかと言われると少し疑問があるかもしれませんが、テスト設計を考える上で必要なツールとして紹介しました。
設計フェーズにおけるダイアグラム図作成を効率化、標準化したい方におススメです。

使用者
仕様設計者、プログラムエンジニア、テストエンジニア

使ってみた記事はコチラ ↓


OSSのモデリングツール「PlantUML」使ってみた。

手間をあまりかけずに、ソフトウェア設計ドキュメントを作りたい、プロセス化したいという方におすすめです。

読んでみる

2.単体テストツール:Google Test

Google Test(グーグルテスト)は、正式にはGoogle C++ Testing Frameworkで、
Googleが提供するC++用の単体テストの自動実行を可能にするフレームワークです。
以下のような形でテストコードを記載し、結果を出力確認するような仕組みです。
(参考:http://opencv.jp/googletestdocs/primer.html)

主な機能/特長
・単体テストができる。
・自動でテストスイートを作成する
・日本語ドキュメントが充実している

所感
OSSの単体テストといえば、Google Testということで、組込みからアプリケーションまで幅広く使われているツールです。マニュアルも有志で日本語化されており、有名な単体テストフレームワークです。まずお手軽に単体テストを始めたいという方におススメです。

使用者
プログラムエンジニア、テストエンジニア

使ってみた記事はコチラ ↓


OSSの単体テストツール「Google Test」使ってみた。

組込み機器開発にも利用でき、環境構築も用意に可能です。ただ、運用まで考えると適用は慎重に…。

読んでみる

3.静的解析/統合ツール:SonarQube

SonarQube(ソナーキューブ)は、
スイスのSonarSource社が主に開発を行っている統合的なプログラム品質管理を行える品質管理ツールです。
(参考:https://www.sonarqube.org/)

主な機能/特長
・プログラムの文法チェックなどの静的解析ができる。
・単体テストができる。
・プログラムチェック方法はプラグインとして自分自身で拡張が可能。
・チェック方法やチェック結果はWebで確認することができる。
・CI環境に組み込み、継続的な品質チェックを行える。

所感
SonarQubeについては、静的コードチェックから単体テスト、結果をWeb表示することができるので、
CIとの組み合わせを考えている方におススメです。
カスタマイズ機能があるので既に保有しているテストツールの結果も表示することができます。
プロジェクトのテスト結果表示まで考える方はおススメです。

使用者
プログラムエンジニア、テストエンジニア、テストマネージャ

4.テスト自動化ツール:Selenium

Selenium(セレニウム)とは、Webアプリケーションのテスト自動化を実現するブラウザ駆動型テストツール群です。
(参考:https://www.selenium.dev/)

主な機能/特長
・Webアプリケーションのテスト自動化が可能(主要ブラウザに対応)
・自動で画面キャプチャを保存できる
・Webベース管理タスクの自動化に利用可能
・豊富なテストスクリプト作成機能がある(ブラウザ操作/HTML記述/開発言語ベース)

所感
Webブラウザでのテスト自動化で、まず選択肢に入るのが Selenium かと思います。
回帰テストに有効なツールですので回帰テストの工数に悩まれている方は、使用をおススメします。

使用者
テストエンジニア、テストマネージャ

5.テストケース管理ツール:TestLink

TestLink(テストリンク)は、Webベーステスト管理システムです。
(参考:http://testlink.org/)

主な機能
・テストケースの登録/管理/評価実行/評価結果の集計を行うことが可能
・登録したテストケースを仕様書の形で出力可能
・要求仕様を登録しテストケースと関連づけが可能
・様々なツールと連携可能

所感
テストケース管理が必要となるのは、色々なツールを使用した後かもしれませんが、
テストケースが膨大にある場合やリリース毎のテスト管理に苦労している方におススメします。

使用者
テストエンジニア、テストマネージャ

 

まとめ

今回は、有名なOSSテストツール5つをご紹介しました。
このほかにもたくさんのテストツールのOSSがありますので、ご興味がありましたら、ぜひ探してみてください。

気をつけたいのは、
これだけあるOSSのテストツールでも「自社にすぐ適用できるようなテストツールは中々存在しない」ということで、
やりたい事を絞るなどする工夫が必要であり、ツールとユーザーが歩み寄ることが大切です。

自信がある方は、OSSの改変(もちろんライセンスの範囲内で)に挑戦してみてもいいかもしれません。


気軽に受けられる、40分の技術ウェビナー!

様々な組込み機器開発を請け負ってきた、弊社ハートランド・データ。 その蓄積を凝縮した、多彩なWebセミナーを皆様にお届けします!

詳細はこちら!

【好評御礼!無料のウェビナー!】

近年の組込み機器開発の現場では「テスト自動化」が進んでいます。
しかし、いざ自動化に取り組もうとしても、
「具体的な実現イメージが湧かない・・・」
「テストケースの作成段階では作る人によってバラつきが出てしまう・・・」
「ターゲットごとのテスト環境の構築が大変・・・」
といった課題をお持ちの方は多いのではないでしょうか?

そこで今回のセミナーでは、
お手持ちのラズパイを使って「かんたんに」「低コストに」テスト自動化環境の構築を実現できる
「AUTOmeal(オートミール)」をご紹介します!

> ご視聴はコチラ!