OSSはどんなもの?

オープンソースソフトウェア(Open Source Software)は、頭文字を取ってOSSと略されます。作成者がソースコードを無償で公開していて、利用や改変、再配布が自由に許可されているソフトウェアのことです。オープンソースですので基本、利用は無償です。
OSSは世界中のエンジニアが開発し、世界中で公開されています。様々なソフトウェアが展開されており、意外と身近なツールでもコアな部分は、OSSが含まれるということはよくあることです。

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

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

テレワークが継続する昨今では、開発の手法も見直しが必要です。各社毎に自社テレワーク環境に応じた品質確保、向上に取り組んでいるかと思います。こちらを取り組む上で、まずソフトウェアテストツールの使用を、考えられるのではないでしょうか。テストといえば、人月作業になる場合が間々ありますので、効率化出来れば、費用対効果もその分、大きくなります。テストツールが効果を発揮出来れば、作業が自動化され工数削減につながり、エンジニアはもっと”考える付加価値の高い作業”にシフトすることが可能です。
またテストツールは有償、無償のツールがあります。無償で始める方はOSSのテストツールを使用することが選択肢の一つです。有償、無償のテストツールのメリット、デメリットがありますので、その特徴を理解して使用していくことが必要です。

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

有償ツールは、一般的にサポートが充実していて、マニュアルやサポートが日本語で用意されています。費用は、数万円~数百万円と様々です。一般的に社内手続きを踏んだ上で購入となり、実際に使うまでに時間がかかることがあります。無償ツールは、基本はサポートがなく、何か困ったらWebで調査するということになります。その為、基本的に使用は、自己責任が強いところがありますが、すぐ始められます。初心者ではなく技術力があるエンジニアでないと使いこなせない場合がありますので、注意が必要です。

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

代表的なOSS テストツール

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

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

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

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

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

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

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

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

所感
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ツールを使ってみよう

今後は、紹介したツールを実際に使ってところの操作方法や手順を今後レポートしていきますので、以降のブログもご一読頂けるとありがたいです。

まとめ

今回は、有名なOSSテストツール5つをご紹介しました。このほかにもたくさんのテストツールのOSSがありますので、みなさんで探してみてもいいかもしれません。また気をつけたいのは、これだけあるOSSのテストツールでも自社にすぐ適用できるようなテストツールは中々存在しませんので、やりたい事を絞るなどする工夫が必要です。ツールとユーザーで歩み寄ることが大切です。自信がある方は、OSSの改変にも挑戦してみてもいいかもしれません。
ハートランド・データのテスト自動化の構築サービスは、OSSを使ったテストプロセスやテスト自動化のシステム提案をしています。何かテスト環境でお困りのことがありましたら、お気軽にお声掛けください。


【ウェビナー】組込み開発のテスト自動化事例 ~ つまずきやすいポイントとその解決手法 ~ 見逃し配信中
  • 期間: ~2022年2月28日[月]
  • 受講料:無料

「スモールスタート」をコンセプトにしたテスト自動化ソリューション – Small Start Kit

「駆動」「計測」「監視」「判定」。
4つの機能特徴をベースに、お客様に合わせて機能をカスタマイズできるSmall Start Kitで、
テスト自動化を小さく素早く始めてみませんか?
デモ動画はこちらから