ASP.NET Release Checklist

Whenever I work on side projects or make updates to this blog, I like to run a few simple checks to make sure that the site is ready before I release it. When working on side projects, you might not have the benefit of having someone else to help test, so I find a simple checklist often helps me avoid missing anything.

This list is by no means complete and is definitely a work in progress. I’ve pulled the details from a number of sites over the net, plus a few of my own techniques. Hopefully you will find it useful too!

THE BASICS

Do all unit tests pass? This seems like a simple check, but if you don’t have a Continuous Integration process in place for your side project, you might forget to run the tests and check if everything passes.

Browse the site, does a simple smokescreen check seem to work?
Do most of the links seem to work? If you need a more thorough check - try the W3C validator.

**Do all StyleCop tests pass?**Not every developer likes to do this, but using a tool like StyleCop ensures that your code is consistent and follows a general style pattern. Not essential but always worthwhile doing to maintain neat code. Download the tool on Codeplex.

PERFORMANCE

Web page performance is important to me. I always like to ensure that any new features that I develop keeps the application running efficiently and hopefully faster, if not equal to, the speed of the last release.

Is the project running in Release mode? When deploying to a server, you should always ensure that your application is running in Release mode. If you are still running your application in debug mode, much more memory is used within the application at runtime and ASP.NET MVC will take longer to resolve a view name.

How does the site perform using Google PageSpeed? Google PageSpeed is a great tool that integrates with Chrome to allow you to profile the performance of your web page. Use it to see if there are any obvious issues with your web pages’ performance. I have previously blogged about the Google PageSpeed API.

How does the site perform using Yahoo! YSlow? YSlow is another great web performance profiling tool that is available for both Firefox and Chrome. You can use it to check for any obvious performance issues with your web pages.

Is there a favicon? This is often an easy one to forget, and by forgetting to upload one you could be affecting the performance of your site when under high traffic. There is a great post about Instagram and the performance issues they noticed when not having a favicon in place.

CONFIGURATION

Is the connection string pointing to the correct location? This is a simple one, but worthwhile checking. There have been a number of occasions where I have forgotten to replace with the correct connection string when releasing the software to live.

Are error logs pointing to the correct location? Whether you are writing your error logs to a database or log file, ensure that the path or connection string is correct.

SECURITY

Is your website secure? A simple profile through Asafaweb will tell you if there are any obvious areas of your website security that need tightening. The Asafaweb site also gives you the option to schedule regular scans, and best of all, it is all free!

Are the custom error pages working? Try and break the site and check if you are correctly directed to the custom error page. If not, enable custom error pages in ASP.NET, because if your users can see a full stack trace of the error, it could expose some serious security issues with your site.

This checklist is really a simple guide with a few checks that you could do before releasing a new update or feature to your side project. However, there is a much more comprehensive version over at webdevchecklist.com. What are some of the regular checks that you like to go through before releasing your updates?