I Hate Unit Test!!!                Daniel Teng, Certified Scrum Coach                     www.danielteng.com12年2月25日星期六
A Brand-new Legacy Project                    www.danielteng.com12年2月25日星期六
The Pain Point               www.danielteng.com12年2月25日星期六
AccountService.LogOn(LogOnModel model)                 www.danielteng.com12年2月25日星期六
The Logic Flow               www.danielteng.com12年2月25日星期六
Broken Window                www.danielteng.com12年2月25日星期六
Misko Hevery              Test Iceberg              www.danielteng.com12年2月25日星期六
But, What is Unit Test                    Anyway?                   www.danielteng.com12年2月25日星期六
A Test is NOT a Unit                      Test If:       • It talks to the database       • It communicates across the net...
I will do UT when I start            a green field project          •    Legacy codebase          •    UI is not testable  ...
Refactoring              www.danielteng.com12年2月25日星期六
Test One Class                               File             DOC                              System                     ...
Test Fixture              www.danielteng.com12年2月25日星期六
Mixing Object              Constructions with Logic                 Object graph Business Logic                 constructi...
Two Piles of Logic              • Construction logic     • Business logic                • Factory                • Invers...
Boy Scout Rule: “Leave the campground                    cleaner than you found it.”                       www.danielteng....
Strategies Dealing with Legacy              • Build safe net by adding functional tests to                cover all busine...
Now It is Up To YOU                  www.danielteng.com12年2月25日星期六
Now It is Up To YOU                  www.danielteng.com12年2月25日星期六
Thanks              www.danielteng.com12年2月25日星期六
Upcoming SlideShare
Loading in …5
×

I hate unit test

3,000 views

Published on

很多人抱怨测试驱动开发的单元测试麻烦,现在有了解决方案。

Published in: Technology, Business
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,000
On SlideShare
0
From Embeds
0
Number of Embeds
1,663
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

I hate unit test

  1. 1. I Hate Unit Test!!! Daniel Teng, Certified Scrum Coach www.danielteng.com12年2月25日星期六
  2. 2. A Brand-new Legacy Project www.danielteng.com12年2月25日星期六
  3. 3. The Pain Point www.danielteng.com12年2月25日星期六
  4. 4. AccountService.LogOn(LogOnModel model) www.danielteng.com12年2月25日星期六
  5. 5. The Logic Flow www.danielteng.com12年2月25日星期六
  6. 6. Broken Window www.danielteng.com12年2月25日星期六
  7. 7. Misko Hevery Test Iceberg www.danielteng.com12年2月25日星期六
  8. 8. But, What is Unit Test Anyway? www.danielteng.com12年2月25日星期六
  9. 9. A Test is NOT a Unit Test If: • It talks to the database • It communicates across the network • It touches the file system • It cant run at the same time as any of your other unit tests • You have to do special things to your environment (such as editing config files) to run it. www.danielteng.com12年2月25日星期六
  10. 10. I will do UT when I start a green field project • Legacy codebase • UI is not testable • It is QA’s job • It doesn’t catch bug • Too many dependencies Real Reason change, I will have • It double effort because when code to change tests too. I don’t know how to write!!! www.danielteng.com12年2月25日星期六
  11. 11. Refactoring www.danielteng.com12年2月25日星期六
  12. 12. Test One Class File DOC System CPU Intensive Seam Call Dependency on Component DOC Test Fixture Subject Under Test Destructive Dependency on Assert Component Operations DOC Other Dependency on Services Component Object Lifetime and Calling Object Instantiated Object Passed In www.danielteng.com Revised from Misko Hevery Global Object12年2月25日星期六
  13. 13. Test Fixture www.danielteng.com12年2月25日星期六
  14. 14. Mixing Object Constructions with Logic Object graph Business Logic constructions and looking for www.danielteng.com12年2月25日星期六
  15. 15. Two Piles of Logic • Construction logic • Business logic • Factory • Inversion of Control www.danielteng.com12年2月25日星期六
  16. 16. Boy Scout Rule: “Leave the campground cleaner than you found it.” www.danielteng.com12年2月25日星期六
  17. 17. Strategies Dealing with Legacy • Build safe net by adding functional tests to cover all business logic • Move logic unit to its home and protect it with tests • Break dependencies by introducing seam • Replace functional tests with unit tests The Rule: FEEDBACK based on Safe Steps www.danielteng.com SMALL12年2月25日星期六
  18. 18. Now It is Up To YOU www.danielteng.com12年2月25日星期六
  19. 19. Now It is Up To YOU www.danielteng.com12年2月25日星期六
  20. 20. Thanks www.danielteng.com12年2月25日星期六

×