Montag, 14. April 2025

Mutation Testing

 Out of a good discussion within the team about testing, in special about mutation testing, I want to share a good insight from Uncle Bob about that topic

https://blog.cleancoder.com/uncle-bob/2016/06/10/MutationTesting.html

Donnerstag, 10. April 2025

Do not let your tester be the bottleneck!

 


You might know the situation, when it is a stressful time with a lot of features to implement and developer focus on coding while the tester takes the tickets after coding and tests the ticket. This is a classic waterfall approach.

In software development time to deliver got a high focus through Agile and the previous role concept of tester has changed. This article shows the advantages of spreading testing tasks and explores strategies to ensure that the tester in your team does not become the bottleneck in your process.


Spreading the testing responsibility across the team can bring you several advantages:

  • Faster feedback: With more team members who are involved in testing, other developers get feedback earlier. The higher your ratio of devs to testers is, the higher is the value of this feedback loop
  • Reduce risk: Even if the tester is highly skilled, other persons have different approaches to test something. By having different perspectives on the product, risks of bugs can reduce
  • Balanced workload: In Scrum, when a number of developer starts at the beginning of the sprint with coding and get finished close togehter with their first task, you have then a high peak of workload for your tester, while devs "wait" for feedback. The longer your release cycles are the more imbalanced are the workloads. Shifting reduce the health risks for your tester. As a leader, beware that developer get the work additionally to their coding tasks. Even if there is a big benefit in this balancing, it needs a lot of leader support to avoid misunderstandings.
  • Skill development: When developer are coding their tickets, the have a hard focus on the code view of the product. Having developer who avoid testing and working on requirements, I would rename them to coders instead of developer. Developer crafting solutions. To craft solutions, you should know the customers perspective and you perfectly get this by using the product during tests.

What are the strategies to shift 

  • Shift-Left Testing: Integrate testing early in the development cycle. By involving testers from the beginning, potential issues can be identified and addressed sooner, reducing the load during the final stages.
  • Automated Testing: Implement automated testing tools to handle repetitive and time-consuming tasks. This allows testers to focus on more complex and critical testing activities.
  • Cross-Functional Teams: Encourage developers to take on some testing responsibilities. This not only distributes the workload more evenly but also fosters a culture of quality across the team.
  • Test-Driven Development: Encourage developers to write tests before coding. This practice ensures that testing is an integral part of the development process and helps catch issues early.
  • Regular Training: Provide ongoing training for testers to keep them updated with the latest testing tools and methodologies. Skilled testers can work more efficiently and effectively.
Do I need then a pure tester at all when developer are testing?

I put this questions here as in the past 20 years, I often heard that. Of course it is possible to remove the role from the list of available roles in the company and shift the tasks of this role completely to the developers. But beware of just cutting of the quality guy as there is no need anymore. Developers need of course also time to test and probably will do the tests less efficient as a pure tester. 
The probably better questions are
  • Do I need somebody who has a focus on the quality through the whole development process
  • Who checks non-functional requirements
  • Do I want to have a person with a focus on specific tests like load tests
Getting more clarity of tasks helps to find your team setup.