As you may have heard, many Americans were eager to log into the Healthcare.gov site on October 1, 2013 to either sign up for a plan if they weren’t insured or find one that was cheaper.
It was a complete disaster.
Millions of people couldn’t log into the site and those that could, had their information labeled incorrectly (such as having their kids listed as their spouse) and/or couldn’t complete the application process.
There was also the problem with the payment process. If people were fortunate enough to complete their registration, there was no online transaction made to pay their healthcare plan. So even though the person filled out all of the required fields and were submitted successfully, if no payment was received for that plan, there’s no guarantee that they will be covered.
Overall Problem w/ Healthcare.gov Site
Why were there so many hiccups? With three years of preparation and millions of dollars budgeted for its development, it was discovered that the testing phase for the site was not implemented until the site was “completed”. This was done early in the year, a few months before its launch.
Are you serious?!?
Testing should be part of the beginning, middle, and ending stages of developing a website, regardless of the size of the project. Since I wasn’t part of the numerous teams involved for this huge undertaking, I can’t say for certain what was implemented within the architecture of the site. BUT, I can break down the components involved with the development of a website.
After deciding the purpose of a site and the information that will be included, a web designer will design the layout of a site. This will determine how each page will look and what will be displayed when a person (or user) visits it. These items include:
- copy (text)
- hierarchy of content
- Making links clickable
- Accessibility for impaired users
- Dynamically interacting with the movements of the user
- Cross-browser compatibility
- Mobile functionality
- Web standards compliance
If you do any online shopping, you search for an item you’d like to purchase, fill in your credit/debit card information and then receive a message saying that it will be shipped on a certain day. What you may not know is that there are thousands, if not, millions of lines of code that’s required to make these steps easy to perform, especially for major sites like Amazon and Apple.
Back-End Development consists of coding that works with the servers that hold and store information that people search for online. This form of web development is very complex and the coding requires more knowledge in database management, server-side technologies, and advance programming. Here are a few common languages used for back-end development:
This area of programming is where most of the problems lie with the healthcare.gov site. There has to be a connection between the fields filled out on the form by the user (front-end) to the database that stores the information (back-end) and if each person within their respective position does not verify the code they’ve done is working correctly, then problems will arise.
Not only should the individuals sections be tested, but once all of the code has been put together, another round of testing should be performed. Just because these sections of code work separately, they may not function when put together.
There are other aspects to the development process for the site that I may be neglecting such as the payment process, healthcare facilities involved, state regulations for individuals, families, and businesses, but based on what’s been reported I’m certain my conclusion is fairly accurate.
Why It’s Important To Test And Test Often
With over 5 million lines of code written for the healthcare site, shouldn’t someone have thought about testing as it was being developed?
Being a web developer, it’s crucial that you perform periodical testing of a site throughout the various stages of development. Every time you add a new section of code you should test it, making sure the functionality of the site continues to perform correctly.
This is a lesson I had learned some time ago while revamping the layout of my blog (an old version). I checked its layout in Firefox, Safari, Chrome, IE7 and IE8 and shared it with some friends for input. A couple of people said that everything looked nice except for my navigation, which looked really small and shifted to the left.
I asked which browser and version they were using and it was Internet Explorer 9. This version of IE had just come out and I didn’t check it at the time thinking not too many people would have it. I searched for some IE9 “hacks” and made the appropriate corrections.
NOTE: I couldn’t find the file that showed the IE9 version but the image above shows the size of my navigation as I was developing and testing it.
My Web Testing Process
Every web developer has their own methods for testing the work they perform. Some are more thorough than others but the outcome of the process should be the same, which is having the same look and functionality on all platforms.
Here’s what I do when I work on a web project.
Create a Test Area
After creating the layout/design of a website, I’m ready to convert it into a website. Before I do any coding, I create a testing folder under my domain and add any necessary content (images folder, styles folder, WordPress files, etc.).
Sometimes my customers prefer I work under their host provider and give me their login information to make the necessary changes.
Test Each Section
Each section of the website layout has been broken into at least 5 sections:
I like to start my coding process by working on the header section. After adding some CSS, I check how it looks within Firefox. If there are any glitches, I dive back into my stylesheet and make changes and repeat this process for each section until the site looks right.
After each section has been coded, I will then test the links making sure they go to the right places and the pages show properly. All of this is part of UI (User Interface) and UX (User Experience) design and testing.
Perform Testing On Browsers and Mobile Devices
The last test I do is check the sites’ appearance in other browsers:
Browsershots is free and provides over 190+ browsers for Linux, Windows, Mac, and BSD (Berkeley Software Distribution – a Unix based system). You can test for one, a few, or all of the listed browsers but the server takes awhile to process the screenshots. The default time is about 14 minutes and it may not take that long depending on how fast the system is running, but if it does they provide an “extend” button that will add more time for the browser you’ve chosen to appear in the queue.
Browserstack offers screenshots and live testing of your site in major browsers, as well as mobile devices. They give you free 100 screenshots without logging in and then provide another 100 screenshots before you have to sign up for a paid subscription. You’re also given a chance to have both services for a free trial offer.
Those are my two cents on how to avoid a live launch debacle like the healthcare.gov. Testing is fundamental when creating a website and it should be done as often as possible throughout the process.
What steps do you go through when developing a website? Have you had any launch problems in the work you’ve done? Leave your story below.