SlideShare a Scribd company logo
1 of 13
Download to read offline
サンプル:http://books.ascii.jp/9784048860680/




2013/03/15 
✤



    ✤



    ✤



    ✤




✤



    ✤



    ✤
✤



    ✤




    ✤
✤



    ✤




    ✤




    ✤



✤



    ✤
!




            !
!       !
※抜け漏れあり
                                    ※リスクベースである程度の
                                     取捨選択が現実的(自己弁護)


テストケース番号             入力値                   ユニットテスト UIテスト
           検証項目                  出力メッセージ
(メソッド名)           (辺a, 辺b, 辺c)               で検証   で検証
public class TriangleTest extends TestCase {

    public void test01() {
        Triangle testee = new Triangle(2,3,4);
        assertEquals(Triangle.Type.SCALENCE, testee.checkType());
    }

    public void test02() {
        Triangle testee = new Triangle(1,2,2);
        assertEquals(Triangle.Type.ISOSCELES, testee.checkType());
    }

    public void test03() {    (割愛)  }


    public void test04() {    (割愛)  }


    public void test05() {
        try {
            Triangle testee = new Triangle(1,2,3);
            fail("Wrong instance: " + testee.checkType().toString());
        } catch (RuntimeException e) {
            assertEquals("                                     ",e.getMessage());
        }
    }

}
public class TriangleActivityTest extends TestCase {

  (テストメソッド以外は割愛)


    public void test01() {
        driver.startActivity(TESTEE);   // テスト対象の絶対クラスパスを文字列で指定
        inputText("editText_a", "2");
        inputText("editText_b", "3");
        inputText("editText_c", "4");
        assertTrue(driver.findElement(By.id("do_check")).isEnabled());
        buttonClick();
        assertEquals("", driver.findElement(By.id("error_message")).getText());
        assertEquals("             ",
                driver.findElement(By.id("result_message")).getText());
    }

    public void test06() { (test06とほぼ同じ ! 割愛) }


    public void test06() {
        driver.startActivity(TESTEE);
        inputText("editText_a", "a");
        inputText("editText_b", "2");
        inputText("editText_c", "2");
        assertFalse(driver.findElement(By.id("do_check")).isEnabled());
        assertEquals("", driver.findElement(By.id("result_message")).getText());
        assertEquals("                              ",
                driver.findElement(By.id("error_message")).getText());
    }

}
✤



✤




    サンプル:http://books.ascii.jp/9784048860680/
         “ch3/3-3/”
✤




✤




✤




    ✤
✤



    ✤



    ✤



    ✤



    ✤

More Related Content

Similar to Androidでテストってどないすんねん!

TDDワークショップ(第2回)
TDDワークショップ(第2回)TDDワークショップ(第2回)
TDDワークショップ(第2回)Yoshihiro Furukawa
 
Apache Wicketのユニットテスト機能
Apache Wicketのユニットテスト機能Apache Wicketのユニットテスト機能
Apache Wicketのユニットテスト機能Hiroto Yamakawa
 
Unit test in android
Unit test in androidUnit test in android
Unit test in androidTatsuya Maki
 
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_cccJEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_cccYujiSoftware
 
Javaプログラミング入門【第6回】
Javaプログラミング入門【第6回】Javaプログラミング入門【第6回】
Javaプログラミング入門【第6回】Yukiko Kato
 
Javaセキュアコーディングセミナー東京第3回演習
Javaセキュアコーディングセミナー東京第3回演習Javaセキュアコーディングセミナー東京第3回演習
Javaセキュアコーディングセミナー東京第3回演習JPCERT Coordination Center
 
「Automated Oracle Creation Support, or: How I Learned to Stop Worrying about ...
「Automated Oracle Creation Support, or: How I Learned to Stop Worrying about ...「Automated Oracle Creation Support, or: How I Learned to Stop Worrying about ...
「Automated Oracle Creation Support, or: How I Learned to Stop Worrying about ...nkazuki
 
ユニットテストの保守性を作りこむ, xpjugkansai2011
ユニットテストの保守性を作りこむ, xpjugkansai2011ユニットテストの保守性を作りこむ, xpjugkansai2011
ユニットテストの保守性を作りこむ, xpjugkansai2011H Iseri
 
Java puzzlers 2013 at JavaFesta Japan
Java puzzlers 2013 at JavaFesta JapanJava puzzlers 2013 at JavaFesta Japan
Java puzzlers 2013 at JavaFesta JapanYoshio Terada
 

Similar to Androidでテストってどないすんねん! (13)

Junit4
Junit4Junit4
Junit4
 
TDDワークショップ(第2回)
TDDワークショップ(第2回)TDDワークショップ(第2回)
TDDワークショップ(第2回)
 
Apache Wicketのユニットテスト機能
Apache Wicketのユニットテスト機能Apache Wicketのユニットテスト機能
Apache Wicketのユニットテスト機能
 
Unit test in android
Unit test in androidUnit test in android
Unit test in android
 
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_cccJEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
 
Javaプログラミング入門【第6回】
Javaプログラミング入門【第6回】Javaプログラミング入門【第6回】
Javaプログラミング入門【第6回】
 
20150302 java8 第一回_ラムダ式(1)
20150302 java8 第一回_ラムダ式(1)20150302 java8 第一回_ラムダ式(1)
20150302 java8 第一回_ラムダ式(1)
 
Javaセキュアコーディングセミナー東京第3回演習
Javaセキュアコーディングセミナー東京第3回演習Javaセキュアコーディングセミナー東京第3回演習
Javaセキュアコーディングセミナー東京第3回演習
 
「Automated Oracle Creation Support, or: How I Learned to Stop Worrying about ...
「Automated Oracle Creation Support, or: How I Learned to Stop Worrying about ...「Automated Oracle Creation Support, or: How I Learned to Stop Worrying about ...
「Automated Oracle Creation Support, or: How I Learned to Stop Worrying about ...
 
Akka Unit Testing
Akka Unit TestingAkka Unit Testing
Akka Unit Testing
 
Java7再入門講座
Java7再入門講座Java7再入門講座
Java7再入門講座
 
ユニットテストの保守性を作りこむ, xpjugkansai2011
ユニットテストの保守性を作りこむ, xpjugkansai2011ユニットテストの保守性を作りこむ, xpjugkansai2011
ユニットテストの保守性を作りこむ, xpjugkansai2011
 
Java puzzlers 2013 at JavaFesta Japan
Java puzzlers 2013 at JavaFesta JapanJava puzzlers 2013 at JavaFesta Japan
Java puzzlers 2013 at JavaFesta Japan
 

More from akimichi Yamada

情報処理技術者の倫理とWell being
情報処理技術者の倫理とWell being情報処理技術者の倫理とWell being
情報処理技術者の倫理とWell beingakimichi Yamada
 
情報処理技術者のための技術士受験のすすめ
情報処理技術者のための技術士受験のすすめ情報処理技術者のための技術士受験のすすめ
情報処理技術者のための技術士受験のすすめakimichi Yamada
 
NASのHDDが死にかけた話
NASのHDDが死にかけた話NASのHDDが死にかけた話
NASのHDDが死にかけた話akimichi Yamada
 
職業プログラマに必要な意識について
職業プログラマに必要な意識について職業プログラマに必要な意識について
職業プログラマに必要な意識についてakimichi Yamada
 
20141114 ddd13章 より深い洞察へと向かうリファクタリング
20141114 ddd13章 より深い洞察へと向かうリファクタリング20141114 ddd13章 より深い洞察へと向かうリファクタリング
20141114 ddd13章 より深い洞察へと向かうリファクタリングakimichi Yamada
 
エリック・エヴァンスのドメイン駆動設計 第3部〜8章まで
エリック・エヴァンスのドメイン駆動設計 第3部〜8章までエリック・エヴァンスのドメイン駆動設計 第3部〜8章まで
エリック・エヴァンスのドメイン駆動設計 第3部〜8章までakimichi Yamada
 
Fiddlerで通信のデバッグを効率化する
Fiddlerで通信のデバッグを効率化するFiddlerで通信のデバッグを効率化する
Fiddlerで通信のデバッグを効率化するakimichi Yamada
 

More from akimichi Yamada (8)

情報処理技術者の倫理とWell being
情報処理技術者の倫理とWell being情報処理技術者の倫理とWell being
情報処理技術者の倫理とWell being
 
情報処理技術者のための技術士受験のすすめ
情報処理技術者のための技術士受験のすすめ情報処理技術者のための技術士受験のすすめ
情報処理技術者のための技術士受験のすすめ
 
NASのHDDが死にかけた話
NASのHDDが死にかけた話NASのHDDが死にかけた話
NASのHDDが死にかけた話
 
職業プログラマに必要な意識について
職業プログラマに必要な意識について職業プログラマに必要な意識について
職業プログラマに必要な意識について
 
20141114 ddd13章 より深い洞察へと向かうリファクタリング
20141114 ddd13章 より深い洞察へと向かうリファクタリング20141114 ddd13章 より深い洞察へと向かうリファクタリング
20141114 ddd13章 より深い洞察へと向かうリファクタリング
 
エリック・エヴァンスのドメイン駆動設計 第3部〜8章まで
エリック・エヴァンスのドメイン駆動設計 第3部〜8章までエリック・エヴァンスのドメイン駆動設計 第3部〜8章まで
エリック・エヴァンスのドメイン駆動設計 第3部〜8章まで
 
Fiddlerで通信のデバッグを効率化する
Fiddlerで通信のデバッグを効率化するFiddlerで通信のデバッグを効率化する
Fiddlerで通信のデバッグを効率化する
 
Phone gap + monaca
Phone gap + monacaPhone gap + monaca
Phone gap + monaca
 

Androidでテストってどないすんねん!

  • 2.
  • 3.
  • 4. ✤ ✤ ✤ ✤ ✤ ✤
  • 5. ✤ ✤
  • 6. ✤ ✤ ✤ ✤ ✤
  • 7. ! ! ! !
  • 8. ※抜け漏れあり ※リスクベースである程度の  取捨選択が現実的(自己弁護) テストケース番号 入力値 ユニットテスト UIテスト 検証項目 出力メッセージ (メソッド名) (辺a, 辺b, 辺c) で検証 で検証
  • 9. public class TriangleTest extends TestCase { public void test01() { Triangle testee = new Triangle(2,3,4); assertEquals(Triangle.Type.SCALENCE, testee.checkType()); } public void test02() { Triangle testee = new Triangle(1,2,2); assertEquals(Triangle.Type.ISOSCELES, testee.checkType()); } public void test03() { (割愛)  } public void test04() { (割愛)  } public void test05() { try { Triangle testee = new Triangle(1,2,3); fail("Wrong instance: " + testee.checkType().toString()); } catch (RuntimeException e) { assertEquals(" ",e.getMessage()); } } }
  • 10. public class TriangleActivityTest extends TestCase {   (テストメソッド以外は割愛) public void test01() { driver.startActivity(TESTEE); // テスト対象の絶対クラスパスを文字列で指定 inputText("editText_a", "2"); inputText("editText_b", "3"); inputText("editText_c", "4"); assertTrue(driver.findElement(By.id("do_check")).isEnabled()); buttonClick(); assertEquals("", driver.findElement(By.id("error_message")).getText()); assertEquals(" ", driver.findElement(By.id("result_message")).getText()); } public void test06() { (test06とほぼ同じ ! 割愛) } public void test06() { driver.startActivity(TESTEE); inputText("editText_a", "a"); inputText("editText_b", "2"); inputText("editText_c", "2"); assertFalse(driver.findElement(By.id("do_check")).isEnabled()); assertEquals("", driver.findElement(By.id("result_message")).getText()); assertEquals(" ", driver.findElement(By.id("error_message")).getText()); } }
  • 11. ✤ ✤ サンプル:http://books.ascii.jp/9784048860680/      “ch3/3-3/”
  • 12. ✤ ✤ ✤
  • 13. ✤ ✤ ✤ ✤