A Case for a Test Suite
So, you’ve decided to create a website—and not just a 1999-style static site, but something with some advanced features like integration with a third-party system, or connection to social media channels, or maybe even some custom-developed functionality.
You’ve chosen the features carefully to support one or more of your company’s strategic initiatives. You hire a vendor, or work on the job in-house and, eventually—if all goes to plan— you’ll have a shiny new system tailored completely to accomplishing your outcomes.
Whether your project is just now kicking off, or the site launched well in the past, it may be time to ask yourself: “How do I know my website will continue to operate as expected when the digital world is constantly changing?”
Asking that question could be what puts you steps ahead of your competition. But if it hasn’t already crossed your mind, maybe you’re wondering just what’s possibly going to change—or you don’t even know what already HAS changed.
Here’s a short list:
- Your application runs on a technology stack—a layered set of various pieces of technology, including a programming language interpreter, a database server, a web server, and an operating system. These aren’t static pieces of software—they get updated over time, akin to how you update apps on your iPhone or PC when you see those nagging notifications. Your site needs to be compatible with those upgrades.
- Your application may depend on a third party software. This might be a content management system (CMS), a customer relationship management tool (CRM), or maybe even a giant enterprise resource planning system (ERP). No matter what it is, the vendor can modify their online code base at any time, with potentially drastic consequences to your website.
- It’s 2011, so there’s a good chance your application is socially integrated in one way or another. Maybe your site doubles as a Facebook app, maybe you allow users to sign-in with their Google account, or maybe you’re pulling in images or videos from a social media source. The bottom line is, these companies own code on their side of the fence which can be updated at any time.
- Your application will probably change. After it’s been in place for a while, you’ll likely realize tweaks you’d like to make. The site’s success could inspire new feature development. Your business model or strategy could shift, and your application will need to shift alongside it. Suddenly you need to modify the code that creates the customized online experience your stakeholders have come to depend on. Adding or changing one piece of the equation can unknowingly affect another.
Wouldn’t it be nice if at any point you could confidently state “The application is operating exactly as expected”?
Luckily there’s a solution: a test suite. A test suite is a simple set of automated tests run by a machine.
Software testing is not a new idea. Fortunately, methodologies have evolved over time to better interface with the project stakeholder (perhaps like yourself) who knows exactly what the application should do and why—even if that person has never written a line of code; whose eyes glazed over the moment they saw the term “technology stacks” earlier.
At Domain7, we use the behaviour driven development methodology on our custom development projects, and tie the process into testing tools like Cucumber. Cucumber uses a language called Gherkin, which empowers a non-technical expert to write tests in a plain old English syntax—bridging the gap between technical and non-technical stakeholders. The tests end up looking a lot like a set of requirements, which they really are. Once a set of test cases has been selected, written, and wired up to the application (with a wee bit more coding), they can be run at any time, against the production code base, or on a developer’s computer.
So, you hear that Facebook just patched a security hole in their Graph API, or that Netsuite has ‘upgraded’ its interface, perhaps your boss has just approved the overhaul of a major feature of your e-commerce site, or your developer just let you know that they’ve completed the first feature of your giant website project.
Whatever the case, there’s one key question you need to ask: does it all still work? No problem. Run the test suite. If the tests all light up ‘green’, you can confidently move on to the next item on your to-do list. If not, you know what’s broken and that it’s time to address the problem.
blog comments powered by DisqusContent Categories
All Posts
Community Projects
Content Strategy
D7 News
Design
Events
Interviews
Marketing
SEO
Social
Technology
The Weekly Edit
Latest on Twitter
- on the blog: great web starts with knowing when to say No! @kevangilbert talks about the Picking Problem http://t.co/yIdoDFzR 2 days ago
- Head honcho @snd7 talks web design for tablets with @VentureBeat and @JohnKoetsier: http://t.co/ZPco28Ej 4 days ago