Home » tests

Tag: tests

If money were not an issue

What would you do if you had an unlimited budget?

Answering this question is a very useful exercise to see what you could get for your online presence if you had an unlimited budget.

To make it easier to digest, I will divide this exploration into a couple of categories.

 

Performance

Load balancers – for high traffic websites – make sure your customers don’t have to wait around for your pages to load.

Performance Optimization – when you need to shave off every millisecond – load speed affects conversions, making sense to have software that is as fast as possible. Performance optimization is very broad and includes items like code optimization, caching, content delivery networks, and load balancers.

Accelerated Mobile Pages – important if you care about SEO and traffic that Google sends your way. They provide a significant speed improvement, and with fast loading times, conversions also increase. This optimization works best for publishers and less for eCommerce sites.

 

Marketing and User Experience (UX)

Sales Funnels – use automatic email series to keep the conversation going with your prospects. And with conditional logic, you can tailor this conversation for each individual, so they don’t have to read through the material that is not relevant to them.

Chatbot and chat agent – leverage the power of AI to answer common questions for your visitors and customers. This bot, however, will not replace good support staff that can connect with the person on the other line. But it will offload some of the frequent questions.

Affiliate Program – selling is the most challenging process in a company, but it’s the only one that generates revenue. An affiliate program is a straightforward way to recruit a sales force that will work for you.

Correct Metadata – use the correct Metadata for your pages, making it easier to share content around social media and various content aggregators. Your content will not be noticed when placed next to someone doing a fantastic job with their meta tags if you ignore this.

Conversion tracking – if you do not set up goals and do not track how well they are doing, you will have no way of knowing what works. Every new decision will be a “wild guess” instead of an informed one. You can set up tracking using tools like Google Analytics, Facebook pixel, and in-house software.

Email Deliverability – you can be the best copywriter in the world. It will not help you if your users never get your email. Choose a good delivery service and configure things like DKIM and SPF correctly.

Advanced SEO – most modern publishing tools have built-in SEO helpers, but in some cases, more advanced tactics are needed to get that ranking you are looking for.

A/B Testing – it is best to make a decision based on your audience’s real data when possible. A/B testing helps you fine-tune your design and messaging for better conversions.

The user journey – how do people use your product or service? What can you improve that experience? The user journey experience can help you fine-tune the user experience, increasing both conversions and customer satisfaction.

 

Branding and Design

Intuitive Search – for content-heavy websites, like community forums, course libraries, and educational websites, a powerful search engine makes the difference between high engagement or content lost in inaccessible parts of your site. Most public websites rely on Google search to solve this issue for them, but what do you do if your content is private, behind a paywall? The tool to use here is Elastic Search.

Accessibility – make sure that people with disabilities can use your services. It’s not only a legal requirement in some countries, but it is also the right thing to do.

Companion App for iOS and Android – a companion app, if done right, can unlock new ways to interact with your customers and add value to them. Sometimes this is just a mobile site packed as an app. Still, a better experience is to take advantage of the many sensors on portable devices and create a unique and valuable experience.

Streamlined Checkout – don’t ask for a ton of information if all you need is an email address to deliver the digital products. There will be plenty of opportunities to collect other details later on. A streamlined checkout experience can significantly reduce the shopping cart abandonment rate.

Mobile Optimization – this term is a bit of a misnomer since you should think “mobile-first” and optimize for desktop later. But I am adding this here just in case it is not clear to you that more than half of traffic comes from mobile. Also, mobile does not mean only “small screens.” It means access to a camera, sensors, and information that you can use to create an experience that would not be possible on a desktop.

Style Guides – use style guides to ensure your look stays consistent across channels in interactions with your customers.

 

Insurance (backup and testing)

Testing – tests provide no direct benefit to either your customers or you, the website owner. Because of that, they are easily overlooked or done wrong. A broken or buggy process can cost you a fortune in lost revenue. Do your tests, and do them right. Follow this advice, and you don’t have to hope it will work; you know it will work.

  • Automated end-to-end tests – Don’t wait for a visitor to take the time to report a problem. Instead, have automated scripts that test the business-critical processes daily and immediately notify you when something breaks.
  • Stress tests – The fact that your home page feels snappy when you are the only one using it does not mean much. How will your infrastructure handle a spike in traffic? Especially in situations where you know a marketing promo will hit? Do you have auto-scale enabled? How far up should you scale? Stress tests can surface problems that only show up in high traffic situations, and they will also give you numbers you can work with when choosing the server specifications. High traffic can potentially mean lots of conversions. But it can also mean zero conversions if your server keeps crashing. That’s both revenue lost and marketing money wasted on a campaign that went nowhere.
  • Penetration tests – A good-looking snappy page is not necessarily secure. A security audit and penetration tests allow you to discover security holes and fix them before a bad actor abuses them.

GDPR compliance – obey the law. It’s cheaper than paying fines. And with a clear design, it does not have to look bad.

Resilient Design – with progressive enhancements – this is a way to future proof your web application by assuming that new technologies will emerge, so you plan to support those while not abandoning your old customer base.

Automated Backups – are the best insurance policy against data loss and security vulnerabilities. They need to be automated, so you don’t forget. And you need to test them to make sure they work.

 

Integration and Automation

Data import, export, and migration – having this in place helps you avoid lock-ins with a particular technology and provider. And it also opens up many integration possibilities with third-party tools. Being flexible makes you resilient.

Interoperability – how well do you play with others? Publishing clear and useful APIs can help increase the adoption of your service. It also increases the chance of your services being integrated and creating value in a way that you cannot foresee right now. Add artificial intelligence to the mix, and it can get exciting.

Automated email processing – for things like creating a support ticket for each email sent to a support address. Or use it for triggering processes in automated processes or for publishing content from your phone.

Support Ticket System – responding to support via email and not using a system is comfortable and easy but will hurt you in the long run. It will be impossible to track what was said to whom, and issues will fall through the cracks. Also, customers expect a premium brand to have a professional support system.

Single Sign-On – is a way to allow your users to log in once and then get access to all the relevant applications. When a visitor can signup with Google or Facebook, it reduces the friction of taking action, and it offloads the concern of storing a password to the identity provider. But be careful though, make sure your users can still log in even if they lose access to their email and that you own your audience, not the identity provider.

Administrative Dashboards – are dedicated applications or pages that will give you an overview of how your website performs. How are your metrics doing, and what are the outstanding issues.

RSS Feed – a free way to make your content discoverable and accessible for anyone interested. I believe this is an undervalued and underused feature. It allows your readers to stay in direct touch with you, and you don’t have to pay for a newsletter service or boost your posts. RSS is the readers’ equivalent for podcasts (and they use, in fact, the same technology).

Web Push – the ability to send web notifications to your users, even if they have closed your website. It is still new, and it still has impressive conversion rates. (At the moment, it only works on desktop browsers and Android). Don’t be spammy, though, as the users can block them with a click, and getting unblocked is not very easy.

Scheduled tasks – send daily reports, check website integrity, run maintenance tasks. Anything that you find yourself regularly doing should be programmed in as a scheduled task, especially backups. You can use cron jobs or an automation platform like Zapier for these.

Automatic content distribution – you don’t have to share your content on all the social media accounts manually. You can, and you should use tools that do this automatically.

 

Security

Security Audit – a security audit can help uncover problems that can only be discovered by looking at your code and software, and hardware architecture. This audit becomes crucial if you deal with very sensitive data, and a breach would cost you more than having regular security audits and penetration testing.

Although important, nobody likes tests!

I should not have to write this, but testing your web application is very important, especially if you care about your brand being perceived as premium. 

And by testing, I don’t mean “does my homepage load fine?”. I mean the comprehensive end-to-end testing and stress tests to ensure your app still works when that marketing campaign hits. 

Even though good tests are essential in the quality assurance process, I have seen websites and applications that do not fail gracefully, with a friendly error message that explains what happened and offers a way to move forward.

Many software workflows attempt to convince the developer to test first or make sure their code is testable, but most developers do not use them. 

I thought about it, and I believe I found the reasons. 

Nobody likes tests because:

  1.  they are boring to write
  2.  it is not easy to write code that is testable – you need a specific mindset
  3.  they offer zero visual feedback to the paying customer – so in that sense, it is invisible thankless work
  4.  they need to be maintained along with the code base that does something 

Tests are a tough sell to both developers and their clients. Most often than not, we proceed with the attitude: “we will fix it when someone complains!”

On this blog, I care a lot about value. And from that perspective, I will say this: no client will ever come to you and say, “I need a website that will require about 20,000 tests for a code coverage of 90%”. Tests have zero value to them. Instead, they need a solution to a real problem, like: 

  • They need to build a premium brand. 
  • They want to sleep well at night, having confidence that the vast majority of the app functionality works and will continue to work even under stress. 
  • They need actionable data to help them decide where to move next with their web application: what is the bottleneck in performance? What is hurting conversions? 

These are all items the client cares about, and a possible solution is to write tests. But what you are selling is peace of mind, not code coverage. 

And yes, in some cases, especially for MVPs, tests are not essential for the bottom line, and so even if you know they are important in the QA process, that may come later once the product proved to be a hit. 

As a developer, I would get into the practice of doing tests and writing testable code. It is an excellent skill to have when things change faster and faster, and interoperability creates more complex systems. 

And as a client, I would put some monetary value on my peace of mind and knowing the app won’t break and see what solutions I can buy for that budget.