Download - Software testing buzzwords

Transcript
Page 1: Software testing buzzwords

SOFTWARE TESTING BUZZWORDS

Magus [email protected]

http://magustest.com/blog/

Company Logo

Page 2: Software testing buzzwords

2

Buzzwords

• Agile • Testability• Tiny Innovation

Page 3: Software testing buzzwords

3

Agile

• What is the most important thing in internet industry?– Speed

• Eliciting requirements• Implementation• QA• Deploy

Page 4: Software testing buzzwords

4

Agile

• 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

(2010-11)

Page 5: Software testing buzzwords

5

Agile Story

• 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 brokenness.

- Matt Mullenweg

Page 6: Software testing buzzwords

6

How to speed up?

• No thrown over the wall software– Transparency

• 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

• Automation– No sliver bullet

Page 7: Software testing buzzwords

7

Effective automation testing

UI

Integration

Unit

Page 8: Software testing buzzwords

8

Tao of software testing

• 道可道 非常道• 道、法、术、器

– 器 - Tool– 术 – Test Case– 法 - Knowledge– 道 - Tao

Page 9: Software testing buzzwords

9

Testability

• 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 as:– Controllability– Observability – Isolateability– Separation of concerns– Understandability– Automatability

Page 10: Software testing buzzwords

10

Why testability matters

• More testability, more test• More test, less bug• Less bug, more quality• More quality, more $

Page 11: Software testing buzzwords

11

Testability is not free

• “You can use it, so you can test it”• What have we do?

– SNMP– Lua

Page 12: Software testing buzzwords

12

Tiny Innovation

• 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’

Page 13: Software testing buzzwords

13

Tiny Innovation

• Process– QA case review

• Technology– Using ruby instead of python?– SQLite helps?– Virtualization helps?

• Working procedure– How about auto rerun?– How about prepare everything and let me send the request?– How about using a voice control rerun system

Page 14: Software testing buzzwords

14

The Goal

• High-efficiency• Self-motive• Self-learning

10 years experience in software testing!

NO! Just 1 year experience in software testing repeat 10

times

Page 15: Software testing buzzwords

15

Thank You!