- Focusing Your Practice
- Avoiding Automated Performance
- Contributing to Open Source Projects
- Beta Testing
- Pair Testing/Programming
- Adopt "Parallel Thinking"
- Search for Bugs in the Wild
- Learn "Systems Thinking"
- Teaching and Writing
- Participating in Conferences and Workshops
- Develop Your Cognition Skills
- Finding the Time for Practice
Pair testing/programming doesn't need to be limited to code and bugs. Find people you think you can learn from and with, and get working together on problems. Keep in mind the following suggestions:
- If you tend to practice better with a buddy, set up a time at which you can work on pair programming and/or pair testing together. Be sure to practice with both a tester and a developer.
- If you do pair programming or testing on a regular basis, try some different pairings.
- If you're a tester, spend some time working with developers to learn how they unit test. Write some unit test code, either for their code or for any test code you may have. Over time, this strategy will allow you to better collaborate when they're planning their developer testing.
A good practice tool that I've used is NLP for testers. NLP is a modeling technique (documented extensively by Alan Richardson) that can be used to question requirements and design to identify ambiguity, errors, and omissions. I've found it helpful to pair with requirements analysts, developers, and testers and apply the NLP Meta-Model to their work products.