As part of the Quality Assurance Team, we must provide high-quality products/services and provide real value to our customers. Most often, companies admit to using the wrong business model or lacking Quality. These mistakes leave room for discussion while involving QA expertise usually improves competition and provides better Testing processes.
We need to vanish from our projects the following “Testing can only start after coding is finished,” we need to consider innovative ways of doing Testing earlier. But once we are mindful of our assumption, we must move on, “Is there any way I could test smartly?” We can rethink our Testing activities and help our team.
Working as one team…
In a Scrum team, ‘Testers’ are no longer Testers but ‘only’ team members with Testing as their primary specialization. ‘Developers’ are any members of the team who can code. Every team member has a shared goal and is held as a team accountable to that goal. Team members with different primary specializations have to cooperate to reach that goal.
Test independence does not mean independent testers.
Teams often confuse independent with separate. If the reporting structure, budgets, and processes keep in discrete functional areas, a division between developers and testers is inevitable. Time is wasted on duplicate meetings, developers and testers don’t share a common goal, and information sharing is nonexistent.
Training about Testing, testing community
All team members of our team can test thoroughly, as long as they know how to do it correctly (Everyone can test appropriately, instead of the simplistic one of everyone can test). Our responsibility is to train them in specific testing activities, embrace a QA mindset, and increase their product knowledge to make them better testers.
The purpose of a Test department is to enable this learning. Discussion and sharing experiences are needed, for instance, by establishing a Testing Community. People interested in Testing, not only those with Testing as their primary specialization, can meet and then learn from each other or discuss via chat or wiki.
Consider a community of testers. Implement a learning organization to help your testers sharing ideas and help each other. Suppose the QA manager (manager-teacher) becomes a practice leader in the organization. In that case, that person will teach the skills that testers need to become stronger and better cope with the ever-changing environment.
“Managers are more teachers in lean thinking principles, spend time teaching and coaching others.”
Are we doing smart Testing? For some Testing teams, that could be a hard question; if you ask other areas, it could be perceptional.
“As ironic as it seems, the challenge of a tester is to test as little as possible. Test less, but test smarter.”Federico Toledo
How can we test as little as possible? How can we add value by doing less? We need to change our mindset; Testing is not finding bugs only; we must enable our Teams to improve code quality, switch to a Quality mindset, and test automation can help us, but we can not rely on it and create thousands of Test scripts.
Prevention is good. Implementing monitoring mechanisms can add real value to our customers; consider both approaches as shift left, early Testing and shift right monitoring the systems and prevent possible failures. A critical aspect of doing smart Testing is adding value; our tests must provide that; otherwise, we are just doing hard Testing.
Continuous feedback must be our primary goal to reduce business risk and potential outages. We need to visualize Testing as an uninterrupted process flow embracing the failure. Testing less but more frequently can help to provide fast feedback and value to our customers.
Smart Testing, good Products.
- Solid Test Plan – Having a plan must be crucial to success.
- Test Automation adoption – Focusing on repetitive tasks and Risk-based test automation strategy (Don’t automate tasks that will not have to be repeated). Consider Visual Test Automation.
- Improve Code Quality – No commits go untested.
- Continuous Learning – Exploratory Testing enables the discovery of information that is surprising.
- Performance / Load Testing & Security Testing – To avoid any crash/outage or any security risk.
- Metrics and Dashboards – Keeping tracking of Key Quality Indicators (e.g., Defects on Production, Risk Analysis, Requirements Completions, among others.) Continuously improve the quality process.
- Monitoring possible Risk on Production – Test monitoring on Production.
Smart Testing is about adding value, removing unnecessary activities, avoiding thousands of Test Cases or Test scripts, and continuously improve the testing landscape.
Testing is not finding bugs only. The tests’ purpose changes from finding defects to preventing them, test monitoring and in case of any failure embrace it, recover quickly, improving code quality, and providing high-quality products or services. This fundamentally different perspective leads to vital changes in the way people work–and work together.
Let’s change our mindset from hard Testing to smart Testing; this is a never-ending journey, and we need to continue learning, growing, and calibrating our process. By doing intelligent Testing, we can create a positive impact and improve the testing landscape.
Lessons Learned in Software Testing, by Cem Kaner, James Bach, and Bret Pettichord.
Enterprise Continuous Testing Transforming Testing for Agile and DevOps, Wolfgang Platz, Cynthia Dunlop.
Lean Thinking by Drs. Womack and Jones