We have a requirement to automate Test Cases for a Web based application.
We have to use only open source tools.
Total Test Cases would be around 600-700.
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It only takes a minute to sign up.Sign up to join this community
As you have the Web Application so going with Selenium and TestNg is a better approach as there are lot or reference points available over the internet for same. Also since you have mentioned you have 600-700 test cases then i am assuming you must be doing some sought Data Driven Testing as well. You can design your framework with below approach :
Since you team is not expert and you will be training them hence Cucumber Feature file writing is something to start with and then you can gradually introduce them to coding concepts.
Try to use Page Object Model while designing the framework as its separates the logical implementation with the functional implementation.
Pedantic Answer: Using Selenium and Test NG is an approach. It is not possible to say what is the best approach.
Practical Answer: Hell yes. Use what everyone else uses to automate basic web applications. Code isn't complicated. Plenty of documentation, help, and examples around - especially on stackoverflow.
Selenium and Test NG is a good approach, you might consider spending some more time to consider Automation Testing Design Pattern. Here is link to a good overview: 4 Top Automation Testing Design Patterns
From our experience we when from Page Object Design Pattern to Screenplay Pattern. Again, here is link to good discussion of both options: Screen Play vs Page Object pattern
Our final solution is Selenium, Cucumber & TestNG.