私にとってのテスト
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

私にとってのテスト

on

  • 10,571 views

at Testing Casual Talks #1 (2013/07/24)

at Testing Casual Talks #1 (2013/07/24)
http://atnd.org/events/40914

Statistics

Views

Total Views
10,571
Views on SlideShare
9,428
Embed Views
1,143

Actions

Likes
37
Downloads
33
Comments
0

7 Embeds 1,143

http://bikkuri.me 922
https://twitter.com 190
http://s.deeeki.com 24
http://nuevospowerpoints.blogspot.com.es 3
http://tweetedtimes.com 2
http://b.hatena.ne.jp 1
http://www.live-revolution.co.jp 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

私にとってのテスト Presentation Transcript

  • 1. 私にとっての テスト 和田 卓人 (a.k.a id:t-wada or @t_wada) Jul 24, 2013 @Testing Casual #1
  • 2. 和田 卓人 id: t-wada @t_wada github: twada
  • 3. #97prog_ja
  • 4. #sqlap
  • 5. Agenda •「品質」について •TDD の T について •(TDD の) 良いテストとは •才能と技術 •私にとって TDD とは
  • 6. 品質
  • 7. 品質とは何か
  • 8. 品質とは誰かにとっ ての価値である
  • 9. Accessibility Adaptability Administrability Analyzability Auditability Availability Calibrability Changeability Compatibility Configurability Exploitability Extensibility Flexibility Functionality Installability Integrability Internationalizability Interoperability Learnability Maintainability Marketability Maturity Modifiability Operability Personalizability Portability Recoverability Reliability Replaceability Reusability Scalability Security Sensitivity Stability Suitability Supportability Testability Traceability Transactionality Understandability Upgradeability Usability ... and lots more!
  • 10. 「品質」は なにやら難しそうで、 ちょっと怖そうに見えがち
  • 11. 「品質」っちゅうか ら難しく聞こえてまう んや。「質」と言えば 皆わかってくれる。 (出典失念。テレビかラジオのインタビュー番組より)
  • 12. 品質
  • 13. 私たちには、何か「良いも の」を見抜く能力があらか じめ備わっている
  • 14. QWAN (Quality without a name)
  • 15. 1. 生き生き alive 2. 全一的 whole 3. 快適 comfortable 4. 自由 free 5. 正確 exact 6. 無我 egoless 7. 永遠 eternal http://www.itmedia.co.jp/im/articles/0610/25/news127.html
  • 16. 戻ります…… (´・ω・`)
  • 17. http://www.thomasalspaugh.org/pub/fnd/ility.html Boehm, Brown, and Lipow's 23 Quality Characteristics (1976)
  • 18. Agenda •「品質」について •TDD の T について •(TDD の) 良いテストとは •才能と技術 •私にとって TDD とは
  • 19. TDDの T について
  • 20. TDDのサイクル 1. 次の目標を考える 2. その目標を示すテストを書く 3. そのテストを実行して失敗させる(Red) 4. 目的のコードを書く 5. 3で書いたテストを成功させる(Green) 6. テストが通るままでリファクタリングを行 う(Refactor) 7. 1∼6を繰り返す
  • 21. 「動作するきれいなコード」、ロン・ジェフ リーズのこの簡潔な言葉は、TDD(テスト駆 動開発)の目標である。動作するきれいなコー ドは、あらゆる理由で価値がある。 ─ Kent Beck
  • 22. テストとは,エラーをみつ けるつもりでプログラムを 実行する過程である
  • 23. あるテストエンジニア の思い出
  • 24. テストとは 創造的破壊行為
  • 25. http://www.developsense.com/blog/2009/08/testing-vs-checking/
  • 26. Testing or Checking
  • 27. TDD は Checking
  • 28. https://speakerdeck.com/everzet/bdd-in-symfony2
  • 29. Checking だけじゃダメ
  • 30. http://www.exampler.com/old-blog/2003/08/21/#agile-testing-project-1 Brian Marick による四象限モデル
  • 31. http://lisacrispin.com/2011/11/08/using-the-agile-testing-quadrants/
  • 32. http://www.thomasalspaugh.org/pub/fnd/ility.html Joseph P. Cavano and James A. McCall.A framework for the measurement of software quality. In software quality assurance workshop on Functional and performance issues, pages 133–139, 1978. Cavano and McCall s 11 Quality Factors (1978)
  • 33. Agenda •「品質」について •TDD の T について •(TDD の) 良いテストとは •才能と技術 •私にとって TDD とは
  • 34. (Checking の文脈での) 良いテストは どんなものか
  • 35. F.I.R.S.T => クリーンテストの5つの規則
  • 36. Fast Independent Repeatable Self-Validating Timely
  • 37. 高速である 独立している 再現性がある 自己検証可能 適時性がある
  • 38. R > S >>> I >>>>>>>>> F >>> T 再現性がある > 自己検証可能 >>> 独立している >>>>>>>>> 高速である >>> 適時性がある
  • 39. A-TRIP => 良質なテストの特性
  • 40. Automated Thorough Repeatable Independent Professional
  • 41. 自動 徹底 繰り返し可能 独立している 専門的
  • 42. R > A >>> I > P >>>>>>>>>> T 繰り返し可能 > 自動 >>> 独立している > 専門的 >>>>>>>>>> 徹底
  • 43. F.I.R.S.T A-TRIP 共通するもの
  • 44. Fast Independent Repeatable Self-Validating Timely Automated Thorough Repeatable Independent Professional
  • 45. Fast Independent Repeatable Self-Validating Timely Automated Thorough Repeatable Independent Professional
  • 46. Agenda •「品質」について •TDD の T について •(TDD の) 良いテストとは •才能と技術 •私にとって TDD とは
  • 47. 才能と技術に ついて
  • 48. テストでは品質は上がらない ですよ。テストはあくまでも品 質をあげるきっかけ。品質をあ げるのはプログラミングです。 これは大昔からそう。
  • 49. シンプルさは信頼性の前提である ――Edsger W. Dijkstra 複雑さはシステムに損傷をもたらす ――Bertrand Meyer Simplicity matters. ――Rich Hickey
  • 50. まったく同じ予測をする2つの競 合する理論があるときは、単純な 方が優れている。 ――節約の原則
  • 51. きれい 汚い (すぐには)動かない 動作する Red Green Refactoring TDDと黄金の回転
  • 52. Agenda •「品質」について •TDD の T について •(TDD の) 良いテストとは •才能と技術 •私にとって TDD とは
  • 53. 私にとって TDDとは
  • 54. 無意識 意識的 無鉄砲 用心深い http://capsctrl.que.jp/kdmsnr/wiki/bliki/?TechnicalDebtQuadrant Fowler による技術的負債の四象限モデル この象限が手強い
  • 55. 自動テストの良いところは、 改善を我慢しなくても良く なったこと
  • 56. 全ては変化する 仕様が固まることは無い 開発が終わることは無い 理解は常に深化する スキルも常に進化する 技術も常に進化する
  • 57. 私の好きなテストは 変化を妨げないテスト 変化を後押しするテスト
  • 58. 私にとって TDD とは 悪あがき あきらめずに改善したい 自分のコードを嫌いたくない
  • 59. TDDはスキルです •ひとりから始められる •テストやTDDはスキルです。つまり… •才能ではなく、習得可能です •量は質に転化します •写経しましょう!!
  • 60. ご清聴ありがとうございました