Scrum is a rather popular approach nowadays, and its main feature is so-called sprints. Sprints are equal time periods, and usually, they last from one to four weeks. By the end of each sprint, a project team should complete a certain list of tasks. This method looks logical, but something goes wrong in case you decide to apply it in the realities of test automation. The problem is that at the end of a sprint your team will have some time on manual testing, but not on developing automated tests. However, there are two ways to deal with this challenge.
Writing scripts while developing an application. You are developing an app, and you know how it should work. So why not write scripts on the basis of this knowledge? When a sprint ends and a new functionality becomes available, you will only have to update the tests a bit. This method can save your time, but it also requires much more efforts. Besides, performing manual testing before developing the automated tests is always a good idea, and this approach contradicts it.
Developing automated tests after the next sprint starts. There is no need to hurry at the end of a sprint – test the new functionality manually and make it perfect. You will get a chance to write essential scripts at the beginning of the next sprint because it will take the developers some time to deal with new tasks. The only thing is that you will be able to create scripts only for the previous sprint, which outcomes have already been tested.