このブログについて

ソフトウェア開発におけるエラーの予防やプロジェクト管理、品質管理を支援するParasoft製品のTIPSなどを、国内総販売代理店テクマトリックスのサポートスタッフが紹介しています。

2014年9月24日水曜日

9/11開催 「ユースケースに学ぶソフトウェア品質向上ノウハウ」セミナーレポート


9/11に開催されました開発現場に合った最適な品質向上策を実施するには?ユースケースに学ぶ 運用に乗せるソフトウェア品質向上ノウハウ」セミナーはお足元の悪い中にも関わらず、多くの方にご参加頂きご好評のうちに無事開催終了いたしました。

遠方からもご足労いただき、誠にありがとうございました。


今回のセミナーでは、これまでのテクマトリックスの取り組みで成功した複数のユースケースをもとに、現場に合った運用に乗せる品質向上策の実施方法について、ご紹介させていただきました。

セミナーにご参加いただいたお客様の声
「回帰テストがうまく回っていない理由がわかった気がします。参考にしたいと思います。」
「実例を踏まえた内容で参考になりました。」
「ステルス・アジャイルは参考になりました。できるところから改善したいです。」
「テスト駆動開発の概要が理解できました。」

ご都合により来場いただけなかった方で、セミナー内容にご興味のある方に、当日資料の簡易版も提供しております。ご希望の方は、お気軽にお問い合わせください。


会場の様子


=============================================================================
「開発現場で成果を出した単体テストの運用改善アプローチ」

単体テストの実施においてツールが運用にのらない、効果がでないのはなぜなのか?運用に乗せるためには、開発現場に何が不足していて何を実施する必要があったのかを過去の例を交えながら紹介しました。




=============================================================================

「品質を底上げする静的解析の徹底利用法」

実はフロー解析におけるバグの検出と修正だけでは、次回以降のプロジェクトでも同じようなバグの検出と修正を繰り返してしまいます。
「テスト工程以降にバグが流出している」
「過去と同じバグを繰り返している」
「レビューの工数が多い、指摘漏れが多い」
といった各ケースにおける原因と対策について、ご紹介しました。





=============================================================================

「五月雨式の仕様変更に耐えるコーディング方法」

繰り返される仕様変更に耐えるアジャイルの開発手法「テスト駆動開発」。なぜテスト駆動開発が必要なのか?その理由と実施のために必要な環境についてご紹介しました。



=============================================================================

多くの質疑応答もあり、大盛況のうちに終了する事ができました。

多くのご質問もいただき、活発な議論も

テクマトリックスではツールのご提供のみにとどまらず、導入前の支援から、導入開始時における開発者向けのトレーニング、CI(継続的インテグレーション)環境構築など、運用に乗せるための様々なサービスも実施しています。

また、今回のご紹介させていただいたParasoft社製テストツールC++testの詳しい情報、無償体験版ダウンロードはこちら↓です。


  技術資料請求


2014年9月12日金曜日

単体テスト Genie でテストをしよう!

皆さん、単体テストしてますか? 
C#やVBなどの.NET Fromeworkのアプリケーションでは、NUnitやMSTestなどが有名ですが、dotTESTにも「単体テストGenie」という機能があります。
dotTEST の Genie を利用すると。。。
NUnit や MStest のようにコードを書く必要がなく、テストケースを作成することができます!

では、今回は、dotTEST の単体テストGenieについてご紹介します。
※Genie とは、アラジンのランプの魔人のことです。


■ 単体テストGenie
テストケースの作成には、2つの専用のビューを使用します。
単体テストGenieビュー
ビルダー 
























[単体テストGenie]ビューで、テストしたいメソッドを選択し、テストケースの入力値や期待値を[ビルダー]画面で入力していきます。

■ テストケースの作成
今回は、映画料金を計算する Chargeメソッドを例にご紹介します。

Chargeメソッドでは、入力値に「年齢」や「大学生かどうか?」など複数の引数を指定し、その結果、映画料金を返します。

【映画料金表】

一般 1,800 円
大学生 1,500 円
高校生 1,000 円
小人(3歳から中学生) 1,000円
シニア(60歳以上) 1,000円
障害者手帳をお持ちの方 1,000円


ビルダー画面は、複数のタブで構成されています。入力値(今回は、メソッドの引数)は、[入力]タブ、期待値(今回は、映画料金)は、[アサーション]タブで設定します。
















テストケースを作成するときは、同じ料金になるように、入力値を考えます。今回は年齢に着目して、60歳以上のシニア料金のパターンを考えてみましょう。



























入力値を任意の値で設定するために、「ユーザー定義値の使用」にチェックを入れ、(60,65,70,75)と60歳以上の年齢入力します。
※改行を入れると複数データを入力できます。

シニア料金の場合は、男性でも女性でも関係ないので、lady の設定だけ、true/falseを選択し、他の入力値はfalseを選択すると、8個のテストケースが作成されます。
Genieは、入力値のすべての値を組み合わせて、テストケースを作成します。今回は、年齢の4パターンと性別の2パターンを組み合わせて、8パターンとなります。

次は、期待値を入力します。
















シニアの場合は、一律1000円になります。種類を「アサート」に変更し、期待値に「1000」と入れて、生成ボタンをクリックするとテストケースが生成されます。

dotTESTは、NUnit形式のテストケースを作成してくれます。メソッド実行後の期待値をチェックするために、AreEqualメソッドを使用してます。もし映画料金が期待値と一致しない場合は、すぐに確認することができます。

■ テストの実行
では、作成したテストケースを実行してみましょう。
単体テストを実行するには、 ビルトインの[Run Tests and Check Assertions]をメニューから選択します。このテストコンフィギュレーションでは、単体テストの実行と、一緒にカバレッジも測定することができます。



■ まとめ
Genieを使うと、GUIで操作しながらテストケースを作成することができます。面倒なコードを書く必要がありません。また、テストケース内で、期待値と結果を判定しているので、結果をひと目で確認もできます。単体テストをやっていない人、まずはGenieを使って単体テストをはじめてみませんか?

テストケースを1つ1つ、Genieで作るのは、ちょっと大変じゃない?という人には、Genieで作ったテストケースを修正することで、Excelなどの外部ファイルに入力値や期待値のテストデータを定義して、テストを行うことも可能です。


















Excelを利用したテストケースの方法について弊社で作成した資料がありますので、気になる方は、Parasoft製品カスタマーセンターまでお問合せください。

Genieを使って単体テストをやってみたいという人は、dotTEST の体験版をご用意していますので、 Parasoft dotTEST 製品ページ をご確認ください。