このブログについて
ソフトウェア開発におけるエラーの予防やプロジェクト管理、品質管理を支援するParasoft製品のTIPSなどを、国内総販売代理店テクマトリックスのサポートスタッフが紹介しています。
2015年7月16日木曜日
緊急開催! IEC 62304 改訂版への対応解説セミナー
いよいよ、従来の2006年版 IEC 62304 に Amendment 1 が加わった IEC 62304の改訂版Edition 1.1が2015年6月に発表されました。改訂版にはレガシーソフトウェアの扱い、一般的なソフトウェア欠陥の特定と回避等が新しく加わっています。
そこで改定版に早急なご対応が必要となる方のために、改訂版の重要ポイントを解説するセミナーを緊急開催します。
さらに今回は、レガシーソフトウェアへ対応するための強力な機能を新たに搭載したソースコード解析ツール「Understand」の最新版も併せてご紹介します。
医療機器メーカー様、医療機器ソフトウェア開発に携わっている方、医療産業への参入を計画している方は、ぜひご参加ください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆セミナー概要
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【開催日程】2015年7月27日(月)13:30~16:00 (開場:13:10)
【会場】テクマトリックス株式会社 大会議室 東京都港区三田3-11-24 国際興業三田第2ビル
【参加費用】無料
【定員】50名(定員になり次第締め切らせていただきます。)
※同一部署からのご参加は、2名様までとさせていただきます。
※ご同業の方、医療機器製造に携わっていない方の参加は、ご遠慮いただいて
おりますので あらかじめご了承ください。
【講演内容】
■IEC 62304 改訂版 対応解説
【講師】
テクマトリックス株式会社
システムエンジニアリング事業部
取締役 上席執行役員 事業部長
中島 裕生
【概要】
2015年6月に発表されたばかりの IEC 62304 の改訂版 Edition 1.1 について
改定後の重要ポイントについて、詳しく解説します。
■ソフトウェア解析ツール「Understand」最新版ver.4.0のご紹介
【講師】
テクマトリックス株式会社
システムエンジニアリング事業部
ソフトウェアエンジニアリング営業部
渡部 達郎
【概要】
この度リリースされたソースコード解析ツール「Understand 4.0」で追加された
Eclipseプラグイン機能、UML シーケンス図生成機能などを中心に、Understandの
機能と効果的なユースケースをご紹介します。
Understandとは
巨大化と複雑化が進むソフトウェア開発を成功させるためには、ソフトウェア
構造を正確にかつ迅速に把握することが欠かせません。「Understand」は、
関数や変数、ファイルといったさまざまな要素に関する情報を詳細に解析し、
開発者が容易にそれらの情報にアクセスできる環境を提供します。
※内容は、変更する場合がございます。あらかじめご了承ください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆ 関連製品
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
○C++test -C/C++対応自動テストツール-
単体テスト、静的解析、フロー解析、実行時メモリエラー検出を1ツールで実行可能なオールインワンテストツールです。
C言語およびC++言語で実装された医療機器ソフトウェアに対して、IEC/EN 62304:2006の検証計画のタスク要件を満たすためにC++testを利用することができます。
ソフトウェア開発レベルでは、規格が求める要求事項に対応したコーディング規約のチェックや単体テストの効率化はもちろん、実行記録を含む膨大なドキュメント作成の負荷軽減にも役立ちます。
〇AccuRev ソフトウェア構成管理・変更管理ツール
AccuRevは、近年のソフトウェア開発で増加している分散開発や並行開発時に問題となるブランチ管理やマージ作業を簡略化し、運用工数や維持管理コストを削減するソフトウェア構成・変更管理ツールです。
ツールバリデーションに関して、サプライヤ提供の検証資料を使用して効率的なバリデーションが実施可能です。
ラベル:
C++test,
IEC 62304,
Understand,
ソフトウェア品質,
医療機器
2015年7月13日月曜日
失敗しない単体テストに必要なものとは?
単体テストやらないと・・・と思っていても、なかなか取り組めていない人も多いのではないでしょうか?
今回は、これから単体テストに取り組もうとしている人も、実際に始めてみたけど結果に満足していない人にも参考にしてほしい、失敗しない単体テストの実施法についてご紹介します。
■単体テストの重要性
ソフトウェアの規模がそれほど大きくなかった時代においては、複数の開発者が作成したプログラムを結合し、まとめてテストするほうが効率的でした。
しかし、大規模・複雑化が進む最近のソフトウェア開発では、すでに効率的な方法ではなくなってきています。
一般的にソフトウェアの規模が大きいほどバグは見つけづらくなり、後工程で見つかるバグほど修正コストが大きくなると言われています。
バグを残したまま開発が進む「まとめてテストをする」方法では、バグの潜在化を招くとともに、リリース直前・直後に見つかるバグの対応に追われることになります。
そこで、重要になってくるのが「単体テスト」です。
単体テスト(ユニットテストと呼ばれることもあります)とは、プログラムを構成する部品(コンポーネント)が個々の機能を正しく果たしているかどうかを検証するテストです。
テスト対象を分割し、細かくテストをする単体テストを開発早期から実施することで、バグの作り込みを防止し、しかも迅速かつコストを抑えて修正をおこなうことができます。こうして部品の品質が向上し、最終的に全体の品質向上につながっていきます。
このように、メリットの多い単体テストですが、様々な要因によりうまく実施できていない開発現場も多いようです。では、なぜ単体テストがうまくいかないのでしょうか?
また、開発現場に単体テストの実施フローが確立されていないために、本格的に取り組もうとすると従来の方法とは別に発生する工数を懸念したり、実施を始めたもののうまく効果が出せていないという声もよく聞かれます。
お客様からよく聞かれる課題
このように、敷居が高く感じられる単体テストで効果を出すためには、どうすればいいのでしょうか。
■単体テストを成功に導くために
今回挙げられた「お客様からよく聞かれる課題」の1つひとつに対して、テクマトリックスのこれまでの経験と実績をもとに、「失敗しない単体テストの勘所」と題し、資料にまとめました。
など、詳しい内容を知りたい方は、ぜひ資料をご参考ください!
また、テクマトリックスでは。単体テストを効率的に実施する様々な機能を備えたテストツール「C++test」の導入から、単体テストの実施までをサポートするサービスをご提案しています。
製品サイトでは、ツールの導入メリットや単体テスト実施においてC++testがカバーする範囲、活用ポイントなどをまとめています。ぜひご参照ください!
今回は、これから単体テストに取り組もうとしている人も、実際に始めてみたけど結果に満足していない人にも参考にしてほしい、失敗しない単体テストの実施法についてご紹介します。
ソフトウェアの規模がそれほど大きくなかった時代においては、複数の開発者が作成したプログラムを結合し、まとめてテストするほうが効率的でした。
しかし、大規模・複雑化が進む最近のソフトウェア開発では、すでに効率的な方法ではなくなってきています。
一般的にソフトウェアの規模が大きいほどバグは見つけづらくなり、後工程で見つかるバグほど修正コストが大きくなると言われています。
バグを残したまま開発が進む「まとめてテストをする」方法では、バグの潜在化を招くとともに、リリース直前・直後に見つかるバグの対応に追われることになります。
そこで、重要になってくるのが「単体テスト」です。
単体テスト(ユニットテストと呼ばれることもあります)とは、プログラムを構成する部品(コンポーネント)が個々の機能を正しく果たしているかどうかを検証するテストです。
テスト対象を分割し、細かくテストをする単体テストを開発早期から実施することで、バグの作り込みを防止し、しかも迅速かつコストを抑えて修正をおこなうことができます。こうして部品の品質が向上し、最終的に全体の品質向上につながっていきます。
このように、メリットの多い単体テストですが、様々な要因によりうまく実施できていない開発現場も多いようです。では、なぜ単体テストがうまくいかないのでしょうか?
■単体テストの実施を妨げる課題
既存のソフトウェアの追加・保守開発が多くを占める開発現場では、すでに複雑化したソフトウェアに対して、1から単体テストを実施することは難しくなっています。また、開発現場に単体テストの実施フローが確立されていないために、本格的に取り組もうとすると従来の方法とは別に発生する工数を懸念したり、実施を始めたもののうまく効果が出せていないという声もよく聞かれます。
お客様からよく聞かれる課題
- 全てをテストする余裕がない
- 効果的なテストの粒度(スコープ)が分からない
- 担当者によってテスト精度が異なる
- 網羅的にテストをしたのにバグが多く残る
- 単体テストの効果が見えない
このように、敷居が高く感じられる単体テストで効果を出すためには、どうすればいいのでしょうか。
■単体テストを成功に導くために
今回挙げられた「お客様からよく聞かれる課題」の1つひとつに対して、テクマトリックスのこれまでの経験と実績をもとに、「失敗しない単体テストの勘所」と題し、資料にまとめました。
全てをテストする余裕がない現場での解決策は…
ソフトウェアのコードを○○の条件で3つに分類することだった!
など、詳しい内容を知りたい方は、ぜひ資料をご参考ください!
また、テクマトリックスでは。単体テストを効率的に実施する様々な機能を備えたテストツール「C++test」の導入から、単体テストの実施までをサポートするサービスをご提案しています。
製品サイトでは、ツールの導入メリットや単体テスト実施においてC++testがカバーする範囲、活用ポイントなどをまとめています。ぜひご参照ください!
2015年7月6日月曜日
品質向上に結果を出す!!静的解析のチーム運用術
品質向上を目指し、開発現場に「静的解析」を取り入れたものの、なかなか結果に結びついていないと感じている方は多いのではないでしょうか?
今回ご紹介する株式会社JVCケンウッドのプロオーディオ技術部では、従来の静的解析をより効果的なものにするためにツールを見直し、C++testを新たに導入しました。
同部署では「ツール導入が品質向上のゴールではない」という意識のもと、独自のチーム運用とプロセス改革により、静的解析の効果を最大限に引き出しています。さらに、単体テストによるアプローチも同時に実施し、効率的な品質向上を実現しています。
品質向上が“実感できる”静的解析の実施法とは?
開発者の意識が変わる静的解析のチーム運用とは?
C++testだから実現できた開発者の教育・スキルアップとは?
▼▼事例のダウンロード・詳細な内容に対する問い合わせはこちら▼▼

■静的解析+動的解析 両方の機能を搭載したオールインワンテストツール
C++testとは?
C++testは、C/C++プログラムの単体テスト、コーディング規約チェック、静的フロー解析、実行時メモリエラー検出を自動化する総合的なテストツールです。
静的解析では、バグの検出をおこなう静的フロー解析とバグを防止するコーディング規約チェックで、品質の底上げを開発フェーズの早期から強力にサポートします。
こちらも是非、ご利用ください。
2015年7月1日水曜日
結合テストフェーズ以降のデグレードをゼロにする
改修後のデグレード…
コードレビューの形骸化、バグの見落とし…
開発後工程からの手戻り、スケジュールの大幅な変更…
多くの開発現場が直面するこれらの問題に、オリンパス株式会社の生産技術開発部門も頭を悩まされていました。
今回の事例では、同社が取り組む医療機器製造関連システムの開発において、如何にして問題の解決を実現したのか、なぜdotTESTを採用したのか、新しい取り組みがどのように現場に受け入れられたのか… 詳しくご紹介します。
ツールの導入による開発プロセス改善にご興味をお持ちの方は、必見の事例となっておりますので、ぜひご参考ください。
▼▼事例のダウンロード・詳細な内容に対する問い合わせはこちら▼▼
■高速な静的解析でバグを検出・防止!テストコード作成機能でユニットテストを効率化!dotTESTとは?
.NETアプリケーションの静的解析、フロー解析、単体テストを一つのツールで実現するオールインワンテストツールです。セキュアで高品質な.NETアプリケーションの開発とテスト工数の大幅削減を実現します。
こちらも是非、ご利用ください。
2015年6月29日月曜日
ESEC2015出展レポート
5月13日~15日、東京ビッグサイトで開催されました『ESEC:組込みシステム開発技術展2015』にテクマトリックスブースを出展し、多くのお客さまにご来場いただきました。
誠にありがとうございました。
テクマトリックスブースでは、機能安全規格IEC 61508や自動車向け機能安全規格ISO 26262のツール認証を取得したC/C++言語対応オールインワンテストツール「C++test」を始め、C#/VB.NETアプリケーションを対象とした「dotTEST」とその最新導入事例をご紹介させていただき、連日、ブースは大盛況で終えることができました。
また今や世界中で、IoT、M2M、IVIなど外部システムと連携する組み込み開発が急増していく中、
連携接続先の用意が間に合わず開発が止まってしまうという問題を解決し対向機器/対向システムのふるまいを仮想化して、テスト対象機器のテストを円滑に進行させるためのインフラ「Virtualize」を、この度はじめて出展させていただきました。
ブースでは、システム並行開発で想定される問題と、Virtualizeを用いた問題解決方法について、クラウドからのセンサー機器遠隔操作システムをコンパクトにまとめたデモ環境を使って、ご紹介させていただきました。
IoT、M2M、IVIなど外部システムと連携する組み込み開発を円滑に進める方法にご興味がある方!新たにご紹介サイトをご用意しましたので、ぜひお越しください!!
システム並行開発インフラ「Virtualize」
誠にありがとうございました。
また今や世界中で、IoT、M2M、IVIなど外部システムと連携する組み込み開発が急増していく中、
連携接続先の用意が間に合わず開発が止まってしまうという問題を解決し対向機器/対向システムのふるまいを仮想化して、テスト対象機器のテストを円滑に進行させるためのインフラ「Virtualize」を、この度はじめて出展させていただきました。
ブースでは、システム並行開発で想定される問題と、Virtualizeを用いた問題解決方法について、クラウドからのセンサー機器遠隔操作システムをコンパクトにまとめたデモ環境を使って、ご紹介させていただきました。
IoT、M2M、IVIなど外部システムと連携する組み込み開発を円滑に進める方法にご興味がある方!新たにご紹介サイトをご用意しましたので、ぜひお越しください!!
システム並行開発インフラ「Virtualize」
2015年6月22日月曜日
金融システム開発を支えるJtest活用法とは?
開発するシステムには常に高い信頼性が求められるため、同社では独自の開発フレームワークを構築し、品質の確保と開発の標準化に取り組んでいます。
このフレームワークには様々なツールが組み込まれ、同社のソフトウェア開発を支えています。
■フレームワークの更なる強化に向けて、Jtestを採用
しかし、従来のフレームワークで採用していたテストツールでは、目的としたソースコードの問題を検出することが難しい状況でした。そこで品質向上の観点から、新たなツールの導入による開発フレームワークの強化を模索していました。今回は、開発フレームワークに JAVA 対応テストツール『Jtest』を新たに組み込んだことで、バグの早期発見、コードレビューの強化に加え、受け入れ時の品質向上をも実現した事例をご紹介します。
バグの検出に課題を感じている方、受け入れ時の品質に不満をお持ちの方には、必見の事例となっておりますので、ぜひご参考ください。
■高速な静的解析でバグを検出・防止!テストコード作成機能でユニットテストを効率化!Jtestとは?
Jtestは、Javaアプリケーションの静的解析・ユニットテスト(単体テスト)を1つの
ツールで実施可能なオールインワンテストツールです。セキュアで高品質なJavaアプリ
ケーションの開発とテスト工数の削減を強力にサポートします。
こちらも是非、ご利用ください。
2015年6月9日火曜日
システムテストでのテスト漏れ対策
リリース後に見つかるバグ
皆さんは、アプリケーションのリリース後にバグが見つかってしまうという苦い経験をされたことはありませんか?
リリース後にバグが見つかると修正する手戻りが大きく、もし繰り返しバグが発生するようであれば会社の信用にもかかわります。
しっかりシステムテストを実施しているのに、バグが発生してしまうのはなぜでしょう?
決して誰も手抜きをしている訳ではないはずです。
テスト漏れはシステムテストの観点不足?
システムテストでは、そのアプリケーションを利用する際の観点が多く盛り込まれ、操作性や業務の運用に問題がないかを確認します。その一環として異常系のテストも実施されるため、ひと通りの機能がテストされたように思えます。
しかし、ここに『観点の不足よるテスト漏れ』が潜んでいます。
例えば、ユーザの操作と言う観点でみると、ある機能のテストはひとつのテストケースで十分に見えるかもしれません。しかし、ユーザの操作と実際のソースコードは必ずしも一致する訳ではありません。
特にエラー処理などは、プログラム言語に依存したコードが含まれるため、ユーザの操作と言う観点だけではテスト漏れが生じてしまうのです。
しかし、ここに『観点の不足よるテスト漏れ』が潜んでいます。
例えば、ユーザの操作と言う観点でみると、ある機能のテストはひとつのテストケースで十分に見えるかもしれません。しかし、ユーザの操作と実際のソースコードは必ずしも一致する訳ではありません。
特にエラー処理などは、プログラム言語に依存したコードが含まれるため、ユーザの操作と言う観点だけではテスト漏れが生じてしまうのです。
Jtest 『アプリケーションカバレッジ』 でテスト漏れを予防
そこで今回は、テストの観点を補う仕組みとして、Jtest の『アプリケーションカバレッジ』をご紹介します。
この『アプリケーションカバレッジ』を使用すると、いつもどおりのシステムテストを実行するだけでコードカバレッジの計測が行えます。
コードカバレッジを計測すると、客観的にテストの実施状況を捉えることができます。
そのためテスト実施者の思い込みや考慮不足が取り除かれ、テスト漏れの防止に繋がります。
『アプリケーションカバレッジ』の実行イメージ
1. アプリケーションの操作を行います。
![]() |
| 通常のテストシナリオを実行 |
2. アプリケーションの操作で計測されたカバレッジを確認します。
①行カバレッジ
![]() |
| C0:行カバレッジ計測 |
②判断文カバレッジ
![]() |
| C1:判断文カバレッジ |
『アプリケーションカバレッジ』のおすすめ理由
上記の通り、『アプリケーションカバレッジ』を利用すると、システムテストで実行されなかったコードが一目でわかります。そのため、不足しているテストケースの特定が容易になります。
不足しているテストケースを知ることで、不足しているテストの観点に気づくことができます。
テストの観点不足によるテスト漏れを防ぐには、関数レベルの単体テストが有効な手段ですが、開発スパンの短いプロジェクトなどでは、そこまでのテスト実施は難しい場合があるでしょう。
『アプリケーションカバレッジ』なら面倒な準備は不要です。
これまでのシステムテストと変わらない工数で、より効果的なシステムテストを実施できるようになります。
手軽に始められる Jtest『アプリケーションカバレッジ』、ぜひシステムテストに取り入れてみてはいかがでしょうか?
『アプリケーションカバレッジ』の詳細はこちらのページでご紹介しています。 この機会にぜひチェックしてみてください。
評価版のご案内
今回ご紹介した、『アプリケーションカバレッジ』にご興味がございましたら、ぜひ Jtest 評価版で機能をお試しください。
↓Jtest の評価版はこちらからダウンロードできます。↓
Jtest には『アプリケーションカバレッジ』以外にも特定のコーディングパターンをチェックする『コーディングスタンダード』や複数ファイルにまたがる実行パスをシミュレートする『バグ探偵』、単体テストケースの自動生成、実行など様々な機能がございます。
Jtest の機能については次のページでご紹介しています。
登録:
投稿 (Atom)

















