「 JUnit 」+「 Jtest 」によるJava単体テスト効率化~コスト削減率33%~【セミナー資料・動画】

>

「 JUnit 」+「 Jtest 」によるJava単体テスト効率化~コスト削減率33%~

Java単体テスト効率化に関するセミナーレポートです。「 JUnit 」+Java対応テストツール「Jtest」による「コスト削減調査結果データ」を参照できるセミナー資料をダウンロードできます。「コスト削減率33%」の裏付けデータを確認できる価値ある資料です。

セミナー概要

Java単体テストツール「JUnit」

JUnitは、Javaプログラムの単体テストを実施するためのツールです。

単体テスト自動化サポートツールとして多くのJava開発プロジェクトで利用されています。

「JUnit」の問題点

次のように、JUnitによる単体テストには問題点があります。

本セミナーではこれらの問題点について解説しています。

問題点①:膨大なテストコード作成に手間がかかる

JUnitを使用して単体テストを実施するためには、専用のテストコードを実装する必要があります。

テスト対象の規模が大きくなるほど、作成しなければならないテストコードが増加してしまいます。

そのため、実際に単体テストを始めてみると、テストコード実装のための工数が想定以上に必要となってしまい、「十分な単体テストを実施しきれない」などの問題が発生します。

問題点②:テストコードのメンテナンスが大変

JUnit用テストコードを作成して、無事に単体テストを終了できたとしても、仕様変更やバグ対応が発生した場合、開発コード修正とともに、対応するテストコードも都度メンテする必要があります。

このテストコード用メンテナンス工数の増大が問題となっています。

Java対応テストツール「Jtest」紹介

「Jtest」とは

「Jtest」は、Javaシステムの開発を強力にサポートするJava対応テストツールです。

「Jtest」の主な特徴

・JUnitを用いた単体テストをサポート—作成、実行、テストカバレッジ分析、テスト資産管理
・単体テスト効率化を促進
・テストコード作成負荷を軽減
・33%程度の工数削減を実現

「Jtest」による単体テストの工数削減方法を解説

本セミナーでは、上記の「JUnit」の課題を解決する方法として、Java対応テストツール「Jtest」の概要を紹介しています。

セミナー情報

セミナーカテゴリ 開発、テスト
参加者想定 開発者向け
セミナータイトル 失敗例から見る、JUnitによるJava単体テストの課題と、工数削減の方法~Jtestとは~
セミナーテーマ ・失敗例からみる「JUnit」単体テストのあれこれ
・「JUnit」による単体テストの工数削減
・ROIを向上させる秘策
・テクマトリックスが提供するソリューションのご紹介
開催日時 2020/07/01(水) 16:00~17:00
開催場所 オンライン
費用 無料

対象製品概要紹介① Java単体テストツール「JUnit」

「JUnit」とは

「JUnit」は、Javaプログラミング言語用のユニットテストフレームワークです。

オープンソースで提供されており、JVMにおける開発者側テストのための基盤として、テストの作成と実行に活用できます。

→junit.org

最初にテストしてからコーディングする

JUnitは「最初にテストしてからコーディングする」という設計思想に基づいています。

「少しテスト→少しコーディング→少しテスト→少しコーディング」というこのアプローチは、最初にテストしてから実装できるコードのテストデータを設定することに重点を置いています。

これにより「プログラマーの生産性」と「プログラムコードの安定性」が向上し、プログラマーへのストレスとデバッグに費やされる時間を削減できます。

JUnitの主な特徴

・注釈機能:テストメソッドを識別
・アサーション機能:期待される結果をテスト
・テストランナー機能:テストを実行
・コードをシンプルかつ高速に記述できる
・テスト自動実行
・結果を即座にフィードバック
・他テストスイートに統合可能

「JUnit5」の3つのモジュール

「JUnit5」は、「JUnit」の5つめのメジャーバージョンです。

次の3つのモジュールで構成されています。

①機能テストフレームワーク起動JVM「JUnit Platform」

「JUnit Platform」は、JUnitプラットフォームの基盤として動作する機能テストフレームワーク起動JVMです。

プラットフォーム上で実行されるテストフレームワークを開発するためのAPIも定義します。

②プログラミングモデル「JUnit Jupiter」

「JUnit Jupiter」は、JUnit5において、テストと拡張機能を作成するための新しいプログラミングモデルと拡張モデルの組み合わせです。

③下位互換「JUnit Vintage」

「JUnit Vintage」は、過去バージョンである「JUnit3」および「JUnit4」ベースのテストを実行するための下位互換機能を提供します。

対象製品概要紹介② Java対応テストツール「Jtest」

「Jtest」とは

Jtestとは、Java対応テストツールです。

「テスト工数の大幅削減」と「セキュアで高品質なJavaシステム開発」を強力にサポートします。

1000種類以上のコーディング規約をベースとしてソースコードの静的解析を実行し、「プログラムの問題点」や「処理フローに潜むエラー」を検出します。

さらに、JUnitを用いた単体テストにおいて、「作成」「実行」「テストカバレッジ分析」「テスト資産管理」などの単体テストに関連する作業をサポートし、単体テストの効率化を促進します。

→techmatrix.co.jp →product →Java対応静的解析・単体テストツール「Jtest」

「Jtest」の主な機能

静的解析(コーディング規約チェック)機能

・ソースコード解析:1000種類以上のコーディングルールに対応
・メトリクス計測:ソースコードの複雑度指標
・独自ルールセット作成
・コーディングルール追加(編集)

静的解析(フロー解析)機能

・複数クラスにまたがる複雑なパスも検証可能
・テストケース(テストスタブ)は不要
・テスト資産のないソースコードでも検証可能
・脆弱性検出機能:インジェクション、クロスサイトスクリプティング(XSS)

「JUnit」単体テストアシスタント機能

・JUnitの単体テスト実施
・未実施の箇所からテスト漏れを防止
・JUnit初心者向けテスト実施サポート
・手間削減:テスト失敗、テストケース動作確認

カバレッジ計測機能

・カバレッジ計測:「TestNG」「JUnit」の単体テスト実行
・システムテスト時のカバレッジ計測も可能

セミナー資料①「失敗例からみるJunit単体テストのあれこれ」の見どころ

資料アジェンダ

■JUnit とは
・JUnit を使うことのメリットとデメリット

■単体テストの失敗例①:JUnit 単体テストを導入したら工数が増大した
・対策1. プロダクトコードを単体テストがしやすいコードにする
・対策2. JUnit を使いこなせるようになる
・Jtest による対策

■単体テストの失敗例②:テストコードがメンテナンスされない
・対策1. わかりやすいテストコードを実装する
・対策2. プロダクトコードと一緒にテストコードを変更する
・Jtest による対策

■単体テストの失敗例③:カバレッジ100%を目指してしまう
・対策1. カバレッジを有効活用するためにカバレッジの定義を見直す
・対策2. カバレッジの計測範囲を明確にする
・Jtest による対策

ポイント

スライド資料内では、Java開発で最も使われている「JUnit」において、単体テストのコストがかかる要因である3つの失敗例とその対策について、詳しく精緻に解説されています。

また、「失敗例と対策のまとめ」として、
「失敗例」「原因」「課題」「一般的な対策」「有効なJtestの機能」について一覧で俯瞰的に参照できます。

ご自身が実施されている単体テスト方法と比較することで、テスト効率を向上させるヒントとなります。

セミナー資料②「Jtest による単体テストの工数削減とROIを向上させる秘策」の見どころ

資料アジェンダ

■1. 失敗例の振り返り

■2. 単体テストのコストとROI
・単体テストのコスト
・単体テストのROI(投資収益率)
・しかし単体テストは失敗する

■3.「Jtest」を使ったテストコスト(Parasoft社の調査)
・Parasoft社の独自調査
・あるプロジェクトの例
・Jtestの削減コスト

■4.「Jtest」を使ったテストコスト(テクマトリックスの調査)
・Jtestによる単体テスト工数の削減効果を計測
・テスト担当者の語る「効果の大きかったJtestの機能」

ポイント

スライド資料内では、「Jtest」を使用した場合の単体テストのコスト削減効果について詳細に解説されています。

「Jtestによる削減率:33%」を裏付けるテスト時間削減効果として、
分単位での調査結果データを参照できます。
・対象クラス(Javaコード)
・テスト手法
・メソッド数
・LOC
・JUnitのみ(hh:mm:ss)
・Jtest利用(hh:mm:ss)
・削減率

まとめセクションでは、
1万円単位でのツール導入によるコスト削減シミュレーションを参照できます。
・「Jtest Unit Test Edition」(5ノードロックライセンス+3ヶ月間(保守含む)」の費用
・ツールのコスト=「Jtest Unit Test Edition」×「1年分の更新回数」×「20人分のライセンス」
・削減率
・削減コスト
・削減日数

セミナー資料③「テクマトリックスが提供するソリューションのご紹介」の見どころ

資料アジェンダ

・海外の優れた製品を取り扱う事業
・Best of Breed – テクマトリックス社 取り扱い製品カテゴリ
・機能テストソリューション
・機能テストソリューションの効果
・各製品の個別紹介

ポイント

こちらの資料では、テクマトリックス社が提供する各種ソリューションの概要を参照できます。

「機能テストソリューションの効果」セクションは、目的に合うソリューションが分かる一覧表になっています。
・UIアプリに対して十分なテストをしておきたい!
・UIアプリの性能・負荷テストも自動化したい!
・APIをどうテストすべきか解らない!APIをテストしてない!
・APIに対して十分なシナリオテストをしておきたい!
・APIの性能・負荷テストも効率化したい! など

資料ダウンロードはこちらから

「 JUnit 」+「 Jtest 」によるJava単体テスト効率化~コスト削減率33%~

最後に

今後も毎日のように、多くのIT関連セミナーが開催されます。ご自分のビジネスを強化できるセミナーを見つけて、ぜひ参加してみてください!

→マジセミTOPページ


参考元サイト
→junit.org →junit5
→tutorialspoint.com →JUnit – Overview

By