Skip to main content

Learning For Agile Testers, Part 2

Article

Learning For Agile Testers, Part 2

Article by Lisa Crispin, Janet Gregory | Comments: (0) | Mon, 12/19/2011 - 11:00pm
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 me was my sister. She is a first grade teacher with her master's degree in early childhood learning. She opened my eyes to new ways to approach teaching and working with my classes.

Learning Resources
Keep your learning style in mind as you seek out places to hone your skills. We're fortunate to have many good software and testing books and plenty of free material on the Internet. Communities of practice are another good place to find mentors and learn together with your fellow testing professionals. Take advantage of the resources your peers can provide. "Lunch and Learns" and book groups within an organization are another effective learning mechanism.

Conferences are an obvious way to get a lot of new ideas in a very short period of time. Most importantly, you'll meet practitioners and thought leaders with whom you can form a lasting network—a constant source of inspiration and ideas. Testing conferences are an obvious choice for testers, but consider other conferences, such as those that help you work on specific skills like scripting languages.

Mailing lists and social networks such as Twitter can introduce you to articles and blog posts on topics that interest you. Testing communities, such as Weekend Testers [2], give you the opportunity to learn in real time from other testers. Podcasts and online videos simulate the experience of actually attending a conference session or course.

Local testing user groups can be a great source of free training and information. Sharing your own experience is a great way to learn. Consider presenting an experience report or facilitating a workshop for your local user group.

Your best learning opportunities might be right where you are. Do you work with some smart programmers, database or system administrators, and testers? What can they teach you? Pair with your fellow team members: There's a lot you can learn from your coworkers, and a lot you can teach them.

Lisa's Story: I was part of a team that decided we would pair on every coding and testing task. When I paired with a Developmentprogrammer to write tests with FitNesse and SWAT, I noticed how naturally the programmer would notice duplication in the test code and immediately extract it out into our library of macros. I sharpened my test design skills considerably as a result.

Time for Learning
Set one learning goal for the next three months. Get out of your comfort zone. Take control of your own professional development. You'll have a more fun and rewarding career.

References
[1] Martin Fowler’s CI article on his website
[2] Weekend Testers

Further reading

About The Author: 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

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.