Beschleunigen durch kontinuierliches Testen
9 things to know about software testing on agile teams
1. The transition from waterfall to agile development is still in progress.
Ranorex Survey: Agile vs Waterfall
Ranorex Survey: Agile vs Waterfall
When do waterfall teams plan to adopt agile practices?
How long ago did survey respondents who are now in agile or mixed environments report working in a primarily waterfall environment?
2. Agile teams follow a wide variety of development practices.
- Close collaboration between all members of a project team, including developers, testers, business representatives, and customers
- Responsiveness to changing requirements
- Frequent releases of working software
Ranorex Survey: Primary Development Practices
Scrum is the most popular development practice.
Many teams use a combination of practices.
Almost half of teams follow continuous practices.
“We…work in small focused teams following bits of Scrum, bits of Kanban, with a healthy dose of Extreme Programming…. Our cross functional teams have Product Management, all aspects of Product Development (including DevOps and Test), and UX all working together on a daily basis… The team works very closely, and like to pair program on pretty much everything.”
3. Interest in DevOps is growing.
DevOps takes the principles of Agile and expands their scope, recognizing that ensuring high-quality development requires continual engagement and feedback from a variety of technical experts, including QA and operations specialists.
4. Testing is shifting left.
Primarily agile projects vs. mixed agile/waterfall
5. Teams benefit when testers collaborate with developers.
Ranorex Survey: QA/Tester Planning Responsibilities
What planning tasks do testers on agile teams do regularly?
Tester collaboration during planningIn the Ranorex survey, respondents on agile teams reported that they commonly create test artifacts such as test cases, participate in the creation of test plans, and help identify areas to test. However, fewer respondents said that they were able to help write testable user requirements or define acceptance criteria. On fully agile teams, these numbers should be closer to 100%.
Ranorex Survey: QA/Tester Project Responsibilities
What project tasks do testers on agile teams do regularly?
Tester collaboration during developmentDuring development, testers and developers on agile teams should work in pairs to ensure that effective unit testing is occurring; and that testers understand the product and its requirements to support exploratory testing. However, only 22% of respondents to the Ranorex survey reported that they assist developers in this way. Just 11% of respondents regularly coach developers in testing techniques. More commonly, testers create automated test cases (54%), conduct exploratory testing (51%) or scripted testing (46%), and analyze completed tests (53%).
Our experience with agile teams has shown that testing skills and experience are vital to project success, and that testers do add value to agile teams.
6. Team organization is important for success.
Respondents to the Ranorex survey reported several benefits of testing in agile environments:
- “Shorter cycles means smaller code, which means the potential of finding and correcting issues faster.”
- “[Allows] more frequent testing – including updating of tests.”
- “Constant/continuous feedback…helps to keep developers on track.”
- “Testing can be done in a timely manner during the sprint; changes can be integrated quickly.”
However, some teams are dissatisfied with their current practices.35% of respondents to the Ranorex survey are in “mixed agile and waterfall environments.” Testing can be negatively affected when a sprint becomes a mini-waterfall, with activities occurring in shortened but still structured phases. Testers may have nothing to do at the start of the sprint, and then be rushed at the end of the sprint. Or, testing may be delayed until the start of the next sprint. To avoid this issue, system and acceptance testing should occur as each story is completed, rather than for all stories at the end of a sprint – or worse, in a special “testing” sprint, as shown below:
Concerns expressed in the Ranorex survey included:
- Resistance to change when large parts of the organization use waterfall methods
- Testing pushed to the end of a sprint, so there is insufficient time for testing
- A lack of management understanding regarding agile practices
- Waterfall-style separation of roles into ‘QA’ and ‘Dev’, rather than a whole-team approach.
Best practice calls for software testers to be full members of the team.Many waterfall practices don’t work well in combination with an agile environment. Foremost among these is keeping QA and development as separate groups. For an agile environment to be successful, testers should function as full members of the development team. QA should contribute to sprint planning so that there are adequate resources for testing, participate in customer/business meetings, help develop testable story requirements, and partner closely with developers throughout the iteration window .
In a “three amigos” meeting, a product owner, developer, and tester work together to create testable user stories and acceptance criteria.
7. More employers want test automation experience.
Employment Research: Test Automation Experience
Employment Research: Top Requested Automation Technologies
Employment Research: Top Requested Automated Test Management Tools
8. Traditional approaches to testing are still valued.
Most teams see a need for GUI testing.The increasing emphasis on unit and integration testing sometimes raises questions about the relative importance of traditional GUI testing. However, the ideal mix of testing for a given project depends on the nature of the application and the level of risk. A mobile app may need a higher volume of automated GUI tests relative to unit and API tests since much of its functionality is in the GUI. In addition, unit and integration testing don’t address important aspects of user experience (UX) and usability testing.
Ranorex Survey: GUI Testing
Software testers on teams that are primarily agile:
Employers are looking for traditional skills.While 70% of positions asked for automated testing experience, 41% specifically mentioned “manual testing” as one of the testing skills either required or preferred. 74% of positions listed structured testing experience, such as experience in writing and executing test cases or test scripts. These results demonstrate that even as the separation of roles between developer and tester is decreasing, there is still strong demand for traditional testing skills.
Employment Research: Types of Testing Experience Desired or Required
9. Fewer job advertisements are requiring programming skills for testers.Ranorex survey respondents were asked, “which languages do the software testers on your team need to know, if any?” The top responses were C# at 62%, followed by SQL at 47% and XML at 46%.
Ranorex Survey: Top Languages
Question: which languages do the software testers on your team need to know, if any?
Employment Research: Programming Experience for Testers
- Turnaround times are decreasing.
- Fast feedback is essential.
- While the line between the role of developer and tester is blurring, traditional testing skills are still in demand.
- Requirements for test automation skills are increasing.