Joe @ Kaosiung.py 2014.05.26
Testing in Python
新手給的測試入門課
Diff
跟前一場演講不一樣 ...
魯蛇喬 (Joe)
半端工程師
75% 後端 25% 前端
Demo Code
https://bitbucket.org/devjoe/talk_tip
Outline
• Testing Frameworks/ Tools in Python
• Python in TDD
• Reference
Doctest
Readability Counts
Demo
doctest
文件即程式碼
程式碼即文件
unittest
Builtin tool
Demo
unittest
來自 JUnit ...
我隔我隔我隔隔隔
nose
強大的加強版 unittest
Demo
nose
可以外掛很多套件
不夠還可以自己寫
py.test
更加直覺的瑞士小刀
Demo
py.test
據說更加 pythonic
彩色就贏了?
lettuce & behave
客戶最愛的守規矩的生菜
Demo
lettuce
lettuce
lettuce
如果不是要寫 unit &
integration test ?
有工具幫助我寫 Functional tests 嗎?
呃 ... 我只會一點 Web
魯蛇喬與他的快樂好朋友
requests / pyquery
自幹無敵
Demo
requests
其實也沒那麼累
某人以前傻傻的自幹過 by httplib2
ghost.py
來跑 javascript 吧!
No Demo
javascript == "潮"
True
Pyccuracy
客戶站在 selenium 的肩膀上
Dead Demo
Bj4
Robot Framework
巨人站在巨人肩膀上 (java/python)
Dead Demo
很好很強大
今年 PyConAPAC 有講者介紹過
https://pyconapac2014.hackpad.com/PyCon-APAC-2014-Co-
Notes-Index-ZQKz3p7rhmP
議程全筆記
更多的 Testing
Search: python testing tools taxonomy
Outline
• Testing Frameworks/ Tools in Python
• Python in TDD
• Reference
Why "Python in TDD" ?
Not "TDD in Python" ?
Or "Python in Python" ?
Or "TDD inTDD" ?
TDD by example (Kent Beck @ 2002)
• The money example
• The xUnit Example
• Patterns for Test-Driven Development
• TDD pat...
Written in Python
而且用 TDD 開發 TDD Tool
Done Demo
Note
• TDD 是組合技
• 使用 TDD 不可能導致 Over Design
• 寫太多 Sub/Mock/Fake 叫做 Over Implementation
• 拿出紙筆寫下需求清單與測試清單
• TDD 有成本
Outline
• Testing Frameworks/ Tools in Python
• Python in TDD
• Reference
• 2011 出版有點舊
• 附程式碼很方便
• PACKT 可購得
• 經典 BJ4
• 我在網路上看到最好的快速上手中文教學
• 還沒看 XD
•  預計在 Tainan.py 分享
工商服務
更多的 Python
一切的開始
我要到台南辦 Tainan.p*
還有吃牛肉湯
搬到台南後 ...
得到 Logo !
得到在地社群的支持 !
場地器材提供 !
Tainan.py
• Since 2013.06 ~
• 從 Taipei.py fork 出來的聚會
• 常與 MOSUT 社群合辦
• 一場演講常常 1 Hour 起跳
• 常常有好吃的東東
• 徵志工 (也想玩 meetup 系統嗎)
...
議程回顧
bottle
rst format, sphinx, google cloud
platform, x86 machine code
thread safety, 用 python 實作OSX/WIN
dual monitor information query 及 url
entrycache 的探訪與刪除, linux/C 組裝
軟體的心得, linux CNC, 5 分...
garbage collection, pypy, 數
學女孩之機率的崩壞, Kinect
簡介
python type and
object, git 狀況劇
keith 閒聊, shell 導
讀, 自由曲面
virtualization, unicode in
python, 用 shedskin 加速
python
下次聚會?

5/31 14:00
Testing in python, TDD in
python, 資料分析用 python
歡迎投稿
一起吃好料吧!
Testing in Python @ Kaosiung.py 2014.05.26
Testing in Python @ Kaosiung.py 2014.05.26
Testing in Python @ Kaosiung.py 2014.05.26
Testing in Python @ Kaosiung.py 2014.05.26
Testing in Python @ Kaosiung.py 2014.05.26
Testing in Python @ Kaosiung.py 2014.05.26
Testing in Python @ Kaosiung.py 2014.05.26
Testing in Python @ Kaosiung.py 2014.05.26
Testing in Python @ Kaosiung.py 2014.05.26
Testing in Python @ Kaosiung.py 2014.05.26
Testing in Python @ Kaosiung.py 2014.05.26
Upcoming SlideShare
Loading in...5
×

Testing in Python @ Kaosiung.py 2014.05.26

920

Published on

Testing in Python @ Kaosiung.py

Kaosiung.py:
https://www.facebook.com/groups/kaohsiungpy/

Tainan.py:
http://www.meetup.com/Tainan-py-Python-Tainan-User-Group/

MOSUT:
https://www.facebook.com/groups/mosut/

Published in: Technology

Testing in Python @ Kaosiung.py 2014.05.26

  1. 1. Joe @ Kaosiung.py 2014.05.26 Testing in Python 新手給的測試入門課
  2. 2. Diff 跟前一場演講不一樣 ...
  3. 3. 魯蛇喬 (Joe)
  4. 4. 半端工程師 75% 後端 25% 前端
  5. 5. Demo Code https://bitbucket.org/devjoe/talk_tip
  6. 6. Outline • Testing Frameworks/ Tools in Python • Python in TDD • Reference
  7. 7. Doctest Readability Counts
  8. 8. Demo
  9. 9. doctest
  10. 10. 文件即程式碼 程式碼即文件
  11. 11. unittest Builtin tool
  12. 12. Demo
  13. 13. unittest
  14. 14. 來自 JUnit ... 我隔我隔我隔隔隔
  15. 15. nose 強大的加強版 unittest
  16. 16. Demo
  17. 17. nose
  18. 18. 可以外掛很多套件 不夠還可以自己寫
  19. 19. py.test 更加直覺的瑞士小刀
  20. 20. Demo
  21. 21. py.test
  22. 22. 據說更加 pythonic 彩色就贏了?
  23. 23. lettuce & behave 客戶最愛的守規矩的生菜
  24. 24. Demo
  25. 25. lettuce
  26. 26. lettuce
  27. 27. lettuce
  28. 28. 如果不是要寫 unit & integration test ? 有工具幫助我寫 Functional tests 嗎?
  29. 29. 呃 ... 我只會一點 Web 魯蛇喬與他的快樂好朋友
  30. 30. requests / pyquery 自幹無敵
  31. 31. Demo
  32. 32. requests
  33. 33. 其實也沒那麼累 某人以前傻傻的自幹過 by httplib2
  34. 34. ghost.py 來跑 javascript 吧!
  35. 35. No Demo
  36. 36. javascript == "潮" True
  37. 37. Pyccuracy 客戶站在 selenium 的肩膀上
  38. 38. Dead Demo
  39. 39. Bj4
  40. 40. Robot Framework 巨人站在巨人肩膀上 (java/python)
  41. 41. Dead Demo
  42. 42. 很好很強大 今年 PyConAPAC 有講者介紹過 https://pyconapac2014.hackpad.com/PyCon-APAC-2014-Co- Notes-Index-ZQKz3p7rhmP 議程全筆記
  43. 43. 更多的 Testing Search: python testing tools taxonomy
  44. 44. Outline • Testing Frameworks/ Tools in Python • Python in TDD • Reference
  45. 45. Why "Python in TDD" ? Not "TDD in Python" ? Or "Python in Python" ? Or "TDD inTDD" ?
  46. 46. TDD by example (Kent Beck @ 2002) • The money example • The xUnit Example • Patterns for Test-Driven Development • TDD patterns • Red Bar patterns • Testing patterns • Green Bar patterns • xUnit Patterns • Design Patters • Refactoring • Mastering TDD
  47. 47. Written in Python 而且用 TDD 開發 TDD Tool Done Demo
  48. 48. Note • TDD 是組合技 • 使用 TDD 不可能導致 Over Design • 寫太多 Sub/Mock/Fake 叫做 Over Implementation • 拿出紙筆寫下需求清單與測試清單 • TDD 有成本
  49. 49. Outline • Testing Frameworks/ Tools in Python • Python in TDD • Reference
  50. 50. • 2011 出版有點舊 • 附程式碼很方便 • PACKT 可購得
  51. 51. • 經典 BJ4
  52. 52. • 我在網路上看到最好的快速上手中文教學
  53. 53. • 還沒看 XD •  預計在 Tainan.py 分享
  54. 54. 工商服務 更多的 Python
  55. 55. 一切的開始
  56. 56. 我要到台南辦 Tainan.p* 還有吃牛肉湯
  57. 57. 搬到台南後 ...
  58. 58. 得到 Logo !
  59. 59. 得到在地社群的支持 !
  60. 60. 場地器材提供 !
  61. 61. Tainan.py • Since 2013.06 ~ • 從 Taipei.py fork 出來的聚會 • 常與 MOSUT 社群合辦 • 一場演講常常 1 Hour 起跳 • 常常有好吃的東東 • 徵志工 (也想玩 meetup 系統嗎) 總共辦過 10 次 週六舉辦 人也很多 強者 Python + Open
  62. 62. 議程回顧
  63. 63. bottle
  64. 64. rst format, sphinx, google cloud platform, x86 machine code
  65. 65. thread safety, 用 python 實作OSX/WIN dual monitor information query 及 url entrycache 的探訪與刪除, linux/C 組裝 軟體的心得, linux CNC, 5 分鐘 git 上手
  66. 66. garbage collection, pypy, 數 學女孩之機率的崩壞, Kinect 簡介
  67. 67. python type and object, git 狀況劇
  68. 68. keith 閒聊, shell 導 讀, 自由曲面
  69. 69. virtualization, unicode in python, 用 shedskin 加速 python
  70. 70. 下次聚會? 5/31 14:00
  71. 71. Testing in python, TDD in python, 資料分析用 python
  72. 72. 歡迎投稿 一起吃好料吧!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×