140 likes | 253 Views
Exploring “Best Practices”. Let’s Test 2014. Mission. Help me build the closing keynote: “ A Critical Look at Best Practices ”. The Spec.
E N D
Exploring “Best Practices” Let’s Test 2014
Mission Help me build the closing keynote: “A Critical Look at Best Practices”
The Spec • You may have heard some software development activities referred to as “Best Practices”, as in “it’s a best practice to write detailed specifications before programming starts” or “it’s a best practice to write a failed unit test and make sure it passes before giving to Test”. • In this keynote, Jon Bach talks about the assumptions, risks, and considerations your colleagues think you should consider before using or recommending any so called “best” practice.
Me and Rob Sabourin I said to Rob: “I want to have a keynote that’s context-driven. Since the theme is “Raising the Bar”, I want its content to come from my workshop about exploring best practices” • “I love this idea.” • “This will be really cool.” • “This has never been done before (that I know of).” • So… • What practices will you explore? • What are the pros and cons of each? • What are some interesting contextual considerations? • What conclusions did you make? • How does someone get started with a practice without it constraining them? • “As a testing consultant, I don’t need the low-hanging fruit, I want the fruit that’s on top of the tree, that’s really hard to get!” • “It would be cool to see the favorite 10 from the group.” • “It would be cool to have an artifact -- a mind map, maybe?”
Tactics Part I – 90 minutes * Brainstorm and collect practices Part II -- 90 minutes • Talk more deeply about those practices and vote on the ones that most resonate Part III – 90 minutes • What should testers consider when choosing and evaluating practices?
Story (for my keynote) • Who was here? • What practices did we explore? • How did we explore them? • Is there a “top 10”? • What are the nuances testers should consider before using a practice? • What are some real world examples and experiences? • What conclusions did we make? • What artifact do we have to share? • Advice to our colleagues as they return to work.
Context-driven testing http://context-driven-testing.com/ • The value of any practice depends on its context. • There are good practices in context, but there are no best practices. • People, working together, are the most important part of any project’s context. • Projects unfold over time in ways that are often not predictable. • The product is a solution. If the problem isn’t solved, the product doesn’t work. • Good software testing is a challenging intellectual process. • Only through judgment and skill, exercised cooperatively throughout the entire project, are we able to do the right things at the right times to effectively test our products.
My current slides • As of Saturday, May 24
Add some humor…Some truly (maximized value) practices… • Install the software before testing it • Use a network to do load testing • When you find a bug, report it • Use a keyboard to type characters • <???> • <???> • <???>
Part II Welcome to the Council of Elders. Our job is to create a new society to help testing practitioners reach a high level of craftmanship. What software testing practices are the most valuable?
Notions of “Best Practices” It is a best practice to… • … write bug reports • … file bugs in a bug database • … find bugs early • … include testers in design meetings • … always have clear and testable specifications • … track bug metrics as a signal of quality • … create a good test data repository • … write a test plan • … work in two-week sprints • … use automation wherever possible
Taxonomy / Organization • Modeling practices • Test Design practices • Test Execution practices • Test Reporting practices • Toolsmithing practices • Bug Investigation practices • Bug Processing practices • Practices for Test Metrics • Test Team practices
What worked or didn’t? • Successes • Failures • Constraints • Considerations • Consequences
Part 3: Advice and Counsel • What beliefs about variables could affect practices and why they do (or do NOT) matter? In which contexts do these make more (or less) sense? • How can a practice change based on how we examine, experiment, and execute? • What artifacts would YOU like to have had about practices when you were just starting in this career?