Agile Transformation and Testing

Agile Transformation and Testing

Agile transformation helps businesses manage change and pursue emerging opportunities in any market situation. A key ingredient of this approach is to implement agile testing.

Read our post “How Test Automation Supports Agile Transformation” to learn more about how agile transformation relates to IT processes and software development. To sum up:

With the agile approach, software features are developed and released in frequent iterations, called sprints. From a testing perspective, these short and frequent iterations significantly restrict the time available to do regression testing, i.e. ensuring that new features are not generating unforeseen issues in the existing software.

To achieve agility, both developers and testers need to be able to work agile – and test automation is part of the solution. But how does that work in practice? This post addresses how to integrate test automation in agile testing.

The dilemma of agile testing

It’s important to realize that the agile approach contains some contradictory elements that testers must deal with. For example:

Testers should focus on testing the new features of the current sprint and use automation to take care of regression testing.

At the same time, test automation cases should not, and cannot, be built for software that is not stable, and features are usually not stable before close to the end of a sprint.

This creates a problem: At which point during a sprint should testers focus on new features, and when should they build the automation cases for these features? In other words, how can testers best allocate their time during sprints? The figure below illustrates the issue.

Figure 1: The processes of a sprint

It is unrealistic to build test automation cases for features of the current sprint because:

  1. features are not stable enough to be tested before the end of a sprint, and;
  2. requirements and the implementation of them can change during a sprint.

Instead, testers should focus on how individual features can be tested and rely on manual functional testing of the current sprint features. This ensures flexibility, and testers avoid wasting time building automation cases for features that might change during the sprint.

Then in the following sprint, test cases for features from previous sprints (i.e. regression testing) should be automated. At this point, existing features are stable enough to be tested, and by automating the testing of them, testers can keep their focus on new features. The figure below illustrates how to organize sprints to include test automation.

Figure 2: Integrating test automation in a sprint

A common method for structuring testing is to begin each sprint by outlining the manual tests needed for specific features. This can be done with a simple mind map as the one below.

Figure 3: Mapping how to test a feature

Then in the following sprint, testers should select which cases should be promoted to automated tests. Usually it doesn’t make sense to automate all manual tests, so you would typically automate a subset or a combination of test cases. The important part here is to minimize the risk of regression errors, so the testers’ knowledge and insight about the product is crucial at this point. In other words, this process of selecting which test cases should be automated and which should not, is an important part of a tester’s profession.

Figure 4: Promoting specific test cases for automation

Implementing test automation as part of agile testing is dependent on several factors; organization, the velocity of a Scrum team, the ease of automation, etc.

Ideally, all members of a test team should be able to participate in the creation and maintenance of automated test cases. This ensures a homogenic, scalable, and fast-working team – in line with the agile philosophy.

To experience an automation tool that allows just that, start a free trial of LEAPWORK - the only all-in-one automation platform for for non-developers, technical specialists, and business users alike.

Key takeaways

  • The agile approach contains some contradictory elements challenging testers on how they should allocate their time during sprints.
  • Automated functional UI testing can take of regression testing during sprints, but test automation cases should not be built for software before features to test are stable.
  • We recommend building an automated regression suite gradually: Select test cases from the previous sprint to promote for automation, build them, and then run these as automated tests in sprints moving forward.
  • The process of selecting which test cases should be automated and which should not, is an important part of a tester’s profession.
  • The LEAPWORK approach to automation is that all members of a test team should be able to participate in the creation and maintenance of automated test cases.

Learn more about LEAPWORK

要查看或添加评论,请登录

Kasper Fehrend的更多文章

  • How to Analyze Test Automation Results

    How to Analyze Test Automation Results

    As test automation is introduced to the software delivery process, the amount of available test results explodes…

    1 条评论
  • Test Automation Strategy: A Checklist

    Test Automation Strategy: A Checklist

    Too often, test automation is not handled as a strategic choice as there’s too much focus on putting out fires here and…

    1 条评论
  • Manual Testing and Test Automation: 10 Considerations

    Manual Testing and Test Automation: 10 Considerations

    Once a QA team has made the case for automation and is moving from doing all testing manually to introducing automated…

    1 条评论
  • DevOps and automation

    DevOps and automation

    DevOps—the practice of bridging software development and software operations—is a means to releasing high quality…

  • How Test Automation Supports Agile Transformation

    How Test Automation Supports Agile Transformation

    In a world where new business models are disrupting established revenue streams and expectations to the customer…

    1 条评论

社区洞察

其他会员也浏览了