What exact software life cycle point is a point to start automated testing?
As an example - a new project is going to be started. The team is almost ready. There is also a requirement regarding software testing - is to automate it.
The question is:
- How to estimate how is good future application to automate it (as there is no application yet) ?
- Generally - when exactly to start automated testing - exact software life cycle point?
If you're automating against an API, you can start as soon as the API calls are stable (the call names and required fields are decided).
If you're required to do GUI automation, there's generally no point starting until the GUI is stable - for agile projects that usually means that GUI automation will run a sprint behind application development, and in waterfall projects GUI automation often starts during the test phase (and may be handled as a separate project).
The automator's role early in the project should be to work with developers to a) help them design good quality unit tests, and b) ensure that as the application is built it's designed with automation and testability in mind (things like making sure there are hooks for GUI automation to access custom components, building in APIs to minimize the need for GUI automation, and so forth).