Today I had conversation with a few developers and we discussed the issue of testing in situations where there is no dedicated testes or testing manager OR someone who would test what you are doing besides yourself.
What to do?
Well with SharePoint there are lots of different things to test which complicate things. Things like TDD are not necessarily useful with SharePoint or similar environments where you are creating small apps for a ECM or CMS products like SharePoint. It can be useful BUT in my experience it needs more complex application logic to or other lets say external databases that need to be integrated in a clients SharePoint application. Webparts are usually rather small in logic on functionality.
Here is a checklist on how to improve your testing as a developer and minimize the risk of bugs and errors in your application:
- Categorize your “testing plan” based on functionality in different parts of your application. For Example: Testing a List Event in SharePoint can have certain steps you want to take. These steps are most likely to stay the same next time you do a similar list event.
- For each your “testing plan” write down what you had to test to ensure that what you where working on performed without problems. These things might even come up as a bug later on while the client tests your new work.
This is a over simplified way of looking at things BUT if you have a checklist for different things you know you are most likely to encounter then every time you work on your code you can go through your checklist and see if you have included into your code similar steps to avoid repeating your errors from the past. Saves time and energy.
I know there are all kinds of “best practices”, terms and procedure etc for testing and quality assurance but this is just meant for a developer for your own personal needs. Especially in situations where there are no quality assurance steps available, no testing or similar possible.
The main point of this article: It is always good to spend a few moment to think how one can use what one has learned and put it to use later to make your life easier. Less stress more fun :)!