Reading Time: < 10 minutes
What’s up Guys! Welcome to automationcalling.com
I’m so excited! to write up this interesting topic, in fact I have been looking forward this opportunity when I had discussions and debates with some of QA Techies.
Have you ever wonder, why we still do Manual testing during Iteration/sprint when amazing tools and technologies are in Place? I agree, and I’m sure this will lead to controversy discussion between Manual vs Automation Testers, in fact this blog I’m trying to prove it’s possible to implement only automation testing and possible to remove Manual test practice/process for REST API/SOAP (Webservice Testing) in Agile Methodology.
Here are some of real time examples, issues and challenges not effectively used Test Automation. I always curious to know answers for “How do they do it“ when I met some of QA folks in interviews, heard challenges, Questions, best practices, Strategy, Approach, etc., implemented in their companies.
- In my company, we do both Manual and Automation but we develop automation script after release testing is done.
- We have Automation testers who work for previous releases (Automation Backlog) but Manual tester works for current features.
- My company still have Manual testing as QA is not capable of adopting Automation.
- We have both UI and API, we do automation in UI but API we uses Client tool for validation (No Automation for Rest API/Soap Protocol).
- We automate only regression not feature because my Manager wanted me to work on backlogs.
- We have CI/CD in place but our automation doesn’t run in daily/nightly builds
- I’m working 5 hours Manual and 3 hours automation but I cannot make it 3 hours productivity for Automation.
- QA will understand requirement correctly when development finish the story, so doing manual testing is big challenges.
- No collaboration with Dev/QA/BA, end results more bugs, missing requirements, requirements gaps which changes requirement often so not fit for Automation in parallel.
- We develop and run automation in local but execute entire test during release time. A lot of failures occurs which we spend some time for fixing failures.
To Addressing all this problem, it’s still possible to implement Automation Testing replacing Manual test practice. I’m going to explain in detail how it’s possible:
Automation Best Practices:
- Collaboration for Acceptance Test (Dev/QA/BA).
- Aspiration/Creative Automation Tester (I don’t believe only SDET can do this, QA Analyst, Automation Engineer also possible to achieve it).
- Robust Automation Framework must work on any environment
- Reliable etc.,
- Stable Test Environments must be integrated in CI.
- Automation Pair programming (Driver/Explorer (Changed Terminology for Automation)).
- Automation Finding bugs/feedback earlier.
- Automation must be in CI (Best practice implement pipeline in Jenkins).
- Inspire and implement some test cases from Junit.
- Automation must run and configurable with own test data as well as customer test data
- Test validation/assertion must be compared dynamically with database.
- Automation must be configurable for Regression, Smoke, Sanity and Entire features.
- Automation test result must be helpful to Technical Team than QA.
- Enhancements on Existing features can be easily integrated with existing automated stories as well as reducing duplicate execution and redundant work.
- Automation test must be completed in between 15-20 minutes.
Recommend Rest API/Soap based Tools:
- SoapUI/Soap UI Pro
- Rest Assured
Mind Mapping Technique to Achieve 0% Manual Testing:
Please take a look on mindmap_updated(enlargeable in PDF) Diagram to achieve No Manual Testing.
- Quick deliverable during iteration and speed up testing cycle.
- Productivity is 5X faster than previous approach.
- No investment for Manual Testers.
- Early feedback if something is broken based on development fixes.
- Improve Quality by monitoring and fixing failures on spot.
- Automation test results support development team in case high priority (no unit tests required, they can rely with automation test results).
- No separate test schedule or plan for release testing. Possible to provide sign off by 4-8 hours approximately.
- Automatic bug logging mechanism for failure cases.
- No need to maintain separate test cases or purchase test management tool. May be implementing BDD is best way for acceptance test, scenarios documentation.
- It’s easy configurable or fixing existing stories for enhancement features.
- Beneficial is for better test coverage when done with Pair programming.
- Initial Investment is high to develop Robust Automation Framework which handles all future requirements, may be framework enhancement task occur during iteration.
- Not able to achieve successfully if no Collaboration.
- May be some edge cases fall under Non automated test cases.
- Pair programmers may have multiple stories in pipe line, end up with stressful to complete all stories within iteration.
- Product/project team should believe and understand let automation framework get matured based on multiple requirement
- Less Non-automated test cases may be run manually during release time
Eradicating completely Manual testing is not the topic I wanted discuss here, rather Implementing test automation(without Manual testing) in iteration is possible and achievable. It’s not only QA responsibilities when come for quality it’s entire team responsibility as they should believe and understand “Quality” is part of entire team work where they should adhere process/tools/technologies and Collaboration (Dev/QA/BA) in place to make automation success in iteration as well as deliver better quality.
The above technique and approaches I specifically mention Webservice automation but it’s still possible to implement for Standalone, UI and Mobile automation with above strategy, technique and approach, especially help and support from Technical team.
Please feel free to share your questions/clarifications to firstname.lastname@example.org