このブログについて
ソフトウェア開発におけるエラーの予防やプロジェクト管理、品質管理を支援するParasoft製品のTIPSなどを、国内総販売代理店テクマトリックスのサポートスタッフが紹介しています。
2016年6月20日月曜日
【7/15開催】 組込みソフトウェア品質向上セミナー
高度化した現代の組込みソフトウェアでは、たった一つの欠陥が大きな社会的影響を及ぼすことに繋がります。しかしながら、品質確保のために行うべき具体的な方策が見出だせていない方も多いのではないでしょうか?
かつて開発規模が短期間で急激に増加した開発現場で、「生産性倍増」を目標に掲げ、開発効率2倍/早期バグ検出率20%向上を実現した事例があります。
そこには、現代の開発現場の問題解決にも通じる数多くの“ヒント”が隠されていました。
今回はその実例の立役者である(株)オプテック 先端技術研究開発タスクフォースおよび、JASA IoT技術研究会 主査である 竹田 彰彦 様をお招きし、当時の事例をご紹介いただくとともに、組込みシステム開発の過去と今から分かる不変の開発・テストプロセス改革についてご講演いただきます。
さらにテクマトリックスからは、開発プロセスの中でもテストフェーズに着目し、うまくいかない 単体テスト と 静的解析 の実例をもとに、実際の開発現場で実践した効果を出すテスト運用法についてご紹介します。
品質の確保に課題を持たれている方必見の内容となっておりますので是非ご参加ください!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆セミナー概要
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【開催日程】
2016年7月15日(金)13:00~16:30 (開場:12:40)
【会場】
御茶ノ水ソラシティカンファレンスセンター 1F ROOM B
東京都千代田区神田駿河台4-6
【定員】
80名(定員になり次第締め切らせていただきます。)
※同一部署からのご参加は、2名様までとさせていただきます。
※ご同業の方の参加はご遠慮いただいております。
【参加費用】無料
【講演内容】
■「組込みシステム開発技法」~プロセス改革の軌跡~
【講師】
(株)オプテック先端技術研究開発タスクフォース エグゼクティブ・フェロー
JASA 状態遷移設計研究会、IoT技術研究会 主査
竹田 彰彦 様
【概要】
1.プロセス改革の軌跡
携帯電話開発で取り組んだ、プロセス改革を振り返り、特に、単体テストでの
ツール適用とその効果、導入に向けたポイントについて解説する。
2.組込みソフトウェアの開発手法
組込みソフトウェアの特性を理解し、特性に応じたプロセスや設計を
適用することの重要性。
3.品質向上に向けたテスト手法
ソフトウェアテスト概要、プロジェクト診断、ツール適用の必然性。
■開発現場で成果を出した単体テストの運用改善アプローチ
【講師】
テクマトリックス株式会社 ソフトウェアエンジニアリング技術部
渡辺 征一
【概要】
単体テストの実施において、ツールの運用がうまくいかない、効果がでないのはなぜなのか?
今回は過去のユースケースを元に、単体テストを成功につなげるためには、何が不足していて、何を実施する必要があったのかについてご紹介します。
■品質を底上げする静的解析運用のコツ ~バグの元を断ち切れ!~
【講師】
テクマトリックス株式会社 ソフトウェアエンジニアリング技術部
筒井 俊晴
【概要】
バグを早期発見するための取り組みをしていても、バグが減らない開発現場とバグが減っていく開発現場があります。
バグの元を断ち切るためには、どのような取り組みをすればよいのか?
本セッションでは、バグが減っていく開発現場の特徴とその理由を交えて、品質を底上げするための静的解析運用法をご紹介します。
※内容は、変更する場合がございます。あらかじめご了承ください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆予告情報! ※自分の席から気軽に参加!オンラインセミナー開始します!※
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
○「遠方まで出向いてセミナーに参加するのはなかなか難しい」
「まずは概要を知れるような機会がほしい」というお客様必見!
パソコンさえあれば、自分の席から製品紹介セミナーに参加できる、
オンラインセミナーを開始します!
※日程等は、近日弊社セミナーページでの公開を予定しています。
ラベル:
C++test,
Parasoft DTP,
セミナー,
ソフトウェア品質,
フロー解析,
自動化,
静的解析,
組み込み,
単体テスト,
定量分析、事例、活用術、育成、チーム
2016年1月6日水曜日
【2/10開催セミナー】事例に学ぶ 成功するテスト運用術と実践的品質管理
特に、これらの要求と密接に関連するテスト工程では、ツール導入によって効率化を図っている開発現場が数多くあります。
しかし、開発現場の声を聞いてみると…
■ツールを導入したものの、運用プロセスは開発者任せになっている
■検出された問題への修正対応は行うが、その後の品質改善に活かせていない
■ツールの導入効果がどれくらいあったのか分析できていない
など、期待していたほどの効果を実感できていなかったり、有効な活用方法について答えを出せていない開発現場も多く存在します。
そこで今回は、上記のような課題を解決するための方法を事例を交えてご紹介するセミナーを開催いたします。
開発業務を通してソフトウェアの品質向上に取り組んでいる株式会社JVCケンウッド 阿部博己 様からは、開発メンバーの教育とスキルアップに成功したテスト運用術についてご紹介いただきます。
さらに、ソフトウェアの第三者検証において20年の実績を誇る株式会社エス・キュー・シー 代表取締役社長 倉田克徳 様を講師にお招きし、高品質なソフトウェア開発を実現する実践的品質管理について、事例を交えてご講演いただきます。
また、テクマトリックスからは、上記の課題の解決を実現するプラットフォーム Parasoft Development Testing Platformの最新版5.2のご紹介と、C/C++言語対応のテストツールの最新版である、C++test10.2/9.6をご紹介します。
ソフトウェア開発における品質向上に課題を抱えている方、またC++test、Parasoft DTPの最新技術動向等に興味がある方に大変有益なセミナーとなっておりますので、是非ご参加ください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆セミナー概要
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【開催日程】2016年2月10日(水)13:30~17:00 (開場:13:10)
【会場】御茶ノ水ソラシティカンファレンスセンター 1F ROOM B
東京都千代田区神田駿河台4-6
【参加費用】無料
【定員】80名(定員になり次第締め切らせていただきます。)
※同一部署からのご参加は、2名様までとさせていただきます。
※ご同業の方の参加はご遠慮いただいております。
【講演内容】
■品質向上に結果を出す静的解析のチーム運用術
【講師】
株式会社JVCケンウッド 業務用システム事業統括部 プロオーディオ技術部
阿部 博己 様
【概要】
プロオーディオ技術部では、「ツール導入が品質向上のゴールではない」という意識のもと、独自のチーム運用とプロセス改革により、静的解析の効果を最大限に引き出しています。
本セッションでは、ツールの導入のポイントだけではなく、どのようにして効果を最大化したのか…そのテスト運用の秘訣についてご紹介いただきます。
■(仮)攻める実践的品質管理のツール活用法
【講師】
株式会社エス・キュー・シー 代表取締役社長
倉田 克徳 様
【概要】
システム開発における開発対象の多様化、また、システムの稼働環境・接続環境の多様化が急速進んでいます。一方で、システム開発における要求として、高生産性(開発期間の短縮・要員減少)、原価低減、品質の担保、接続互換の多様性等が求められています。
このような現状で、システム開発現場がどのようなことに取り組めば高品質を担保しながらシステム開発を進めていくことができるか、また、ソフトウェアメトリックスの定義や収集されたデータから何がわかるのか、あるいは、プロセス改善、品質改善のためにどんなデータ収集が必要なのかを実践的に解説します。
■(仮)テスト・品質分析・修正フローまでを自動化するには?
【講師】
テクマトリックス株式会社 ソフトウェアエンジニアリング技術部
渡辺 征一
【概要】
近年、ソフトウェア市場からは「リリーススピード」と「信頼性」の2つの要求が高まっています。この2つを同時に応えるためには、
「テスト実行の効率化」「現場の状態を把握するための情報収集の効率化」「収集した情報分析の効率化」「分析結果フィードバックの効率化」の4つの効率化を実現しなくてはなりません。
この4つの効率化を実現できるツールとして、Parasoft Development Testing Platformをご紹介します。
■C++test最新版のご紹介
【概要】
正式なバージョンアップの発表は少し先にはなりますが、強化される機能について
デモを交えてご紹介します。
・大幅に拡張された静的解析ルール
・より高い精度のバグ検出が可能になったフロー解析
・テストケースの作成・変更が容易になる新機能
・高機能なスタブの作成
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆ 関連製品
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
○C++test -C/C++対応単体テスト・静的解析ツール-
C/C++プログラムの単体テスト、カバレッジ計測、静的解析、フロー解析、実行時メモリエラー検出を行う総合的なテストツールです。
ソフトウェア開発におけるテスト工数の大幅削減を実現します。
まずはお試しください!無料評価版はこちら
実際にC++testを体験!ハンズオンセミナーはこちら

○開発テスト管理プラットフォーム「Parasoft DTP」
ソフトウェア開発現場における様々な情報を収集し、一元管理を実現する新しい概念のプラットフォームです。 Parasoft DTP に集約された情報からリスクをいち早く分析し、迅速な意思決定と開発現場へのフィードバックを実現します。
2015年9月15日火曜日
【東京・大阪】ユースケースセミナー開催レポート
ご参加いただいた皆様ありがとうございました。
| 会場の様子 |
今回のセミナーでは、これまでのテクマトリックスの取り組みで成功した複数のユースケースをもとに、現場に合った運用に乗せる品質向上策の実施方法について、ご紹介させていただきました。
両会場ともに、セッション終了後もその場で多くのお客様より個別にご相談をいただくなど、大盛況のうちに終了することができました。
セミナーにご参加いただいたお客様の声
「うまくいかないプロジェクトの特徴は耳が痛い部分がありました。」
「ソフトウェア品質向上に向けた取り組み手順などの参考になりました。」
「単体テストの導入を検討しており、参考になった。」
「分かりやすいセミナーをありがとうございました。」
=============================================================================
「開発現場で成果を出した単体テストの運用改善アプローチ」
単体テストの実施においてツールが運用にのらない、効果がでないのはなぜなのか?過去のユースケースを元に、成果を出すための単体テストの実施手順について、ご紹介いたしました。
=============================================================================
「品質を底上げする静的解析の徹底利用法」
バグを検出するフロー解析を続けているだけでは、次回以降のプロジェクトでも、同じようなバグの作り込みを繰り返す可能性があります。
「テスト工程以降にバグが流出している」
「過去と同じバグを繰り返している」
「レビューの工数が多い、指摘漏れが多い」
といったケースにおける静的解析の効果的な運用法について、ご紹介しました。
=============================================================================
「ソースコード解析ツールの最新版Understand 4.0を活用した単体テスト、静的解析の効率化」
先日、最新版バージョン4.0がリリースされたソースコード解析ツールUnderstand を活用し、効果的な単体テストや静的解析に必要となるソースコードの構造や影響範囲を正しく理解する方法についてご紹介しました。
=============================================================================
| セミナー終了後もたくさんのご相談をいただきました |
今回ご紹介したテストツールC++testとソースコード解析ツールUnderstandの詳細や導入事例、体験版については、Webサイトを参考ください!
テクマトリックスではツールのご提供のみにとどまらず、導入前の支援から、導入開始時における開発者向けのトレーニング、CI(継続的インテグレーション)環境構築など、運用に乗せるための様々なサービスも実施しています。
今回セッション内でご紹介したノウハウを実際に体感いただける、特別プログラムのハンズオンセミナーを東京・大阪にて近日開催予定です。
こちらもぜひご参加ください!
2015年9月10日木曜日
品質向上ステップアップ講座 受付中!
ツール導入後、成果を上げている開発現場がある一方で、なかなかうまく活用できずに困っている…という声も耳にします。
そこで今回は、C/C++言語を使った開発者を対象にテストツール C++test の静的解析機能を活用した「一度始めたら“やみつきになる”静的解析の運用法」特別講座をご用意いたしました。
ハンズオン形式で実践的に学べる講座となっております。
運用に行き詰ってしまっている方も、ツールをもっと使いこなしたい方も、静的解析による品質向上のステップアップを目指せる講座となりますので、是非ご参加ください!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆ 品質向上ステップアップ特別講座概要 ◆
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【今回のテーマ】“やみつきになる”静的解析運用のコツ
【第一部】
違反を生み出す元を断ち切れ!
「静的解析をやればやるほど違反が減るコツ」
【概要】
解析のたびに検出される膨大な違反に参っている…
静的解析の効果がいまいち上がっていない気がする… という方はいませんか?
効果的な静的解析の運用には、違反を検出するルールの選定や検出された違反への対処法など、いくつかのポイントがあります。
第一部では解析を重ねるごとに違反を減らし、開発者のレベルアップも図ることができる必見の静的解析運用ステップをご紹介します!
◇参加者の皆様には静的解析の運用開始にオススメな「厳選ルール一覧」をご提供!
【概要】
解析の自動化には何から取り組めばいいの?
自動化はしているけど、結果を活かしきれていない…
自社独自のルールも適用したいんだけど… という方はいませんか?
静的解析の定着が進んだ後は、さらなる効率化を目指していくとともに、蓄積してきた解析ノウハウを活かさない手はありません。
第二部ではJenkins連携によるテスト自動化の実践と、蓄積された解析結果をもとに効果を最大化する貴社独自の静的解析を実現する方法についてご紹介します!
◇C++testを使ったJenkins連携や独自ルールの作成をハンズオン演習!
※内容は、変更する場合がございます。あらかじめご了承ください。
【開催日程】2015年9月28日(月)13:30~17:00 (開場:13:10)
【会場】テクマトリックス セミナールーム
【参加費用】無料
【定員】限定8名(定員になり次第締め切らせていただきます。)
2015年9月8日火曜日
ソフトウェア開発を加速する新プラットフォームParasoft DTP、最新Java対応テストツールJtest DTPを同時リリース!
ソフトウェア開発・テスト管理プラットフォーム「Parasoft DTP(Development Testing Platform)」と、Java対応テストツール「Jtest DTP」をリリースしました。
Parasoft DTP と基盤システムとの連携イメージ
ソフトウェアの「信頼性」と「リリーススピード」に対する市場からの厳しい要求に応えるために、SDLC(ソフトウェア開発ライフサイクル)の加速が求められています。
一方で、多くの企業ではこの要求に応えることができず、品質、スピード、コスト、あるいはブランドイメージをも犠牲にしている場合があります。
Parasoft DTPは、開発における複数の基盤システム(ソフトウェア開発支援ツールなど)の情報を統合し、リスクの分析とリスクのコントロールの機会を提供することで、迅速な意思決定によるソフトウェア開発の加速をサポートするソフトウェア開発・テスト管理プラットフォームです。
<<【Parasoft DTP】の特長>>
- 複数の基盤システムの情報を一元管理
- ダッシュボードの柔軟なカスタマイズにより、情報の最適化を実現
- ドリルダウン機能により問題の原因箇所の特定を効率化
- アクションアイテムを適切なスタッフの作業環境にフィードバック
Parasoft DTP
一方、Jtest DTPは高品質なJavaシステム開発を強力にサポートするテストツールです。
従来のJtestをベースにCI(継続的インテグレーション)との親和性を高め、解析エンジンの強化、解析パフォーマンスの大幅な向上、Java 8への対応など様々な機能を拡張し、より使いやすいツールとして進化しました。
さらにソフトウェア開発・テスト管理プラットフォームParasoft DTPと連携し、ソフトウェア開発ライフサイクルを加速させる様々な拡張機能を活用することができます。
<<【Jtest DTP】の特長>>
- 従来より約50%のパフォーマンス向上を実現!高速で強力な静的解析機能
- ビルドツール連携によるCIとの高い親和性
- 専用ビューワーによる解析結果の効率的なレビュー
- Java 8、TestNGのサポート
Parasoft DTPと連携することで、開発の効率化を支援する様々な拡張機能を活用することができます。
- サードパーティー製の静的解析ツールの結果をマージし、複数言語に関わる課題を検出可能
- 専用のWeb UIによる効率的なコードレビュー
- 効率的な修正作業を行なえる開発者別の違反ダウンロード機能
- 異なるクラスに対して実行された単体テストから取得したカバレッジデータをマージ可能
- 違反のトレースが可能
ラベル:
Jtest DTP,
Parasoft DTP,
ソフトウェア品質,
継続的インテグレーション,
自動化,
静的解析
2015年8月24日月曜日
参加者特典アリ! 東京・大阪にて開催特別セミナー
ソフトウェア開発の現場で、次のような問題に悩まされた経験はないでしょうか?
- (有償無償に関わらず)テストツールを導入したがうまく運用に乗らない。
- 静的解析を実施しているが、工数が増加しただけで効果を実感できない。
- 自社の独自コーディングルールにツールが対応しておらず、目視のレビューが必要。
これらの問題を解決し品質向上を成功させるためには、お客様の開発現場や文化、特性に合った対策が必要となります。
今回のセミナーでは、テクマトリックスの長年のノウハウのもと、上記のような課題を解決した複数ユースケースから、品質向上策の実施方法についてご紹介します。
実際の運用を想定した解決策を知りたい方、様々な品質向上策についてまとめて知りたい方、現状の課題に対して何から取り組むべきか迷われている方は、是非ご参加ください。
★セミナー参加特典★
講師がセッション内でご紹介したノウハウを実際に体感いただける、特別プログラムのハンズオンセミナーを東京・大阪にて近日開催予定です。本セミナーにご参加いただいたお客様には、優先的にご案内させていただきます。
※日程等はセミナー内でお知らせ致します。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆セミナー概要
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【開催日程】※東京と大阪では開催日程が異なりますので、ご注意ください。
■東京開催
2015年9月4日(金)13:30~17:00 (開場:13:10)
■東京会場
テクマトリックス セミナールーム
東京都港区三田3-11-24 国際興業三田第2ビル
■定員 40名(定員になり次第締め切らせていただきます。)
※同一部署からのご参加は、2名様までとさせていただきます。
※ご同業の方の参加はご遠慮いただいております。
------------------------------
■大阪開催
2015年9月11日(金)13:30~17:00(会場:13:10)
■大阪会場
新大阪ブリックビル
大阪府大阪市淀川区宮原1丁目6番1 新大阪ブリックビル3階
会議室E+F
■定員 30名(定員になり次第締め切らせていただきます。)
※同一部署からのご参加は、2名様までとさせていただきます。
※ご同業の方の参加はご遠慮いただいております。
------------------------------
【参費費用】無料
【講演内容】
■「開発現場で成果を出した単体テストの運用改善アプローチ」
【講師】
テクマトリックス株式会社 ソフトウェアエンジニアリング技術部
渡辺 征一
【概要】
単体テストの実施において、ツールの運用がうまくいかない、効果がでないのはなぜなのか? 今回は過去のユースケースを元に、単体テストを成功につなげるためには、何が不足していて、何を実施する必要があったのかについてご紹介します。
■「品質を底上げする静的解析の徹底利用法」
【講師】
テクマトリックス株式会社 ソフトウェアエンジニアリング技術部
工藤 公靖
【概要】
バグを検出するフロー解析を続けているだけでは、次回以降のプロジェクトでも、同じようなバグの作り込みを繰り返す可能性があります。
本セッションでは、基本的な静的解析の適用例から、過去に発生したバグを二度と繰り返さない運用まで、徹底的な静的解析の利用法をご紹介します。
■「ソースコード解析ツールの最新版Understand 4.0を活用した単体テスト、静的解析の効率化」
【講師】
テクマトリックス株式会社 ソフトウェアエンジニアリング営業部
渡部 達郎
【概要】
単体テストや静的解析において、構造や影響範囲を正しく理解することは非常に重要です。ソースコードを高速に解析し、必要な情報を容易に収集することで、単体テストと静的解析をいっそう効果的なものにする方法をご紹介します。
※内容は、変更する場合がございます。あらかじめご了承ください。
2015年7月6日月曜日
品質向上に結果を出す!!静的解析のチーム運用術
品質向上を目指し、開発現場に「静的解析」を取り入れたものの、なかなか結果に結びついていないと感じている方は多いのではないでしょうか?
今回ご紹介する株式会社JVCケンウッドのプロオーディオ技術部では、従来の静的解析をより効果的なものにするためにツールを見直し、C++testを新たに導入しました。
同部署では「ツール導入が品質向上のゴールではない」という意識のもと、独自のチーム運用とプロセス改革により、静的解析の効果を最大限に引き出しています。さらに、単体テストによるアプローチも同時に実施し、効率的な品質向上を実現しています。
品質向上が“実感できる”静的解析の実施法とは?
開発者の意識が変わる静的解析のチーム運用とは?
C++testだから実現できた開発者の教育・スキルアップとは?
▼▼事例のダウンロード・詳細な内容に対する問い合わせはこちら▼▼

■静的解析+動的解析 両方の機能を搭載したオールインワンテストツール
C++testとは?
C++testは、C/C++プログラムの単体テスト、コーディング規約チェック、静的フロー解析、実行時メモリエラー検出を自動化する総合的なテストツールです。
静的解析では、バグの検出をおこなう静的フロー解析とバグを防止するコーディング規約チェックで、品質の底上げを開発フェーズの早期から強力にサポートします。
こちらも是非、ご利用ください。
2015年7月1日水曜日
結合テストフェーズ以降のデグレードをゼロにする
改修後のデグレード…
コードレビューの形骸化、バグの見落とし…
開発後工程からの手戻り、スケジュールの大幅な変更…
多くの開発現場が直面するこれらの問題に、オリンパス株式会社の生産技術開発部門も頭を悩まされていました。
今回の事例では、同社が取り組む医療機器製造関連システムの開発において、如何にして問題の解決を実現したのか、なぜdotTESTを採用したのか、新しい取り組みがどのように現場に受け入れられたのか… 詳しくご紹介します。
ツールの導入による開発プロセス改善にご興味をお持ちの方は、必見の事例となっておりますので、ぜひご参考ください。
▼▼事例のダウンロード・詳細な内容に対する問い合わせはこちら▼▼
■高速な静的解析でバグを検出・防止!テストコード作成機能でユニットテストを効率化!dotTESTとは?
.NETアプリケーションの静的解析、フロー解析、単体テストを一つのツールで実現するオールインワンテストツールです。セキュアで高品質な.NETアプリケーションの開発とテスト工数の大幅削減を実現します。
こちらも是非、ご利用ください。
2015年6月22日月曜日
金融システム開発を支えるJtest活用法とは?
開発するシステムには常に高い信頼性が求められるため、同社では独自の開発フレームワークを構築し、品質の確保と開発の標準化に取り組んでいます。
このフレームワークには様々なツールが組み込まれ、同社のソフトウェア開発を支えています。
■フレームワークの更なる強化に向けて、Jtestを採用
しかし、従来のフレームワークで採用していたテストツールでは、目的としたソースコードの問題を検出することが難しい状況でした。そこで品質向上の観点から、新たなツールの導入による開発フレームワークの強化を模索していました。今回は、開発フレームワークに JAVA 対応テストツール『Jtest』を新たに組み込んだことで、バグの早期発見、コードレビューの強化に加え、受け入れ時の品質向上をも実現した事例をご紹介します。
バグの検出に課題を感じている方、受け入れ時の品質に不満をお持ちの方には、必見の事例となっておりますので、ぜひご参考ください。
■高速な静的解析でバグを検出・防止!テストコード作成機能でユニットテストを効率化!Jtestとは?
Jtestは、Javaアプリケーションの静的解析・ユニットテスト(単体テスト)を1つの
ツールで実施可能なオールインワンテストツールです。セキュアで高品質なJavaアプリ
ケーションの開発とテスト工数の削減を強力にサポートします。
こちらも是非、ご利用ください。
2015年3月20日金曜日
2015年2月 「C++testユーザ様限定」 品質向上ステップアップ特別講座 レポート
C++test をご利用いただているユーザー様に
より効果的に製品をご利用いただけるよう
2/26に品質向上ステップアップ特別講座を開催しました。
◆今回のテーマは「静的解析ツールの運用」
実のところ、コーディングルールチェック機能やフロー解析機能など
搭載した静的解析ツールを導入すると、
というような壁にぶつかってしまう方がいらっしゃいます。
開発の状況よっては、どんな静的解析ツールを利用しても、
この壁に運用を遮られてしまうことがあります。
この壁の前では、立ち尽くすことしかできないのでしょうか?
そんな困難と思える壁を切り崩すコツをお伝えしたのが本特別講座になります。
そのコツの一部をご紹介すると
になります。
さらに受講者の皆様には、以下の環境をご用意し、
紹介したコツの実現方法を体験していただきました。
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
ホストOS :Windows 7
IDE :Eclipse 4.2
コンパイラ :Cygwin gcc 4.5
CIツール :Jenkins
バージョン管理ツール :Subversion
テストツール :Parasoft C++test 9.5
テスト資産共有ツール :Parasoft TeamServer
独自ルール作成ツール :Parasoft RuleWizard
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
受講いただいたC++testユーザー様が抱えているツール運用の課題は様々ですが
それぞれの開発現場でより効果的に運用するために必要な気付きが得られたと
お話をいただいております。
中でも、「ルール違反修正を通じて、各開発者が培った開発ノウハウを効率よく共有するコツ」
を実現するためのRuleWizardに、改めて興味をいただいた方が多かったことが印象的でした。
<独自ルール作成ツール:Parasoft RuleWizard>
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
今回の内容とは異なりますが、
C++testによる静的・単体テストの入門から実践までを体感できる
【無料ハンズオンセミナー】
を東京・大阪会場で開催中です!
C++testを触ってみたい!
テストツールの使い勝手はどうなの?という方、
ぜひご参加ください。
<お申し込み・開催日程はこちら>
より効果的に製品をご利用いただけるよう
2/26に品質向上ステップアップ特別講座を開催しました。
◆今回のテーマは「静的解析ツールの運用」
実のところ、コーディングルールチェック機能やフロー解析機能など
搭載した静的解析ツールを導入すると、
- 解析の度に検出される膨大なルール違反が検出される
- 膨大なルール違反のレビューに大量の時間が必要となる
- レビュー時間の割にコードの品質向上の効果が少ないと開発者から不満が挙がる
- コード修正のリスクを考えると、ルール違反をほとんど直せず現状維持が続いてしまう
というような壁にぶつかってしまう方がいらっしゃいます。
開発の状況よっては、どんな静的解析ツールを利用しても、
この壁に運用を遮られてしまうことがあります。
この壁の前では、立ち尽くすことしかできないのでしょうか?
そんな困難と思える壁を切り崩すコツをお伝えしたのが本特別講座になります。
そのコツの一部をご紹介すると
- 膨大なルール違反結果から、現場に適した静的解析ルールを選定するコツ
- 選定したルールを開発者にしっかり守ってもらうための環境作りのコツ
- ルール違反修正を通じて、各開発者が培った開発ノウハウを効率よく共有するコツ
になります。
さらに受講者の皆様には、以下の環境をご用意し、
紹介したコツの実現方法を体験していただきました。
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
ホストOS :Windows 7
IDE :Eclipse 4.2
コンパイラ :Cygwin gcc 4.5
CIツール :Jenkins
バージョン管理ツール :Subversion
テストツール :Parasoft C++test 9.5
テスト資産共有ツール :Parasoft TeamServer
独自ルール作成ツール :Parasoft RuleWizard
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
受講いただいたC++testユーザー様が抱えているツール運用の課題は様々ですが
それぞれの開発現場でより効果的に運用するために必要な気付きが得られたと
お話をいただいております。
中でも、「ルール違反修正を通じて、各開発者が培った開発ノウハウを効率よく共有するコツ」
を実現するためのRuleWizardに、改めて興味をいただいた方が多かったことが印象的でした。
<独自ルール作成ツール:Parasoft RuleWizard>
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
今回の内容とは異なりますが、
C++testによる静的・単体テストの入門から実践までを体感できる
【無料ハンズオンセミナー】
を東京・大阪会場で開催中です!
C++testを触ってみたい!
テストツールの使い勝手はどうなの?という方、
ぜひご参加ください。
<お申し込み・開催日程はこちら>
ラベル:
C++test,
TechMatrix,
ソフトウェア品質,
フロー解析,
静的解析
2015年2月28日土曜日
Maven+Jtest9.5+Jenkinsによる継続的インテグレーション
継続的インテグレーションとは
継続的インテグレ―ション(CI)をご存知でしょうか。継続的インテグレーションとはエクストリーム・プログラミングのプラクティスのひとつで、ビルドやインスペクションを継続的に実行していくことを意味します。
本日は、Maven、Jtest、Jenkinsの各特徴をご紹介しながら、継続的インテグレーションをより効果的に運用できるような情報をお届けします。
Maven
Mavenとは、ビルドツールの一種です。いつ、どこで、誰がビルドしても同じ成果物を生成できることを目的としたツールになっており、以下の特徴を有しています。
- プロジェクトのディレクトリ構成が予め決まっている。
- 依存ライブラリはMavenリポジトリから自動的にダウンロードされる。
- 依存ライブラリを使用するタイミング(Maven用語ではフェーズ)を指定できる。
- JUnitによる単体テストの実行が可能である。
- 開発した成果物はMavenのリポジトリに公開可能である。
図1. EclipseのMavenプロジェクト
上記の特徴を持っているため、ソースコードを格納するディレクトリとMavenの設定ファイル(pom.xml)さえあれば、誰がどこでビルドしても失敗することはありません。
コンパイルや実行に必要な依存ライブラリは、Mavenが設定情報を元にインターネットから自動でダウンロードしてくれます。
また、Mavenには単体テストを実行できる枠組みも用意されています。JUnit単体テストケースをsrc/test/javaディレクトリに格納するだけで、Mavenがビルドの前に単体テストを自動実行します。デフォルトの動作では単体テストに失敗した場合ビルドは実行されません。これによりテストにパスしていない成果物の生成を防ぐことができます。ビルド時に意識することなく単体テストが実行されるため、回帰テストとしてもよく利用される機能です。
もちろん開発者はビルド時まで単体テストの実行を待つ必要はありません。mvn testコマンドを実行することで、単体テストを逐次実行することも可能です。
また、Mavenには単体テストを実行できる枠組みも用意されています。JUnit単体テストケースをsrc/test/javaディレクトリに格納するだけで、Mavenがビルドの前に単体テストを自動実行します。デフォルトの動作では単体テストに失敗した場合ビルドは実行されません。これによりテストにパスしていない成果物の生成を防ぐことができます。ビルド時に意識することなく単体テストが実行されるため、回帰テストとしてもよく利用される機能です。
もちろん開発者はビルド時まで単体テストの実行を待つ必要はありません。mvn testコマンドを実行することで、単体テストを逐次実行することも可能です。
Jtest
Parasoft JtestはJavaアプリケーションに対するテストをサポートするためのツールです。大きく分けて静的解析機能と動的解析機能があり、今回は静的解析機能をご紹介します。
静的解析機能には以下の種類があります。
静的回帰ツールとしてはOSSのFindBugsやCheckStyleが有名ですが、Jtestのフロー解析を利用するとOSSではチェックしきれないファイルまたがりのバグを検出できます。
フロー解析(バグ探偵)で検出できるバグの一例をご紹介します。
詳しくはOSSとの比較ページを参照ください。
| 機能名 | 概要 |
|---|---|
| パターンマッチング | 特定の記述をしていることで発生するバグを検出する。 |
| フロー解析(バグ探偵) | 処理の流れを静的に追い、結果的に発生するバグを特定する。 |
| メトリクス計測 | ソースコードの保守性や複雑度を数値として計測する。 |
フロー解析(バグ探偵)で検出できるバグの一例をご紹介します。
図2. Jtestによるフロー解析(バグ探偵)の例
詳しくはOSSとの比較ページを参照ください。
Jtest Mavenプラグイン
JtestにはMavenプラグインが提供されており、MavenからJtestを呼びだすことができます。
通常、JtestはEclipseプロジェクトでなければ解析できませんが、Mavenプラグインを利用することによりEclipseプロジェクトではないMavenプロジェクトに対しても解析がかけられます。 MavenからJtestを実行するにはmvn parasoft:jtestのようにゴールに「parasoft:jtest」を指定します。
図3. Jtest Maven プラグインの設定例(pom.xml)
通常、JtestはEclipseプロジェクトでなければ解析できませんが、Mavenプラグインを利用することによりEclipseプロジェクトではないMavenプロジェクトに対しても解析がかけられます。 MavenからJtestを実行するにはmvn parasoft:jtestのようにゴールに「parasoft:jtest」を指定します。
Jenkins
Jenkinsは言わずと知れた継続的インテグレーションツールです。以下の特徴を持っています。
ビルドの設定画面ではMavenの設定ファイルである、pom.xmlの場所と、ゴール(clean/compile/test/install等)を指定するだけです。
- 定期的なビルドを実行することが可能。
- Mavenとの親和性が高い。
- JUnitの結果やFindBugsの結果をJenkins上で参照することも可能。
- GitやSubversion等のバージョン管理ツールと連携可能。
- 成果物(jar/war/ear)の管理が可能。
図4. Jenkinsのビルド作成画面
ビルドの設定画面ではMavenの設定ファイルである、pom.xmlの場所と、ゴール(clean/compile/test/install等)を指定するだけです。
図5. Mavenのビルド方法指定
Maven+Jtest+Jenkinsの相乗効果
Maven、Jtest、Jenkinsの特徴を組み合わせることにより、様々な効果を得ることが可能になります。
開発環境に縛られない
IDEごとにばらばらだった静的解析の実行や単体テストの実行はMavenからの実行で統一されます。
これにより、EclipseやNetBeans、IntelliJなど開発者は自分にマッチしたIDEを自由に選択できます。
静的解析を実行するためにEclipseプロジェクトになおして、依存ライブラリを設定して・・・などという煩わしい作業は不要になります。依存ライブラリの解決はMavenに任せればよいのです。
ジョブの管理が容易
あらゆるタスクがMavenからの実行で可能になるため、Jenkins上のジョブは一つで済みます。いくつもジョブを作成してビルドパイプラインを作る必要はありません。
以下をひとつのジョブで実現可能になり、継続的なインテグレーションをより容易に実現できます。
以下をひとつのジョブで実現可能になり、継続的なインテグレーションをより容易に実現できます。
- ビルドの自動化
- 静的解析(パターンマッチング+フロー解析+メトリクス)とレポート生成の自動化
- 単体テストの自動化
- 成果物のデプロイ自動化
図6. JenkinsからMavenのビルドを実行した際のログ
開発初期から結合レベルのバグを検出
OSSの代わりにJtestのフロー解析を適用することで、コーディング工程では検出が難しいバグを検出可能になり、より効果的なインテグレーションを実施することが可能になるでしょう。検出した違反はMaven+Jtestによって${Mavenプロジェクト}/target/site/parasoftの配下にレポートとして自動出力されます。
図7. Jenkinsによって実行されたJtestのレポート
意識することなく回帰テストを実行可能
単体テスト工程になり、Mavenのテスト格納ディレクトリに単体テストファイルが蓄積されていくと、開発者が意識することなくJenkinsとMavenによって単体テストが実行されます。単体テストの結果は${Mavenプロジェクト}/target/surefire-reports/TEST-プロジェクト名.xmlで保存されるため、テスト結果をそのままIDEにインポートすることも可能です。
加えて、単体テストケースを蓄積しておくことで、ソースコードを変更した際の回帰テストとしての役目も担ってくれます。
成果物に対するテストの状況を確認
いつビルドした成果物なのかをJenkins上で管理することもできます。ビルドされた際のテスト状況も合わせて確認することができるため、リリース可能な成果物なのかを一目で確認可能です。
図8. Jenkins上での成果物と単体テスト結果の確認
最後に
今回はJtest9.5をベースにした継続的インテグレーションをご紹介しました。
Jtestの後継製品であるDTP for Javaでは、Mavenから単体テストを実行し、カバレッジを採取することも可能になる予定です。さらに便利になってインテグレーションの効果を上げるDTP for Java のリリースをお楽しみに!
Jtestの後継製品であるDTP for Javaでは、Mavenから単体テストを実行し、カバレッジを採取することも可能になる予定です。さらに便利になってインテグレーションの効果を上げるDTP for Java のリリースをお楽しみに!
2014年9月24日水曜日
9/11開催 「ユースケースに学ぶソフトウェア品質向上ノウハウ」セミナーレポート
遠方からもご足労いただき、誠にありがとうございました。
今回のセミナーでは、これまでのテクマトリックスの取り組みで成功した複数のユースケースをもとに、現場に合った運用に乗せる品質向上策の実施方法について、ご紹介させていただきました。
セミナーにご参加いただいたお客様の声
「回帰テストがうまく回っていない理由がわかった気がします。参考にしたいと思います。」
「実例を踏まえた内容で参考になりました。」
「ステルス・アジャイルは参考になりました。できるところから改善したいです。」
「テスト駆動開発の概要が理解できました。」
| 会場の様子 |
=============================================================================
「開発現場で成果を出した単体テストの運用改善アプローチ」
単体テストの実施においてツールが運用にのらない、効果がでないのはなぜなのか?運用に乗せるためには、開発現場に何が不足していて何を実施する必要があったのかを過去の例を交えながら紹介しました。
=============================================================================
「品質を底上げする静的解析の徹底利用法」
実はフロー解析におけるバグの検出と修正だけでは、次回以降のプロジェクトでも同じようなバグの検出と修正を繰り返してしまいます。
「テスト工程以降にバグが流出している」
「過去と同じバグを繰り返している」
「レビューの工数が多い、指摘漏れが多い」
といった各ケースにおける原因と対策について、ご紹介しました。
=============================================================================
「五月雨式の仕様変更に耐えるコーディング方法」
繰り返される仕様変更に耐えるアジャイルの開発手法「テスト駆動開発」。なぜテスト駆動開発が必要なのか?その理由と実施のために必要な環境についてご紹介しました。
=============================================================================
多くの質疑応答もあり、大盛況のうちに終了する事ができました。
| 多くのご質問もいただき、活発な議論も |
テクマトリックスではツールのご提供のみにとどまらず、導入前の支援から、導入開始時における開発者向けのトレーニング、CI(継続的インテグレーション)環境構築など、運用に乗せるための様々なサービスも実施しています。
登録:
コメント (Atom)





























