Presentation is loading. Please wait.

Presentation is loading. Please wait.

ペアプロ小劇場 劇団ペケぴー 天野勝 永和システムマネジメント 大熊知栄 アジアパシフィックシステム総研

Similar presentations


Presentation on theme: "ペアプロ小劇場 劇団ペケぴー 天野勝 永和システムマネジメント 大熊知栄 アジアパシフィックシステム総研"— Presentation transcript:

1 ペアプロ小劇場 劇団ペケぴー 天野勝 永和システムマネジメント 大熊知栄 アジアパシフィックシステム総研
天野勝  永和システムマネジメント 大熊知栄 アジアパシフィックシステム総研 安井力  アジアパシフィックシステム総研 懸田剛  永和システムマネジメント

2 今日は? テスティングがネタです

3 テストになってない

4 ・グリーンになっただけ? ・テストの 書き忘れ public void testAdd() { Calc.add(1, 2); }
public void testSub() { Calc.sub(1, 2); public void testDiv() { Calc.div(2, 1); try { Calc.div(2, 0); } catch(Exception e) { } public void testMul() { // まだ ・グリーンになっただけ? ・テストの 書き忘れ

5 テストケースを 作る目的が わかってな~い

6 テストになってない 症状 原因 処方箋 assert がない なにも確認していない メソッドを呼ぶだけでテストになると思っている
なにを確認すればいいのかわからない 処方箋 アサートファーストを実践する どんなことを確認するのか理解する 確認する項目と内容をレビューする

7 自動化してない

8 ・確認内容を画面に 表示しているだけ。 ・手作業で確認 しなくてはならない。
・手作業で確認 しなくてはならない。 LineItem item1 = new LineItem(); item1.setPrice(1000); item1.setQuantity(20); Order order = new Order(); order.addLine(item1); LineItem item2 = new DiscountedItem(24, 0.9); item2.setPrice(800); item2.setQuantity(50); order.addLine(item2); System.out.println("1000*20の品と、24個ロットで9掛けの800円の品50個の合計" + order.getTotalPrice()); order.register(); System.out.println("DBを見て注文が登録されているか確認する");

9 テスティングフレームワークの思想が わかってな~い

10 自動化してない 症状 原因 処方箋 目で見て確認している 手作業で動作を確認している assert の使い方をわかってない
どうやって確認すればいいのかわからない 処方箋 ぜんぶassertを使って確認する 難しいテストのノウハウを調べる Mockを活用する xUnitの拡張パッケージを使う

11 回帰していない

12 public void test1() { InputStream is = new FileInputStream("c:\ボケ子\test1.xml"); Response expected = buildData(is); Response actual = target.execute(); assertEquals(expected, actual, "test1.xmlの中身と一致すること"); } public void test2() { InputStream is = new FileInputStream("c:\ボケ子\test2.xml"); Response actual = target.execute2(); assertEquals(expected, actual, "test2.xmlの中身と一致すること");

13 回帰テストの価値が わかってな~い

14 回帰していない 症状 原因 処方箋 環境を変えるとテストが通らなくなる 繰り返して実行すると動作が変わる
テスト実行マシンの環境に依存したテストコード 処方箋 テスト環境に依存しない

15 楽していない

16 フィールド⇒30個 アクセッサ⇒60個 3つのテストケース⇒ 180個

17 テスティングフレームワークの思想が わかってな~い

18 楽していない 症状 原因 処方箋 時間がかかる割には、テストコードから得られるメリットが少ない
機械的にテストコードを書いていて、創意工夫をしていない 処方箋 テストが必要かどうかを熟考し、不要なテストコードは書かない

19 ありがとうございました 天野勝 大熊知栄 安井力 懸田剛


Download ppt "ペアプロ小劇場 劇団ペケぴー 天野勝 永和システムマネジメント 大熊知栄 アジアパシフィックシステム総研"

Similar presentations


Ads by Google