Step 3 – Testing and Maintenance
This is the 4th part of a 4-part look at my website creation process. Here I will present a list of the Testing and Maintenance steps I generally take as I progress through any website creation effort. Hope you enjoy my list!
1. Browser Checking
- Browser Combos – Load the site in all possible browsers and combinations I have available.
- Windows – IE8, IE7, IE6, (anything below IE6 I don’t generally optimize for -> and all IE versions render sites differently, unfortunately), Firefox, Opera, Google Chrome (all of which render nearly the same), Flock, SeaMonkey, etc.
- MacOSX – Safari, Firefox, Opera, Camino
- Image Renderers – Additionally, sometimes I use image rendering services like IE NetRenderer and Litmus. You can read more about cross-browser checking tools here.
- Take Notes – Make notes of what is broken.
- Clean it up or Fix it – If everything works everywhere (highly unlikely -> thanks Internet Explorer!) then I’m in luck and can clean things up before finishing up. However, things are usually broken and the next step in the process is required.
2. Firefox and Firebug
- Firebug – If building a CMS, there are often elements, particularly in forms that need editing. Firebug is a killer tool for looking at code on the web and helping with CSS editing.
- Inspect Elements – Inspect form (or other) elements in Firebug.
- Adjusting – Adjust elements as needed.
- Fix IE – Adjust IE’s “broken” elements from notes in Step 1 as needed.
3. IE’s “Broken” Elements
Check up on a number of these links for IE-related fixes.
- Position is Everything – Explorer Exposed (19 bugs)
- IE’s Top 10 CSS Problems
- Float Test (IE seems to have lots of problems with floats)
- CSS “position: fixed” in IE (I fixed one background image problem by using “position: absolute; z-index: -99;” to make the image float UNDER the text instead of on it)
- On Having Layout (this is one of the most commonly referred to articles about IE and CSS and seems to help fix a lot of the common problems)
- IE/Win hasLayout Triggers (demonstrates many triggers to get IE to see an element “hasLayout”)
- CSS Tests and Experiments (extensive documentation -> over 200 tests, and about 100 for IE)
- Debugging CSS (this is a long list of problems that I’ve not yet had a chance to fully come to appreciate)
4. Browser Checking (again)
- Check x2 – After adjusting CSS elements as needed, I again check the site across a range of browsers and OSs.
- Check x2 Pages – Double check ALL pages, all links, all images, all forms, etc.
- Check x2 Functionality – Double check ALL functionality across a range of browsers.
- Break it to Fix it – In fact, sometimes, depending on the amount of time I have, it’s a good idea to TRY and BREAK the site. Users have a funny way of doing things (and trying to do things) that developers didn’t expect -> good to get as many of those kinks worked out in advance as possible.
5. Code Clean-up and Presentation
- Comments – Up to this point, I have pretty nice code, but I like to go over it all again and be sure there are informative comments in the important places that clients will want to know about (tips, guidelines, directly naming certain elements, etc).
- Pretty-Print – I also like to format the code in a user-friendly format (pretty-print maybe it’s called). That includes indenting, commented dividing lines, etc.
- Live Link Presentation – Present the site to my client using a live link to the test site and ask them to evaluate it thus far. Make note of interesting or challenging things, and ask the client to try out a variety of things on their machine, including all site pages, etc.
- Feedback – Wait for feedback from the client, if changes need to be made, by this point they’re usually pretty simple to deal with.
- Package and Send – If the site is good, package it all in a .ZIP file and wait for receipt of the final payment before transferring the files.
6. Ongoing Refinement and Maintenance
- Upkeep – Over the life of the site, as elements get added, users increase, and changes are needed, I often get requests to help maintain what I’ve built. As long as the site was well-made from the start, upkeep is relatively simple, especially since I’m using my code, and don’t have to learn someone else’s.
- Maintenance Contract – Of course, all of the updates and upkeep needs to be contracted as well. The original contract only builds a site, upkeep (sometimes up to 40 hours a month) requires additional money as it is using additional time and resources to maintain.
- Client Training – Sometimes, I can train the client in the use of the CMS or even basic HTML and CSS so that they don’t need my constant supervision and only rarely ask me for minor assistance. In that case I usually help out for free.
- Offer New Features – As I learn new skills and web standards, I can also offer additional services to my clients for their websites -> things like HTML newsletters, jQuery photo galleries, etc.
Finished at last! 3-for-3. This part of the process also usually takes a minimum of one week (sometimes even up to one or two months and ongoing as needed). Hope you liked my process, and found it informative or helpful.
What about you?
I’m still learning, and working to improve my speed and skills with web design. Is there anything here you particularly agreed with or found helpful? Or anything you disagreed with? Or perhaps you have additional tips to help improve the website creation process as a whole? Please leave me a comment!