Learning For Agile Testers, Part 2

Better Software Magazine
Volume-Issue: 
2011-05
Summary:

In part one of our Learning for Agile Testers series, we addressed general "thinking" skills that go beyond technical competence and how learning these enhances the value you contribute. In part two, we discuss some specific technical skills that benefit testers and how to acquire them.

Automation Skills
For automation to succeed, we need to apply good design practices. For example, we strive to keep each automated test to a single, clear purpose and extract duplication into macros and modules. Our goal is to make it easy to diagnose test failures and change the tests in only one place when the code changes. When testers collaborate with programmers and other team members, this is much easier to accomplish.

New-and-improved tools are available to help agile teams improve software development.

Lisa’s Story: Back in 2003, my team had zero test automation and no automated build process, but we knew it had to be our number-one priority. Our system administrator researched build tools, and we decided to use CruiseControl. Meanwhile, I was evaluating GUI test tools, and we decided to use Canoo WebTest, partly because it integrated seamlessly with CruiseControl. My previous teams had continuous integration (CI), but I wanted to learn more, so I read the CI article on Martin Fowler's website [1] and we used his guidelines to set up our own. As a team, we have worked to keep up with the latest CI practices and tools, and our build process continues to evolve and improve.

Learn how to evaluate and choose the right tools, so you can help your team create maintainable automated regression tests. You can free up time for essential testing activities such as exploratory testing.

Acceptance Test-driven Development
Communication skills and good domain understanding enable testers to help business experts give good examples of both desired and undesired system behavior. We can turn these examples into tests that help the programmers understand what code to write. This is called acceptance test-driven development, and it is a major step toward building quality into the code and preventing defects. When we automate the acceptance and story tests during coding using a collaborative test automation tool, such as FitNesse, the tests can immediately be added to the regression suite. This helps testing "keep up" with programming.

Learning Styles
Some of us are auditory learners—we learn by listening. Some of us are visual learners—we need to see pictures. And then there are those of us who need to do—we call that kinaesthetic learning . Many times we need to take in information in more than one way. For example, Janet is an auditory learner, but she needs to practice skills to "set" them. When she tries to get a concept across, Janet needs to draw it out to help explain. Understand your style so you can get the best out of each learning experience.

Emotional aspects of learning have a big impact. We all have blind spots that may prevent us from learning or triggers where we shut down and don't hear the message anymore. To learn and question, we need a safe environment. Keep your emotional "hot buttons" in mind and focus on what you can learn from instructors, material, or teammates to enhance your abilities.

A good mentor can give you guidance when you don't even realize you need it. Mentors with different backgrounds or from other industries besides testing and software development might work best with your learning style. Don't limit yourself to coaches, mentors, and instructors who work specifically in software testing.

Janet's Story: When Lisa and I started developing and teaching our agile testing course, I began to read about teaching strategies. I picked up a few tips from the books and applied them. I also watched other instructors and tried to find the style that suited me. However, one of the people I turned to the most to mentor

File: 

About the author

Lisa Crispin's picture
Lisa Crispin

Lisa Crispin is the co-author, with Janet Gregory, of Agile Testing: A Practical Guide for Testers and Agile Teams (Addison-Wesley, 2009), co-author with Tip House of Extreme Testing (Addison-Wesley, 2002) and a contributor to Beautiful Testing (O’Reilly, 2009) and Experiences of Test Automation by Dorothy Graham and Mark Fewster (Addison-Wesley, 2011). She has worked as a tester on agile teamssince 2000, and enjoys sharing her experiences via writing, presenting, teaching and participating in agile testing communities around the world. Lisa was named one of the 13 Women of Influence in testing by Software Test & Performance magazine in 2009. For more about Lisa’s work, visit www.lisacrispin.com.

About the author

Janet Gregory's picture
Janet Gregory

An agile testing coach and practitioner, Janet Gregory is the co-author of Agile Testing: A Practical Guide for Agile Testers and Teams and a contributor to 97 Things Every Programmer Should Know.  Janet specializes in
showing agile teams how testers can add value in areas beyond critiquing the product; for example, by guiding development with business-facing tests. For the past ten years, She has been working with teams to transition to agile development, and teaches agile testing courses and tutorials worldwide. Janet enjoys sharing her experiences at conferences and user group meetings around the world. Janet was named one of the 13 Women of Influence in testing by Software Test & Performance magazine.

For more about Janet's work, visit www.janetgregory.ca/ or visit her blog at janetgregory.blogspot.com.

Upcoming Events