During our most recent QA practice, we discussed and exchanged knowledge about the automation framework and practices that we are using. The topics included Selenium Automation with Java and C# using different browsers, and the pros and cons of each of them. In theory, the concept of test automation is a perfect fit for testers. But what happens when reality strikes? In a typical real world scenario, when testers schedule and verify test cases, they need to:
- Communicate with the product owner to gather product requirements.
- Break these product requirements down into user stories and then incremental units of work to create the functioning software. This often requires working with the team of developers, business analysts, and product owners.
- Write automated, exploratory, regression tests to fulfill the contract of those requirements.
- Track the progress of each step, running the appropriate test cases for each phase.
- Regression test, so that changes or additions to the component don’t affect other aspects of the working system.
- Execute functional testing to ensure that the product does what the product owner intended it to do and solves the problem correctly.
With this type of scenario in mind, what testers really need to make test automation a reality is a solution that can help automate the process of creating test cases for specific work items and scheduling test runs to execute those test cases.