SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Next-L Enju 開発 WS #3



    2012 年 4 月 20 日
        田辺浩介
テスト
テストの例

貸出を行ったとき、
 貸し出し中の利用者と貸出期限日が正しく設定さ
  れるか
 貸出状況が「貸出中」に変更されているか
返却を行ったとき、
 貸出状況が「在架」に変更されているか
テストは大変?

テストすべきことはたくさんある
 受入、貸出・返却、予約、利用者管理
 ある機能が、
  管理者のみ実行できるか
  図書館員のみ実行できるか
  一般利用者でも実行できるか
  誰でも実行できるか
手動でやっていたら
  日が暮れる
テストの自動化

テストのためのプログラム(テストコード)
 を書いて、コンピュータに実行してもらう
 最近の開発環境はテストを自動化するための仕組
  みがある
Ruby on Rails でのテスト環境

現在は Rspec が主流
テストの書き方

テストコード
 spec/models, spec/controllers 以下に存在
テストに必要な初期データ
 spec/fixtures, spec/factories 以下に存在
テストの種類
spec/models
  モデル (app/models) のコードのテスト
spec/controllers
  コントローラ (app/controllers) のコードのテスト
テストを見てみよう

処理と期待する結果のセット
 It “ 処理の概要” do
   # テストの内容
   patron.should eq “ たなべ”
 end
テストに使う言葉

処理 .should eq “ なんとかかんとか”
  処理の結果が”なんとかかんとか”に等しい
処理 .should be_true
  処理の結果が true である
処理 .should_not eq “ なんとかかんとか”
  処理の結果が”なんとかかんとか”ではない
Next-L Enju のテストの課題

ビューのテストがない

Weitere ähnliche Inhalte

Ähnlich wie Next-L Enju 開発ワークショップ #3

クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化Etsuji Nakai
 
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発Naoki Umehara
 
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景ソフトウェア開発の現場風景
ソフトウェア開発の現場風景Koichi ITO
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱Koichi ITO
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Tokuhiro Matsuno
 
レガシーコードとの付き合い方とテストでの話
レガシーコードとの付き合い方とテストでの話レガシーコードとの付き合い方とテストでの話
レガシーコードとの付き合い方とテストでの話H Iseri
 
これからのOpenShiftの話をしよう
これからのOpenShiftの話をしようこれからのOpenShiftの話をしよう
これからのOpenShiftの話をしようKazuto Kusama
 
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレースデブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレースDevelopers Summit
 
20170710 hifive-test-meetup
20170710 hifive-test-meetup20170710 hifive-test-meetup
20170710 hifive-test-meetupNaoya Kojima
 
テストしなイカ? Seleniumで自動ブラウザテスト
テストしなイカ? Seleniumで自動ブラウザテストテストしなイカ? Seleniumで自動ブラウザテスト
テストしなイカ? Seleniumで自動ブラウザテストOhishi Mikage
 
Rubyプログラミング教育に対する取り組みと事例紹介
Rubyプログラミング教育に対する取り組みと事例紹介Rubyプログラミング教育に対する取り組みと事例紹介
Rubyプログラミング教育に対する取り組みと事例紹介Yasushi Ishikawa
 
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops20120927 findjob4 dev_ops
20120927 findjob4 dev_opsume3_
 
テスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ーテスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ーShuji Watanabe
 
Gui自動テストツール基本
Gui自動テストツール基本Gui自動テストツール基本
Gui自動テストツール基本Tsuyoshi Yumoto
 
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進めDai FUJIHARA
 
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進めRakuten Group, Inc.
 
脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルにHiroko Tamagawa
 

Ähnlich wie Next-L Enju 開発ワークショップ #3 (20)

クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化
 
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
 
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景ソフトウェア開発の現場風景
ソフトウェア開発の現場風景
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
 
レガシーコードとの付き合い方とテストでの話
レガシーコードとの付き合い方とテストでの話レガシーコードとの付き合い方とテストでの話
レガシーコードとの付き合い方とテストでの話
 
これからのOpenShiftの話をしよう
これからのOpenShiftの話をしようこれからのOpenShiftの話をしよう
これからのOpenShiftの話をしよう
 
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレースデブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
 
20170710 hifive-test-meetup
20170710 hifive-test-meetup20170710 hifive-test-meetup
20170710 hifive-test-meetup
 
テストしなイカ? Seleniumで自動ブラウザテスト
テストしなイカ? Seleniumで自動ブラウザテストテストしなイカ? Seleniumで自動ブラウザテスト
テストしなイカ? Seleniumで自動ブラウザテスト
 
Rubyプログラミング教育に対する取り組みと事例紹介
Rubyプログラミング教育に対する取り組みと事例紹介Rubyプログラミング教育に対する取り組みと事例紹介
Rubyプログラミング教育に対する取り組みと事例紹介
 
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops20120927 findjob4 dev_ops
20120927 findjob4 dev_ops
 
テスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ーテスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ー
 
Gui自動テストツール基本
Gui自動テストツール基本Gui自動テストツール基本
Gui自動テストツール基本
 
Com camp2014
Com camp2014Com camp2014
Com camp2014
 
Hadoopカンファレンス2013
Hadoopカンファレンス2013Hadoopカンファレンス2013
Hadoopカンファレンス2013
 
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め
 
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め
 
Nds#24 単体テスト
Nds#24 単体テストNds#24 単体テスト
Nds#24 単体テスト
 
脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに
 

Mehr von Kosuke Tanabe

Next-L Enju ワークショップ #91
Next-L Enju ワークショップ #91Next-L Enju ワークショップ #91
Next-L Enju ワークショップ #91Kosuke Tanabe
 
Next-L Enju ワークショップ #90
Next-L Enju ワークショップ #90Next-L Enju ワークショップ #90
Next-L Enju ワークショップ #90Kosuke Tanabe
 
Next-L Enju ワークショップ #89
Next-L Enju ワークショップ #89Next-L Enju ワークショップ #89
Next-L Enju ワークショップ #89Kosuke Tanabe
 
Next-L Enju ワークショップ #88
Next-L Enju ワークショップ #88Next-L Enju ワークショップ #88
Next-L Enju ワークショップ #88Kosuke Tanabe
 
Next-L Enju ワークショップ #86
Next-L Enju ワークショップ #86Next-L Enju ワークショップ #86
Next-L Enju ワークショップ #86Kosuke Tanabe
 
Next-L Enju ワークショップ #78
Next-L Enju ワークショップ #78Next-L Enju ワークショップ #78
Next-L Enju ワークショップ #78Kosuke Tanabe
 
オープンソースの図書館システムNext-L Enjuのいまとこれから
オープンソースの図書館システムNext-L Enjuのいまとこれからオープンソースの図書館システムNext-L Enjuのいまとこれから
オープンソースの図書館システムNext-L EnjuのいまとこれからKosuke Tanabe
 
Next-L Enju ワークショップ #75
Next-L Enju ワークショップ #75Next-L Enju ワークショップ #75
Next-L Enju ワークショップ #75Kosuke Tanabe
 
Next-L Enju ワークショップ #76
Next-L Enju ワークショップ #76Next-L Enju ワークショップ #76
Next-L Enju ワークショップ #76Kosuke Tanabe
 
Next-L Enju ワークショップ #74
Next-L Enju ワークショップ #74Next-L Enju ワークショップ #74
Next-L Enju ワークショップ #74Kosuke Tanabe
 
Next-L Enjuのご紹介(2018年版)
Next-L Enjuのご紹介(2018年版)Next-L Enjuのご紹介(2018年版)
Next-L Enjuのご紹介(2018年版)Kosuke Tanabe
 
Next-L Enju ワークショップ #65
Next-L Enju ワークショップ #65Next-L Enju ワークショップ #65
Next-L Enju ワークショップ #65Kosuke Tanabe
 
Next-L Enju ワークショップ #64
Next-L Enju ワークショップ #64Next-L Enju ワークショップ #64
Next-L Enju ワークショップ #64Kosuke Tanabe
 
Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62Kosuke Tanabe
 
Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62Kosuke Tanabe
 
Next-L Enju 開発ワークショップ #59
Next-L Enju 開発ワークショップ #59Next-L Enju 開発ワークショップ #59
Next-L Enju 開発ワークショップ #59Kosuke Tanabe
 

Mehr von Kosuke Tanabe (20)

Next-L Enju ワークショップ #91
Next-L Enju ワークショップ #91Next-L Enju ワークショップ #91
Next-L Enju ワークショップ #91
 
Next-L Enju ワークショップ #90
Next-L Enju ワークショップ #90Next-L Enju ワークショップ #90
Next-L Enju ワークショップ #90
 
Next-L Enju ワークショップ #89
Next-L Enju ワークショップ #89Next-L Enju ワークショップ #89
Next-L Enju ワークショップ #89
 
Next-L Enju ワークショップ #88
Next-L Enju ワークショップ #88Next-L Enju ワークショップ #88
Next-L Enju ワークショップ #88
 
Next-L Enju ワークショップ #86
Next-L Enju ワークショップ #86Next-L Enju ワークショップ #86
Next-L Enju ワークショップ #86
 
Next-L Enju ワークショップ #78
Next-L Enju ワークショップ #78Next-L Enju ワークショップ #78
Next-L Enju ワークショップ #78
 
オープンソースの図書館システムNext-L Enjuのいまとこれから
オープンソースの図書館システムNext-L Enjuのいまとこれからオープンソースの図書館システムNext-L Enjuのいまとこれから
オープンソースの図書館システムNext-L Enjuのいまとこれから
 
Next-L Enju ワークショップ #75
Next-L Enju ワークショップ #75Next-L Enju ワークショップ #75
Next-L Enju ワークショップ #75
 
Next-L Enju ワークショップ #76
Next-L Enju ワークショップ #76Next-L Enju ワークショップ #76
Next-L Enju ワークショップ #76
 
Next-L Enju ワークショップ #74
Next-L Enju ワークショップ #74Next-L Enju ワークショップ #74
Next-L Enju ワークショップ #74
 
nextlenju73
nextlenju73nextlenju73
nextlenju73
 
Next-L Enjuのご紹介(2018年版)
Next-L Enjuのご紹介(2018年版)Next-L Enjuのご紹介(2018年版)
Next-L Enjuのご紹介(2018年版)
 
Next-L Enju ワークショップ #65
Next-L Enju ワークショップ #65Next-L Enju ワークショップ #65
Next-L Enju ワークショップ #65
 
enju_ws_65
enju_ws_65enju_ws_65
enju_ws_65
 
Next-L Enju ワークショップ #64
Next-L Enju ワークショップ #64Next-L Enju ワークショップ #64
Next-L Enju ワークショップ #64
 
Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62
 
Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62
 
Next-L Enju LRM
Next-L Enju LRMNext-L Enju LRM
Next-L Enju LRM
 
Enju ws 60
Enju ws 60Enju ws 60
Enju ws 60
 
Next-L Enju 開発ワークショップ #59
Next-L Enju 開発ワークショップ #59Next-L Enju 開発ワークショップ #59
Next-L Enju 開発ワークショップ #59
 

Next-L Enju 開発ワークショップ #3