10 Tips for Becoming an Effective Agile Tester

10 TipsOn October 22, Gold rated uTester Brian Rock joined us for a webinar on how to test successfully in an Agile environment. Below is a recap of his 10 tips for becoming an effective Agile based tester.

1. Focus on Risk/Change Based Testing – In an Agile environment, the goal is always to get the highest quality product to market in the shortest amount of time. Therefore an Agile tester must be able to assess which areas of the application are changing, how they all fit together and prioritize tests based on areas that pose the greatest risk of failure.

2. Understanding Product Architecture – Put simply, this means understanding exactly how data flows through an application. This allows us to test the impact of sub-system component failures, as well as address potential security vulnerabilities. As a result, when defects are found an Agile tester will be able to help developers fix the issues quickly and thoroughly early on.

3. Understanding Business Objects and Context – Since testing should always align with customer context, an Agile tester must understand how the end user will interact with the product. If you focus on the applications and scenarios that provide value to the end user you will be able to dimensionalize your testing strategy. Meaning, if you can divide a product up based on the product architecture and customer context you will be better equipped to test for potential issues that would negatively impact end users.

The added benefit of dimensionalizing the product from the customer view point is that the tester will be able to tag defects with the affected business objects. That way when you begin to review your test sets, you will be able to recognize areas with higher instances of defects. This will allow you to address the issues in a more focused and effective way.

4. Application Logs - While reporting ‘when feature X breaks we do Y’ provides value, it is not enough in an Agile environment. Agile testers should be leveraging the great amount of information contained in application logs for a number of reasons. First, it provides insight into the underlying architecture that is occurring on the system level, which gives you a better understanding of what the defect is. Second, application logs also allow you to address ‘silent errors’ – i.e. errors that occur without the end user ever even knowing. Lastly, it allows testers to gain credibility and work more closely with the development team, which is an integral component of being Agile.

5. Based Tools – In addition to application logs, browser based tools are incredibly important for Agile testers to be able to quickly troubleshoot defects. Two examples of easy-to-use browser tools are Developer Tools in Google Chrome and Firebug in Firefox. Tools such as these provide value in the form of metrics, errors, analysis, java script consoles and debuggers.

6. Test Document Requirements – Many Agile organizations utilize some variant of SCRUM or Kanban, in which there is an element of work tackled by a team to ensure that all aspects function as intended. In order to do this, the team will need to create test scenarios. The expectance criterion of these test scenarios often becomes a requirement repository over the long term. While some people view the written test scenario as a waste, Brian Rock contends that these test scenarios become very valuable to the Agile tester for future automation, regression testing and product analysis.

7. Automation – Automation is an excellent tool but it goes without saying that it is not the ‘silver bullet’ to fix the testing problem. Frameworks can be expensive to create and even more expensive to maintain. However, Agile testers need to be able to leverage automation for quick, easily repeatable tasks. If the delta of change is low, chances are you should automate it.

8. Exploratory Testing – Exploratory testing (ET) is common sense testing. ET focuses on instantaneous testing and learning and thus should be a primary tool of all Agile testing. Agile testers can leverage knowledge gained through ET on every future product iteration. Additionally, it allows the Agile tester to make variations in testing to quickly ferret out bugs.

9. Testing From the Customer Perspective – In many ways, this goes back to understanding the business objects and how testing should focus the end user – despite the fact that the end user is going to use the product in ways that you never thought feasible, wise or even sane. Testing from the customer perspective goes a step further to state that the fitness of the product for use by the end user is the primary standard of quality. After all, without customers there is no product. Agile testers are in a unique position to face QA challenges from this context.

10. Know That Change is Constant – Perhaps this is a bit cliché, but a static product is a dead product. As an Agile tester you should be able to give a quality assessment of the product at any stage in its life cycle. If you are able to do this, you will be better equipped to handle the ever changing landscape that is Agile.

We would like to thank Brian Rock for these great tips, tools and strategies on how to test successfully in an Agile environment. We would also like to invite you to keep the discussion going on the uTest forums and in the comments. Let us know which of these tips is most applicable within your organization or if you have any of your own suggestions.

Essential Guide to Mobile App Testing

Comments

  1. says

    The blogs shows the point to become effective agile tester, as points are to be very interesting and hence seems to be futile
    .The best part is that it contains many of point which seems to good and effective.

    convert email

  2. says

    Excellent read. Thanks for sharing the post.Exploratory testing and scripting both need to be implemented as and when required fir effective agile testing.

  3. says

    sorry – Read following statement

    “Let us say I am tester in “Non Agile” project – How and since we following ideas/tips become irrevelant to me?”

    As

    “Let us say I am tester in “Non Agile” project – How and since when following ideas/tips has become become irrevelant to me?

  4. says

    Surprised to see these tips as belonging to “Agile” -

    Let us say I am tester in “Non Agile” project – How and since we following ideas/tips become irrevelant to me?

    1. Focus on risk based testing
    2. Understand Product architecture
    3. Understand business Objects and context
    4. Testing from Customer Perspective
    5. Knowing change is constant

    These are very common and well know aspects for ANY serious “non” fake testing.

    This confirms my assertion that there is no such thing called “Agile Testing” or no stereotype called “Agile Tester”.

    This post is pretty disappointing and misleading to newbie in testing.

  5. says

    In my experience, scripted testing and documentation should be reserve to key acceptance testing criteria, and these must be automated, at either the API or GUI layer, and executed as part the regular continuous integration process.

    As for exploratory, this is much more than commonsense testing. Exploratory is an art that requires practice and development.

  6. Annette Foster says

    Good points!!

    I’d also like to add sharing a “these are the tests I plan to run against your code” list with the development team before they start coding. If you come up with good scenarios, you’re bound to end up with less bugs during UAT or your pre-release testing phase. It does mean getting involved in the definition of the acceptance critieria (and also supports tip #3).

Trackbacks

Leave a Reply

Your email address will not be published. Required fields are marked *