Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Junitを使ったjavaのテスト入門

34.955 visualizaciones

Publicado el

Publicado en: Tecnología
  • Inicia sesión para ver los comentarios

Junitを使ったjavaのテスト入門

  1. 1. JUnitを使ったJavaのテスト入門@megascus13年6月20日木曜日
  2. 2. •名前: 久保 智•twitter id: @megascus•JJUG幹事•JJUG幹事募集中です!自己紹介13年6月20日木曜日
  3. 3. 注意13年6月20日木曜日
  4. 4. 本日はJava初心者向けです13年6月20日木曜日
  5. 5. 高度な内容はでてきません13年6月20日木曜日
  6. 6. アジェンダ•なぜJUnitを使うのか•JUnitの使い方•JUnitを効果的に使うために13年6月20日木曜日
  7. 7. アジェンダ•なぜJUnitを使うのか•JUnitの使い方•JUnitを効果的に使うために13年6月20日木曜日
  8. 8. なぜJUnitを使うのか13年6月20日木曜日
  9. 9. 動かない時の確認方法13年6月20日木曜日
  10. 10. どうしていますか?13年6月20日木曜日
  11. 11. デバッグプリント13年6月20日木曜日
  12. 12. System.out.println()13年6月20日木曜日
  13. 13. デバッグプリントpublic void doSomething (Human human) {System.out.println(human.getFamillyName());//変数の中に何が入ってるのかを//標準出力に出力する}13年6月20日木曜日
  14. 14. デバッカー13年6月20日木曜日
  15. 15. 動いているプログラムに介入する13年6月20日木曜日
  16. 16. デバッカー13年6月20日木曜日
  17. 17. よくやる(はず)13年6月20日木曜日
  18. 18. これらの問題点13年6月20日木曜日
  19. 19. 記録・再生ができない13年6月20日木曜日
  20. 20. 問題点•テストした結果を他の人が簡単に参照することが出来ない。(画面キャプチャとかとれば出来る)•もう一度テストしたいときは、改めて人間が操作しないといけない。(あらためてデバッグする)13年6月20日木曜日
  21. 21. ここで考えて下さい13年6月20日木曜日
  22. 22. 本当に問題ですか?13年6月20日木曜日
  23. 23. 本当に問題ですか?•一回動いたら動かなくなること無いから最初に一回だけ確認すればいいよね。13年6月20日木曜日
  24. 24. そんなことはないです13年6月20日木曜日
  25. 25. 例えばWindows13年6月20日木曜日
  26. 26. 例えばWindowshttp://www.theverge.com/2012/7/4/3136851/windows-logo-backwards-evolution13年6月20日木曜日
  27. 27. 例えばWindows•数年に一度のメジャーアップデート(XPとかVistaとか7とか8とか)•それより短い期間でのサービスパック(SP1とかSP2とか)•毎月のセキュリティパッチ13年6月20日木曜日
  28. 28. 動かなくなった例http://itpro.nikkeibp.co.jp/article/NEWS/20130416/471121/13年6月20日木曜日
  29. 29. ここでソフトウェアについて13年6月20日木曜日
  30. 30. ソフトウェア•一度リリースしたソフトウェアを更新しないで済むことはあまりない•最近のソフトウェアは複雑なので、修正した内容がどこに影響を与えるか判りにくい•更新後にすでにある機能が動作するかを確認すること(回帰テスト)は必須13年6月20日木曜日
  31. 31. 回帰テスト13年6月20日木曜日
  32. 32. 回帰テスト•ソフトウェアプログラムに変更を加えた際、それによって新たな不具合が起きていないかを検証するテストのこと•今までのテストをやり直すため、人手でやるとすごい時間がかかる•一ヶ月単位のリリースだと、毎月回帰テストが必要で大変13年6月20日木曜日
  33. 33. ここまで説明した上で13年6月20日木曜日
  34. 34. JUnitができることは何か13年6月20日木曜日
  35. 35. JUnitができること•特定のメソッドの引数と戻り値が期待された値と同じかを確認するプログラムを書くことができる13年6月20日木曜日
  36. 36. なぜJUnitを使うのか13年6月20日木曜日
  37. 37. なぜJUnitを使うのか•テストした内容を記録・再生するため•いつでも再生できるようにしておくことで、デグレード(元々動いた機能が動かなくなること)を防ぎやすくなる•回帰テストの自動化13年6月20日木曜日
  38. 38. なぜJUnitを使うのか•人手でやることを機械が勝手にやってくれるようになれば楽ですよね13年6月20日木曜日
  39. 39. 逆にJUnitを使わない場合•使い捨てソフトウェア•数年に一度しかリリースされないソフトウェア•JUnitでやりたい内容を人力でがんばる場合13年6月20日木曜日
  40. 40. アジェンダ•なぜJUnitを使うのか•JUnitの使い方•JUnitを効果的に使うために13年6月20日木曜日
  41. 41. JUnitの使い方13年6月20日木曜日
  42. 42. JUnitの入手方法13年6月20日木曜日
  43. 43. IDE使ってればすでに入ってます※Eclipse、NetBeans、IntelliJなど13年6月20日木曜日
  44. 44. JUnitができること13年6月20日木曜日
  45. 45. JUnitができること•特定のメソッドの引数と戻り値が期待された値と同じかを確認するプログラムを書くことができる13年6月20日木曜日
  46. 46. JUnitを実際に書いてみる※ここから先はEclipseでやってみます13年6月20日木曜日
  47. 47. テスト対象を書く(Math.java)13年6月20日木曜日
  48. 48. 右クリックからJUnit Test Caseを選択13年6月20日木曜日
  49. 49. そのままnextを押す13年6月20日木曜日
  50. 50. テストしたいメソッドを選択してFinish13年6月20日木曜日
  51. 51. 初回はライブラリを追加するか聞かれるのでOK13年6月20日木曜日
  52. 52. テストのテンプレート完成13年6月20日木曜日
  53. 53. テストのライブラリをインポート13年6月20日木曜日
  54. 54. テスト対象メソッドに@Testアノテーション13年6月20日木曜日
  55. 55. 動かしてみる作成したテストクラスを右クリックしてRun AsからJUnitTestを選択するだけ13年6月20日木曜日
  56. 56. 動いたけれども失敗13年6月20日木曜日
  57. 57. failメソッドはテストを失敗させる13年6月20日木曜日
  58. 58. テストを成功させる13年6月20日木曜日
  59. 59. テストを成功させる13年6月20日木曜日
  60. 60. テストを失敗させる(2)13年6月20日木曜日
  61. 61. テストを失敗させる(2)なぜ失敗したのかのメッセージがでる13年6月20日木曜日
  62. 62. assertEquals(expected, actual)•expected(推定した値)がactual(実際の値)と等しければテストが成功、等しくなければ失敗•JUnitに慣れるまではこれを書くのがお仕事になる13年6月20日木曜日
  63. 63. 今までのを並べてみる13年6月20日木曜日
  64. 64. (補足)Exceptionのテスト13年6月20日木曜日
  65. 65. JUnitの使い方•IDEが適当にテンプレートを作ってくれるので細かい書き方は覚えなくてもOK•基本はassertEquals•Exceptionが発生するかは@Test(expected=〜)13年6月20日木曜日
  66. 66. アジェンダ•なぜJUnitを使うのか•JUnitの使い方•JUnitを効果的に使うために13年6月20日木曜日
  67. 67. JUnitを効果的に使うために13年6月20日木曜日
  68. 68. JUnitの高度な使い方を学びたいならここからCMです。ただし、登壇者にはお金は入ってこない13年6月20日木曜日
  69. 69. JUnit実践入門JUnitのしっかりとした書き方を知りたいなら。JUnitの書き方の最適化からJUnitを使ったテストの自動化まで。Javaプログラマのみなさま必須の品です。http://goo.gl/P8Bph13年6月20日木曜日
  70. 70. 実践テスト駆動開発JUnitを開発手法のメインにしてみた。テストを設計ととらえて、テストと実装を交互に行うことでバグの発生率を格段に下げることの出来る開発手法、テスト駆動開発に関する本。http://goo.gl/3O4UE13年6月20日木曜日
  71. 71. テスト駆動開発13年6月20日木曜日
  72. 72. バグが半分以下になることで有名です13年6月20日木曜日
  73. 73. http://www.slideshare.net/t_wada/tddbc-fukuoka-day113年6月20日木曜日
  74. 74. そんなTDDが学べるイベント13年6月20日木曜日
  75. 75. TDDBCテスト駆動開発ブートキャンプ13年6月20日木曜日
  76. 76. 次回、7月楽天タワーにてComming soon....http://devtesting.jp/tddbc/ただし、登壇者とは関係がありません。参加者として参加してるかもしれない。13年6月20日木曜日
  77. 77. 以上ありがとうございました13年6月20日木曜日

×