{"id":17823,"date":"2022-10-12T14:00:00","date_gmt":"2022-10-12T13:00:00","guid":{"rendered":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/?p=17823"},"modified":"2022-10-12T13:45:06","modified_gmt":"2022-10-12T12:45:06","slug":"where-to-begin-when-creating-an-effective-test-plan","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2022\/10\/12\/where-to-begin-when-creating-an-effective-test-plan\/","title":{"rendered":"How to create an effective test plan"},"content":{"rendered":"

\"An<\/p>\n

Software is complex, but writing<\/em> software is even more complex. There are so many factors that come into play when writing software that it is hard to think of all the exceptions that might occur and cause all sorts of havoc. We need UI tests, smoke tests, regression tests, edge case tests, integration tests, and so on.<\/p>\n

If the organisation relies on us to run all these tests every time they make a change, we would be spending most of their time testing rather than coding.<\/p>\n

We as developers and IT Pros know, or should know, how important it is to test the created work. Testing software requires a different mindset than developing software does. When tests are written by developers who are not trained in writing tests, we don\u2019t always get the results at the quality level we need.<\/p>\n

To minimise the risks, it would be helpful if we tested our software in many ways, which means we need to have a lot of tests in place. These could come in the form of Unit Tests, Integration Tests, Automated UI tests and many other methods.<\/p>\n

Testing also helps during development. We often find that refactoring a piece of code leads to unwanted side effects. Sometimes when fixing a bug, the developers inadvertently introduce new bugs in other parts of the system. Having a good set of unit tests in place might help by alerting the developer that something is wrong.<\/p>\n