Where smoke testing is carried out is usually once a new software build is initially available for testing. This might be once a new feature is added or the project development is complete and now ready to be tested.
We would usually carry out some smoke testing first of all to check that the build is actually ready for testing, the new feature or new development works correctly for a few happy path tests and therefore it is ready for more thorough testing.
If the build or website has significant issues during smoke testing then we would pass it back to the development team with details of what we found, so the issues can be diagnosed and fixed before testing can continue.
As with Test Planning, we would plan a series of test cases for the regression test plan, which would cover all the main functionality and requirements for the regression testing.
This test plan can be as detailed as required, depending on the time available for the regression testing. For ongoing or agile projects, we often prepare different regression test plans, one for a full regression test and then a stripped back regression plan covering the main items.
Some regression test items can also be automated so that the tests can be run quickly and easily across multiple browsers and operating systems.