Test Driven Development uses the “test first” approach in which test cases and the unit tests are written before code is written. The unit tests are written by the developers and once the unit tests pass the developers start developing the application and code the application. The software development becomes a series of very short iterations in which test cases drive the creation of software and ultimately the design of the program. The unit tests forms the pillar for the development of the application in a TDD Development Environment.
Test automation is usually lagging behind development of new functionality. The tools that are used to automate are dependent on the UI and this causes automation of the functionality to start only after the environment and the UI are stable.
The question is should there be a separate product backlog item (PBI)/ User story for test automation in each sprint.
Automation is an integral part of a scrum development environment. Selenium is an automation tool that can be used to test the functionality in a web based project.
There are four reasons why you should automate the regression test suite
1. It increases the amount of time testers have to test new functionality. (That’s manual exploratory testing. Which requires intelligence, creativity and adaptability. Which requires a human being.)
2. It increases the level of confidence in the regression test results (Let’s be honest, humans are poor regression testers. Checking the same thing over and over is tedious. Unlike computers, we get bored, we get distracted, we don’t notice regressions slipping past.)
3. Once automated you can run them any time you want (No more worries resourcing regression testing, just press “start”.)
4. It increases testers job satisfaction – less context switching, no repetitive testing, more time to find bugs, greater use of mental abilities.
The ScrumMaster is a new management role introduced by Scrum. The ScrumMaster is responsible for the success of Scrum. Given that explanation, there really is no analog of the ScrumMaster in traditionally managed projects. Further, “The ScrumMaster is responsible for ensuring that Scrum values, practices and rules are enacted and enforced. The ScrumMaster is the driving force behind all of the Scrum practices.” Thus most of the ScrumMaster’s responsibilities fall entirely within the purview of Scrum itself.