Something like the air, oxygen. It’s not necessarily that every single check in code will work. In traditional software development, may be take a week to ‘integrate’ all the components.
if you’re not embarrassed when you ship your first version you waited too long
controllability: The degree to which it is possible to control the state of the component under test (CUT) as required for testing. observability: The degree to which it is possible to observe (intermediate and final) test results. isolateability: The degree to which the component under test (CUT) can be tested in isolation. separation of concerns: The degree to which the component under test has a single, well defined responsibility. understandability: The degree to which the component under test is documented or self-explaining. automatability: The degree to which it is possible to automate testing of the component under test. heterogeneity: The degree to which the use of diverse technologies requires to use diverse test methods and tools in parallel.
• What is the most important thing in internet
• Eliciting requirements
• The problem is that the longer it’s been since your last
release the more pressure and anticipation there is
– Slow iteration
• Windows XP (2001) -> Windows Vista(2007)
• IE 6 (2001) -> IE 7 (2006) -> IE 8 (2009)
– Rapid iteration
• iPhone (2007)-> 3G (2008) -> 3GS (2009) -> 4 (2010)
• Kindle 1 (2007-11) -> 2 (2009-01) -> 3 (2010-07)
• Chrome 3 (2009-10-12)-> 4 (2010-01-25) -> 5 (2010-05-25) -> 6
(2010-09-02) -> 7 (2010-10-21)
• MRM 1.0 (2008-01) -> V2.0 (2008-11) -> V3.0 (2010-04) -> V3.5
• On WordPress.com we deploy code to
production twenty or thirty times a day and
anyone in the company can do it.
• The most important thing isn’t necessarily how
perfect code is when you send it out, but how
quickly you can revert if you need to so the cost
of a mistake is really low, under a minute of
- Matt Mullenweg
How to speed up?
• No thrown over the wall software
• No heavyweight document
– This is for contractor who don’t know about for last few month
• No strict entrance and exit criteria with signoffs
– We work close with DEV and PM
• No sophisticated defect tracking process
– Sophisticated means redundancy
– Individuals and interactions over processes and tools
– No sliver bullet
Effective automation testing
Tao of software testing
• 道可道 非常道
– 器 - Tool
– 术 – Test Case
– 法 - Knowledge
– 道 - Tao
• What is testability?
– If testing is questioning a product in order to evaluate it, then
testability is anything that makes it easier to question or
evaluate that product.
• The testability of software is determined by factors such
– Separation of concerns
Why testability matters
• More testability, more test
• More test, less bug
• Less bug, more quality
• More quality, more $
Testability is not free
• “You can use it, so you can test it”
• What have we do?
• How to rerun a failed regression case?
– Version 1
• Open error.txt
• Type failed case id
• Save the error.txt file
• Python autoRegression_pusher.py
– Version 2
• $ echo ‘xxx’ > error.txt
• Python autoRegression_pusher.py
– Version 3
• $ rhm –c ‘xxx’
– QA case review
– Using ruby instead of python?
– SQLite helps?
– Virtualization helps?
• Working procedure
– How about auto rerun?
– How about prepare everything and let me send the
– How about using a voice control rerun system
10 years experience in
NO! Just 1 year experience in
software testing repeat 10