Enviar búsqueda
Cargar
テストの運用について #m3dev
•
3 recomendaciones
•
3,898 vistas
Kazuhiro Sera
Seguir
Denunciar
Compartir
Denunciar
Compartir
1 de 9
Descargar ahora
Descargar para leer sin conexión
Recomendados
PHPのテスト名を日本語にした話
PHPのテスト名を日本語にした話
Norifumi Kawamoto
20161218 selenium study4-part1
20161218 selenium study4-part1
Naoya Kojima
Skinny Controllers, Skinny Models
Skinny Controllers, Skinny Models
Kazuhiro Sera
ScalaCache: simple caching in Scala
ScalaCache: simple caching in Scala
Chris Birchall
Writeexcelについて
Writeexcelについて
asa 999
Coursera experience
Coursera experience
Brian Hooper
Phone Home: A client-side error collection system
Phone Home: A client-side error collection system
Chris Birchall
DevOpsハッカソン参加レポート
DevOpsハッカソン参加レポート
Takashi Takebayashi
Recomendados
PHPのテスト名を日本語にした話
PHPのテスト名を日本語にした話
Norifumi Kawamoto
20161218 selenium study4-part1
20161218 selenium study4-part1
Naoya Kojima
Skinny Controllers, Skinny Models
Skinny Controllers, Skinny Models
Kazuhiro Sera
ScalaCache: simple caching in Scala
ScalaCache: simple caching in Scala
Chris Birchall
Writeexcelについて
Writeexcelについて
asa 999
Coursera experience
Coursera experience
Brian Hooper
Phone Home: A client-side error collection system
Phone Home: A client-side error collection system
Chris Birchall
DevOpsハッカソン参加レポート
DevOpsハッカソン参加レポート
Takashi Takebayashi
Guess the Country - Playing with Twitter Streaming API
Guess the Country - Playing with Twitter Streaming API
Chris Birchall
Load testing with gatling
Load testing with gatling
Chris Birchall
3分 gem クッキング
3分 gem クッキング
Kenji Mori
問題が起こった時、変えるのは人かそれともプロセスか?
問題が起こった時、変えるのは人かそれともプロセスか?
Takashi Takebayashi
Skinny Framework 1.0.0
Skinny Framework 1.0.0
Kazuhiro Sera
Branching Strategies: Feature Branches vs Branch by Abstraction
Branching Strategies: Feature Branches vs Branch by Abstraction
Chris Birchall
多分モダンなWebアプリ開発
多分モダンなWebアプリ開発
tak-nakamura
マイクロサービス運用の所感 #m3dev
マイクロサービス運用の所感 #m3dev
Kazuhiro Sera
Comment répondre à la demande contraceptive?
Comment répondre à la demande contraceptive?
Didier Cosserat
Rails 3 overview
Rails 3 overview
Yehuda Katz
Rails 3 Beautiful Code
Rails 3 Beautiful Code
GreggPollack
Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)
Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)
Camille Roux
MvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かう
Shun Hikita
一生、エンジニアであり続けるために必要なこと「負けてからのエンジニアライフ」
一生、エンジニアであり続けるために必要なこと「負けてからのエンジニアライフ」
雄哉 吉田
桐島、Rubyやめるってよ
桐島、Rubyやめるってよ
Narihiro Nakamura
Contributing to Scala OSS from East Asia #ScalaMatsuri
Contributing to Scala OSS from East Asia #ScalaMatsuri
Kazuhiro Sera
Validações no Ruby on Rails
Validações no Ruby on Rails
Eduardo Mendes
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
All I learned while working on a Scala OSS project for over six years #ScalaM...
All I learned while working on a Scala OSS project for over six years #ScalaM...
Kazuhiro Sera
Skinny Meetup Tokyo 2 日本語スライド
Skinny Meetup Tokyo 2 日本語スライド
Kazuhiro Sera
Skinny 2 Update
Skinny 2 Update
Kazuhiro Sera
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Kazuhiro Sera
Más contenido relacionado
Destacado
Guess the Country - Playing with Twitter Streaming API
Guess the Country - Playing with Twitter Streaming API
Chris Birchall
Load testing with gatling
Load testing with gatling
Chris Birchall
3分 gem クッキング
3分 gem クッキング
Kenji Mori
問題が起こった時、変えるのは人かそれともプロセスか?
問題が起こった時、変えるのは人かそれともプロセスか?
Takashi Takebayashi
Skinny Framework 1.0.0
Skinny Framework 1.0.0
Kazuhiro Sera
Branching Strategies: Feature Branches vs Branch by Abstraction
Branching Strategies: Feature Branches vs Branch by Abstraction
Chris Birchall
多分モダンなWebアプリ開発
多分モダンなWebアプリ開発
tak-nakamura
マイクロサービス運用の所感 #m3dev
マイクロサービス運用の所感 #m3dev
Kazuhiro Sera
Comment répondre à la demande contraceptive?
Comment répondre à la demande contraceptive?
Didier Cosserat
Rails 3 overview
Rails 3 overview
Yehuda Katz
Rails 3 Beautiful Code
Rails 3 Beautiful Code
GreggPollack
Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)
Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)
Camille Roux
MvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かう
Shun Hikita
一生、エンジニアであり続けるために必要なこと「負けてからのエンジニアライフ」
一生、エンジニアであり続けるために必要なこと「負けてからのエンジニアライフ」
雄哉 吉田
桐島、Rubyやめるってよ
桐島、Rubyやめるってよ
Narihiro Nakamura
Contributing to Scala OSS from East Asia #ScalaMatsuri
Contributing to Scala OSS from East Asia #ScalaMatsuri
Kazuhiro Sera
Validações no Ruby on Rails
Validações no Ruby on Rails
Eduardo Mendes
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
Destacado
(18)
Guess the Country - Playing with Twitter Streaming API
Guess the Country - Playing with Twitter Streaming API
Load testing with gatling
Load testing with gatling
3分 gem クッキング
3分 gem クッキング
問題が起こった時、変えるのは人かそれともプロセスか?
問題が起こった時、変えるのは人かそれともプロセスか?
Skinny Framework 1.0.0
Skinny Framework 1.0.0
Branching Strategies: Feature Branches vs Branch by Abstraction
Branching Strategies: Feature Branches vs Branch by Abstraction
多分モダンなWebアプリ開発
多分モダンなWebアプリ開発
マイクロサービス運用の所感 #m3dev
マイクロサービス運用の所感 #m3dev
Comment répondre à la demande contraceptive?
Comment répondre à la demande contraceptive?
Rails 3 overview
Rails 3 overview
Rails 3 Beautiful Code
Rails 3 Beautiful Code
Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)
Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)
MvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かう
一生、エンジニアであり続けるために必要なこと「負けてからのエンジニアライフ」
一生、エンジニアであり続けるために必要なこと「負けてからのエンジニアライフ」
桐島、Rubyやめるってよ
桐島、Rubyやめるってよ
Contributing to Scala OSS from East Asia #ScalaMatsuri
Contributing to Scala OSS from East Asia #ScalaMatsuri
Validações no Ruby on Rails
Validações no Ruby on Rails
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Más de Kazuhiro Sera
All I learned while working on a Scala OSS project for over six years #ScalaM...
All I learned while working on a Scala OSS project for over six years #ScalaM...
Kazuhiro Sera
Skinny Meetup Tokyo 2 日本語スライド
Skinny Meetup Tokyo 2 日本語スライド
Kazuhiro Sera
Skinny 2 Update
Skinny 2 Update
Kazuhiro Sera
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Kazuhiro Sera
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Kazuhiro Sera
Future on Servlet #scala_ks
Future on Servlet #scala_ks
Kazuhiro Sera
Servlet と Future の関わり方 #scala_ks
Servlet と Future の関わり方 #scala_ks
Kazuhiro Sera
Scala が支える医療系ウェブサービス #jissenscala
Scala が支える医療系ウェブサービス #jissenscala
Kazuhiro Sera
Scala on Rails #rakutentech
Scala on Rails #rakutentech
Kazuhiro Sera
Solid And Sustainable Development in Scala
Solid And Sustainable Development in Scala
Kazuhiro Sera
Beginning Scala with Skinny Framework #jjug_ccc
Beginning Scala with Skinny Framework #jjug_ccc
Kazuhiro Sera
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
Kazuhiro Sera
Skinny Framework Progress Situation
Skinny Framework Progress Situation
Kazuhiro Sera
Skinny Framework 進捗どうですか? #fud_scala
Skinny Framework 進捗どうですか? #fud_scala
Kazuhiro Sera
めんどくさくない Scala #kwkni_scala
めんどくさくない Scala #kwkni_scala
Kazuhiro Sera
歌舞伎座.tech 1 LT - ScalikeJDBC Async & Skinny Framework #kbkz_tech
歌舞伎座.tech 1 LT - ScalikeJDBC Async & Skinny Framework #kbkz_tech
Kazuhiro Sera
Kabukiza.tech 1 LT - ScalikeJDBC-Async & Skinny Framework #kbkz_tech
Kabukiza.tech 1 LT - ScalikeJDBC-Async & Skinny Framework #kbkz_tech
Kazuhiro Sera
テストを書くのが嫌いな君へ #m3dev
テストを書くのが嫌いな君へ #m3dev
Kazuhiro Sera
ScalikeJDBC Tutorial for Beginners
ScalikeJDBC Tutorial for Beginners
Kazuhiro Sera
A Test Code Generator for RSpec Users
A Test Code Generator for RSpec Users
Kazuhiro Sera
Más de Kazuhiro Sera
(20)
All I learned while working on a Scala OSS project for over six years #ScalaM...
All I learned while working on a Scala OSS project for over six years #ScalaM...
Skinny Meetup Tokyo 2 日本語スライド
Skinny Meetup Tokyo 2 日本語スライド
Skinny 2 Update
Skinny 2 Update
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Future on Servlet #scala_ks
Future on Servlet #scala_ks
Servlet と Future の関わり方 #scala_ks
Servlet と Future の関わり方 #scala_ks
Scala が支える医療系ウェブサービス #jissenscala
Scala が支える医療系ウェブサービス #jissenscala
Scala on Rails #rakutentech
Scala on Rails #rakutentech
Solid And Sustainable Development in Scala
Solid And Sustainable Development in Scala
Beginning Scala with Skinny Framework #jjug_ccc
Beginning Scala with Skinny Framework #jjug_ccc
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
Skinny Framework Progress Situation
Skinny Framework Progress Situation
Skinny Framework 進捗どうですか? #fud_scala
Skinny Framework 進捗どうですか? #fud_scala
めんどくさくない Scala #kwkni_scala
めんどくさくない Scala #kwkni_scala
歌舞伎座.tech 1 LT - ScalikeJDBC Async & Skinny Framework #kbkz_tech
歌舞伎座.tech 1 LT - ScalikeJDBC Async & Skinny Framework #kbkz_tech
Kabukiza.tech 1 LT - ScalikeJDBC-Async & Skinny Framework #kbkz_tech
Kabukiza.tech 1 LT - ScalikeJDBC-Async & Skinny Framework #kbkz_tech
テストを書くのが嫌いな君へ #m3dev
テストを書くのが嫌いな君へ #m3dev
ScalikeJDBC Tutorial for Beginners
ScalikeJDBC Tutorial for Beginners
A Test Code Generator for RSpec Users
A Test Code Generator for RSpec Users
テストの運用について #m3dev
1.
テストの運用について #m3dev Kazuhiro Sera @seratch
2.
テストも運用が本番 ・新しくつくるのはいいけど、つくっただけじゃダメで、その後の安定運用 と継続的な改善が本番というのはご存知の通り。 ・ということでインフラチームに感謝しましょう(拍手) ・テストがないところに最初のテストを書くのはだいたいつらいけど、頑 張って書いた。もっと評価されていい。 ・でも、とりあえず書いただけじゃダメで運用が(ry ・テストは運用が問題になってからが本番だったのだ・・!
3.
テストの運用でありがちな問題 ・Jenkins の job
が数日、数週間、数ヶ月壊れたまま放置されている。 ・テスト運用がタスクとして想定されておらず、特定の誰かのモチベーショ ン依存になってしまっている。Jenkins 大臣を役割として明確にする。 ・失敗したテストを直そうとしたが、何を何のために assertしているか す ぎて、どう直すべきなのかがわからない。テストを書くスキルの問題。 ・既存のテストに過度な環境依存や実装への密結合があって、前提が覆った 瞬間、大量のテストがゴミになった。テストを書くスキルの問題。 ・テストの実行がだんだん遅くなってきた。
4.
なぜあなたのテストが遅いのか ・例えば RSpec のテストコード実行はそもそもが遅い。Spork
とか Spring とかで頑張っている人? ・モックで覆い隠された世界のテストは基本的に実行速い。でも本当にそれ だけで十分なの?問題。結合レベルのテストも自動化したいというニー ズ。 ・embedded なサーバを起動して HTTP リクエストを投げる、重いクエリを 実行する、大量に処理する、手順の複雑なエラーパターン再現、アレな データ構造で fixture なんて・・など Real World Testing は時間がかかる要 因が多い ・0.5 sec * 600 = 300 sec、0.3 sec * 1,000 = 300 sec と考えれば、件数が増 えてくれば程度の差はあれど問題になっていくことが分かる。
5.
一番簡単な方法を教えよう ・ある程度の数に分割して実行すればおk。 ・カバレッジをとる job だけは全部流す、でも
commit/push を poll して毎回 やる必要はない。せいぜい一日数回でおk。 ・Maven: mvn ‘-Dtest=com.example.service’ test ・RSpec: bundle exec rspec spec/models/ ・全部で 5 分かかっているものを 3 つに分ければ、それぞれ 2 分以下で終わ るよね、Happy!
6.
Jenkins 設定デモ 実際に Jenkins
ジョブを いじって改善してみましょう
7.
このへんのステージにいる?
8.
なぜテストを書くのか ・クラス、メソッドのユーザビリティテスト ・動作確認用ツール ・ある程度、安心して(納得して)リリースするために ・似たような失敗、エンバグを繰り返さないために ・QA の代わりにならなくてもいい、補完関係で ・他には?
9.
Q&A ・テストも運用が本番 ・テストの運用でありがちな問題 ・なぜあなたのテストが遅いのか ・一番簡単な方法を教えよう ・Jenkins 設定デモ ・このへんのステージのエンジニア ・なぜテストを書くのか
Descargar ahora