Automated testing is a powerful tool for ensuring the quality and reliability of your website, but it’s essential to start with a solid foundation. Before you dive into the world of automated testing, make sure you have a well-documented manual test plan in place. This approach ensures that you cover the basics and can efficiently manage your testing process.
The challenge of widespread changes
We often need to make significant changes to websites that can have far-reaching impacts. That might be a CMS upgrade, a broad styling change, or an adjustment to the content workflow. Testing every single item on the website can be a daunting task, especially when it involves multiple layers of checks. The developer tests each item, an internal reviewer goes through it again, and then the users also do their own round of review. While thorough testing is crucial, it is important to recognize it can also be incredibly time-consuming.
Getting the most value
It’s important to think about how to get the most value out of this process. How many bugs are okay to get to the live website — and where? Your first reaction might be to say, “zero,” but that’s not possible — even Google and Facebook have problems sometimes. You can add more layers of testing to get closer to zero, but you can never quite get there. Each of those layers of testing and quality assurance takes time, and time is money. You only have a limited amount of both, so what’s more important to you: getting out more features or having higher quality of those features? To help answer this question, take a look at your organization’s goals. Are you trying to acquire more students/donors/readers/etc.? Or is it more important that your site be flawless to your current audiences? The balance will be different for each organization.
How to get started creating a test plan
To streamline the testing process and ensure that the most critical aspects of your site are covered, start by creating an agreed-upon, documented test plan. This plan should focus on the essentials — those features and functionalities that, if they fail, would have the most serious consequences.
Identifying the essentials
Begin by asking yourself, “If this section or feature were to become unavailable, how serious would that be?” This question helps you prioritize the most important elements of your site. For example:
- Everyone: Having the homepage delivering that first impression is almost assuredly very important to you
- Nonprofits: Bringing in donations is usually the lifeblood of these organizations
- E-commerce: Ensuring that the checkout process is working as expected
- Content platforms: For higher education, focus on content creation and publishing. These features are crucial for maintaining an active and engaging site.
- Unique features: Is there an interactive data visualization, a faceted search page, or something else unusual that you’re known for?
- Seasonal features: Your site might have something that is only important for a few weeks of the year, like a course finder or a few pages related to a current marketing campaign. Make sure you have a plan for how and when to do extra testing here.
Creating a kitchen sink page
Another useful strategy is to create a “kitchen sink” page. This page should include all the different components you might use on your site, such as buttons, forms, components, and navigation elements. Having a single location to spot issues can save a lot of time and effort. While it’s not foolproof, it’s a great starting point for balancing efficiency with thoroughness.
The single source of truth
By having a single, comprehensive document for your test plan, you can easily communicate with your team and clients. You can say, “Be sure to run through the essential test plan. If that’s working, we should be good to go.” This clarity helps everyone stay on the same page and ensures that the most critical aspects are covered.
Laying the foundation for automated testing
As you become more comfortable with your manual test plan and as time and resources allow, you can use this foundation to transition to automated testing. There are numerous tools available that can help you automate repetitive tasks and ensure consistent testing. Some popular options for testing include:
- Percy: Automates the process of catching visual bugs and ensuring consistent user interfaces across different devices and browsers
- BackstopJS: Automates visual regression testing of your website by comparing screenshots over time
- Behat: Behavior-driven development (and testing). Good for testing business logic in apps.
By starting with a manual test plan, you can identify the most critical areas to automate, making your testing process more efficient and effective.
Conclusion
Automated testing is valuable, but it’s important to lay a good foundation first. A well-documented manual test plan ensures that you cover the essentials and can efficiently manage your testing process. As you grow and evolve, this plan will serve as a solid foundation for implementing automated testing, helping you maintain the quality and reliability of your site.
Making the web a better place to teach, learn, and advocate starts here...
When you subscribe to our newsletter!