Open post

Building a Twitter sentiment analysis platform with AWS


12 months ago we started to look at Twitter sentiment analysis and how organisations can use this data to better understand their products, brand and services. We launched a project called ‘’ which looked to provide users with a platform whereby they could view and compare sentiment for their brands. After a couple of months of development we had a beta in place however, due to time constraints with other clients it wasn’t something we could continue to actively pursue we therefore put it on hold.

So why the renewed interest in Twitter sentiment analysis? There have been a couple of drivers to re-evaluate the project; I’m currently studying the AWS Associate Architect course learning all things AWS and the power of on-demand resources, secondly; another client approached us for a similar use case of using sentiment analysis to track the sentiment of movies currently being shown at cinemas.


After a couple of hours and familiarising myself with my original Python code my Twitter mining script was up and running again however I wanted to move on from a relational MySQL datastore into something with higher scalability and offered opportunities for machine learning.

As an AWS Registered Partner we have access to a wealth of AWS related resources and therefore decided to see if there was anything we could reuse or learn from to better our offering. It didn’t take me long to stumble across a great article by Ben Snively and Viral Desai -

The article details out how the AWS services can be used to build a social media dashboard using machine learning and BI services. They also provide a link so you can provision the stack yourself which makes it simple to get started.

In terms of the general approach it is very similar to my original concept whereby keywords search terms are sent through to the Twitter API e.g. Jurassic Park movie and then a series of tweets are returned back. Once the tweets have been stored then NLP (natural language processing) is used to determine whether the content of the tweet is seen as positive, neutral or negative.

Storing tweet content and the sentiment was piped directly into a MySQL DB in my original design whereas the approach suggested in the article was to utilise S3 buckets. By using S3 I wasn’t restricted by DB limits which was a benefit however in the future i may consider adjusting the architecture so that a noSQL DB such as MongoDB or DynanoDB is used so that I can explore the use of Elasticsearch capabilities.

An overview of the architecture can be found below.

Credit: Ben Snively and Viral Desai -

Getting started

Once I had provisioned the infrastructure and adjusted the EC2 instance type (from medium to micro given the usage demands are minimal) I configured AWS Athena so that it could start to discover the raw files in the S3 buckets. Setting up AWS Athena as is the case with most AWS products was easy and I tested out a number of SQL queries to validate the data.

Now the Twitter data was being retrieved and stored in S3 with AWS Athena providing a relational view of the data it was time to connect up a data dashboard. The article suggested using AWS Quicksight which connects directly to the AWS Athena data source easily once the access groups in AWS were amended. During my original implementation i made use of Chart.js to visualise the data and in my opinion this is a better choice given the vast chart types and integration options to choose from.

AWS Quicksight provides a user friendly interface that allows you generate dashboards quickly and within a matter of minutes I was able to generate charts based on the data stored. Quicksight refreshes the data from AWS Athena on request or scheduled and once it has processed the data stores a copy local within a Quicksight spice. This helps in terms of performance when generating reports however you need to be mindful of the data limits and the associated costs of adding more storage when the spice starts growing in size.

See below an extract of the dashboard from AWS Quicksight.

AWS Quicksight dashboard by Michael Blythe

Applicable use cases

Now the platform is built out with tweets and sentiment data available via Quicksight we can start to look at more use cases where this platform can be used. Originally during the initial implementation the intention was to track brands, specifically those within the e-commerce/fashion domain such as Boohoo, SimplyBe, Missguided. I could then begin to track and categorise the tweets allowing organisations to identify areas of improvement or learn of what works well for example customer services, delivery queries and product quality were popular categories.

Based on the implemented architecture scaling out the platform into new verticals can be easily completed with little effort by adjusting the terms that are sent through on the JS file to the Twitter API.

So what other use cases can be considered with this platform? I’ve outlined some initial thoughts but im sure there are others which i’ve missed:

  • Tracking brand sentiment by geography
  • Monitoring the sentiment of a product or service launch
  • Identification of negative tweets and addressing customer concerns
  • Automation of follow-up activity when either positive or negative sentiment is identified e.g. trigger a paid ad campaign when negative sentiment or perhaps email the marketing team if an influencer is positive about a product
  • Identification of tweet categorises and sentiment e.g. customer services

Next steps

Personally i believe sentiment analysis is an extremely important consideration for any organisation (profit and not-for-profit) whether purely online, hybrid or traditional offline. Understanding how customers ‘feel’ about your brand, product or service should be at the top or at least up there in terms of how a business measure success.

With regards to architectural considerations I would like to review as mentioned earlier piping the data into a noSQL storage so that I can begin running machine learning algorithms on the data looking for patterns including predictive analysis. Going back to the example i mentioned earlier where we are currently tracking movie sentiment, imagine a scenario where based on historic data that we could predict that action movies screened in Manchester and Newcastle have a positive sentiment whereas thriller movies have a positive sentiment in Edinburgh.

I feel there are opportunities to consider with invoking events using Lambda functions based on the sentiment values stored,  such as notifying a marketing team when a negative sentiment is identified in a particular geographic area so follow-up action can be taken with offline/online campaigns. A similar scenario might be that when a Twitter influencer positively mentions your brand, service or product that follow-up action could be triggered to provision additional AWS services to cope with increased demand proactively before any potential customers visit your website or app.

If you are interested in using the sentiment analysis platform we have developed or would like to learn how your organisation could use these techniques then get in touch with our team we'd love to hear from you.


Open post

Yellow Mango join the AWS Partner Network

We've joined the AWS Partner Network

We are pleased to announce that Yellow Mango have joined the AWS Partner Network. As an AWS Partner our team have access to the latest technical, marketing and business resources which will allow us to better support our existing and future customers.

As organisations look to differentiate their products and services whilst also seeking cost saving opportunities we believe that by partnering with AWS as an AWS Consulting Partner we can do exactly that. Our decision was reinforced following attendance of the AWS Summit in May, London where we had the opportunity to learn more not only from the AWS team but also from existing partners.

Overview of AWS

If you would like to learn more about AWS or interested in the types of provided you can find out more in the below video.

Whats next?

Expect plenty of updates, as a partner we want to share with you the latest best practices, case studies that will hopefully help you differentiate your products and service offerings. We will be providing real-world use-cases for how the AWS services can help your business; whether its showing how a small business can use S3 to consolidate their file storage, how Machine Learning can be used to better understanding customer behaviours or implementing Amazon API Gateway with Lambda so you can build an Alexa skill.

In order to allow Yellow Mango to move up-to the Standard Partner level and beyond our team will be continuing with AWS Certification training which is well underway and should be completed by the end of summer.

If you would like more information on our services or have a general AWS related query get in touch with us.

Open post

Provisioning an AWS EC2 and installing Apache with bash scripts

Use case overview

In this simple post we will show you how easy it is to provision an Apache Server on an AWS EC2 instance and then automatically copy across static content from an S3 bucket. This can be a handy tip if you want to quickly deploy a static website and your content is stored on S3.

The below approach can also be used as part of a Load Balanced configuration across different Regions & Availability zones, we will cover this off in a separate post.

Creating an EC2 Instance

AWS make it easy to create an EC2 server from their console but have you ever spotted the Advanced Details at the bottom of the Configure Instance page? If not then we will show with a simple bash script how to get going.

Firstly, choose the AMI you wish to use for your instance. For the purpose of this post we are going to use the Amazon Linux 2 LTS Candidate 2 AMI (HVM), SSD Volume Type – ami-924aa8f5

Once selected you can then choose the instance type, a general purpose t2.micro is sufficient for our example however you should consider high capacity servers depending on your requirements.

Now within the Configure Instance page you can scroll to the bottom and expand the Advanced Details. You will then be presented with User Data which allows you to configure scripts to run as the instance is provisioned. There are a wide range of uses for this but in our use case we want to automatically create a web server and move the content to it from an S3 bucket.

Adding content to an S3 bucket

In order for the content to be copied to the web server you must have a bucket setup with public permissions. If you create an S3 bucket and make it public please ensure no sensitive data is available.

We have created a test public bucket named s3://myWebsiteBucketName – the content of the website will be stored in this bucket. This could contain HTML, JS, CSS and image files to populate your site.

Using a bash script

Using a bash script we can script what the instance does when it starts, we have provided an example simple script below. If you want to reuse the below then make sure you replace myWebsiteBucketName with your own S3 bucket name. 


yum update -y

yum install httpd -y

service httpd start

chkconfig httpd on

aws s3 cp s3://myWebsiteBucketName /var/www/html –recursive


So what does the above script do, let’s break it down:

Firstly, we perform a yum update on instance so the latest versions have been downloaded and installed. We when install the Apache server by requesting yum install httpd. When the service has been installed we can then start the service by service httpd start.

To ensure that the Apache service starts when the instance is rebooted we can add in chkconfig httpd on now if the server is restarted the service will run again.

Finally, now we have a web server up and running we want to serve up the static content. We then copy across the content from the publicly accessible S3 bucket into our default web server folder by running aws s3 cp s3://myWebsiteBucketName /var/www/html –recursive

Once this has completed when browse the public IP address of your instance and you should see your static web pages displayed.

Related links

If you would like more information on the specific AWS commands available then take a look at the below link.


Open post

AWS Summit London 2018 Review

An introduction to the blog post using Amazon Polly, take a listen.

What we learned from the AWS Summit 2018

The annual AWS Summit was hosted at the Excel in London on the Wednesday 9th and Thursday 10th so a great opportunity to learn more about AWS. I haven’t attended an AWS Summit event before however, i’d heard good reviews from colleagues who had attended previously. I also watched videos from previous events to check it was appropriate and ultimately not a sales event.

Choosing and booking onto sessions

Given the ever growing number of services AWS provide it wasn’t surprising to find that there was a wide range of sessions on offer during both days. To make the most of my time there i decided to stay over the night before which in hindsight was a good choice as registration opened at 08:00.

To make booking onto sessions easier AWS provided a specific Summit app which was useful as it allowed you to review each session and then add it to your agenda. One criticism though was that you couldn’t register for the events via the app, you needed to browse to the website and then register there. Hopefully they will address this next year and allow registrations to be performed via the app.

Prior to reviewing the list of sessions at the AWS Summit I already had in mind areas of interest where I wanted to learn more. These were specifically, Building Alexa skills, Machine Learning/AI, Blockchain, AWS certification and finding out how the start-ups attending were using AWS.

Building Alexa skills

Voice assistances such as Alexa, Siri, Hey Google and Cortana have gained popularity over the past couple of years and now a wide range of services exist but are there any real-world use cases? Instead of reading more glossy marketing materials I decided to look at building a service myself to answer that question.

Two Alexa workshop sessions were on offer during the Summit, the beginner session in the morning and the advanced session in the afternoon. The workshop was led by Andrea Muttoni, a Technical Evangelist and Solutions Architect at AWS.

A few photos from the Alexa workshop below.

We started off the morning session with an overview of the Alexa service and the key features, this gave the attendees a good idea for the context given there was a mixed audience (developers, senior IT execs, sales). Following the overview we quickly moved into getting our environments configured which consisted off accessing the Amazon Developer account and the AWS Console.

Andrea was an excellent engaging presenter and by the end of the morning session most of the room had a functioning Alexa service (lots of pizza related questions for Alexa!).

During the afternoon session we recapped on what we had reviewed during the morning and then started to expand on the Lambda functions by adding in custom responses and also reviewed integrations with 3rd party APIs. The latter part of the afternoon was an opportunity to showcase our skills and ask any other questions.

It was great to see hands on how to build Alexa Skills as it allowed you to appreciate the various use cases for this type of customer interaction. There is a huge opportunity here for organisations to engage with their customers in an entirely new way, this is also true for the definition of the associated requirements. One of the key highlights i took away from this was that requirements should be described as a conversation not a case of writing lots of intents in a spreadsheet and handing it over to a developer. I’ll cover this approach in a separate post.

AWS Summit Keynote

The second day of the Summit had another busy agenda with the first session being the Keynote with Gavin Jackson (Managing Director, AWS UK & Ireland) and Dr. Werner Vogels (Chief Technology Officer) in the auditorium. There was an impressive turnout with around 4,000 people in attendance and no empty seats in sight.

Dr. Werner Vogels (Chief Technology Officer), AWS Summit London 2018
Dr. Werner Vogels (Chief Technology Officer), AWS Summit London 2018

Gavin Jackson started off proceedings with an overview of the AWS business including a comparison against other competitors (Google, Microsoft) in terms of marketshare and provided an overview of how the business had performed. I was surprised to see the market share which AWS had accumulated and even more impressed that the business continues to grow faster year to year.

Gavin Jackson invited Peter Vik from Jaguar Landrover to give an overview on how they have used AWS to transform their business in terms of agility and also cost reduction. It was interesting to learn how they are planning to use AWS and specifically Alexa embedded services in vehicles to help drive innovation. I think its a great idea that those skills enabled on your device within the home could be used on the move whilst in a car.

Werner Vogels soon after took to the stage and it was apparent from the reception he received that he is well regarded by AWS partners and customers. If you haven’t seen Werner Vogels present i’d recommend taking a look on YouTube, he is vibrant passionate individual who keeps the audience engaged. Thankfully he didn’t disappoint. He covered off a number of new service announcements and also gave real world examples of how small organisations through to large bluechips have used AWS services. It didn’t come across like a sales pitch, more an opportunity to say ‘You can all build this stuff’. This was reaffirmed by the parting slide which was aptly named ‘BUILD ON’.

Final words from Dr. Werner Vogels, Build On.
Final words from Dr. Werner Vogels, Build On.

Machine Learning and AI

Once the keynote had finished I had a couple of hours until the next session, I took the opportunity to listen to Lightning talks on Blockchain and hear about the start-ups which had built products/services on AWS.

During the late afternoon i attended AWS Machine Learning Language Services with Julien Simon, Principle Technical Evangelist, AI and Machine Learning. I was particularly interested in this session as it followed on with the theme of voice interaction from the previous day looking at Alexa.

I enjoyed this session as it covered a broad range of language services with real examples. Julien showed how we could use Amazon Polly to read text and also how to manipulate the style of the voice to make it more ‘human’. I was genuinely impressed on how life like the Amazon Polly output was and could see real use-cases for this type of service.

Content translation was also a key feature during the session with examples of how easy and quickly it is to translate content to a broad range of languages. I can’t comment on the quality of the translation as unfortunately i’m limited to English only. Perhaps i should get Amazon Polly to teach me a new language!

 Julien Simon, Principle Technical Evangelist, AI and Machine Learning presenting at the AWS Summit London 2018
Julien Simon, Principle Technical Evangelist, AI and Machine Learning presenting at the AWS Summit London 2018

Take aways

It was my first AWS Summit and i was genuinely impressed with the experience as a whole. Admittedly, I was a little concerned it would be a two day sales pitch but AWS found the right balance of promoting their services, partners and customers with real world scenarios which you could relate to.

The subject of Amazon Lambda was a common occurrence throughout the sessions as it seems AWS really want customers to embed this within their services. I can see the benefits of serverless for only paying for each request and no overheads for server management, but I can also see the counter view which questions how much control do you want to hand to AWS. This decision will differ per organisation depending on their resources and the platforms they are building.

Similar to Amazon Lambda, Machine Learning was mentioned throughout both days with AWS stating at the keynote that they want to provide the capabilities for developers so that applications and services are ‘smarter’. I believe we will see an increase in more intelligent applications and services emerging over the next 12 months as organisations look to differentiate their offerings.

Whats next?

I decided to invest in AWS training and certification a number of weeks prior to the Summit enrolling on the AWS Solutions Architect Associate course led by Ryan Kroonenburg, A Cloud Guru. A week later on from the Summit I asked myself, ‘Was this still the right track?’ Absolutely. Attending has reinforced my decision to invest in the AWS ecosystem now and for the future.

Over the coming months we will looking at Yellow Mango achieving partner status and more importantly looking at how we can help our own clients to innovate using AWS.

Open post

Why Creating A Digital Marketing Strategy Is Important

Creating a well researched digital marketing strategy is key to long term success. It is the foundation and focus of all your marketing efforts. It will help maximise ROI and provide measurable data to analyse the success of your efforts. Without a well structured marketing plan your marketing efforts are simply a stab in the dark.


Business Goals and Values

Define what your business has to offer and the business model. Who is your business for?


Create a Value Proposition using a template like this one made popular by Geoff Moore.


FOR Who is the target customer
WHO A statement of the need/opportunity
OUR The product or service/category
THAT The statement of benefit
UNLIKE Closest competitor
OUR OFFER The primary differentiator



Who and When are your customers?

Who are you targeting and where in the customer journey are they? Are they unaware you offer your product or are they close to making a purchase?

Why Define a target audience?

Knowing who is likely to want or need what you are offering is key to achieving your business goals. Having too broad a target audience will result in a low ROI and wasted marketing efforts. Most paid marketing efforts (SEM, SMM) allow you to focus on who sees your ads. Having defined a target audience in your digital strategy will make this part easier.


Ask yourself:

  • Who are your customers?
  • How and when are they likely to use your business?
  • What are their pain points? What barriers do they face?
  • Which social media channels are they likely to use?
  • What do they do for a living?


Most of this is guess work for a new start up but this is also why creating an avenue for customer feedback and collecting data about customers is vital. Be sure you are GDPR compliant though!


Creating objectives

‘SMART’ is a well established tool for defining marketing goals. Hubspot state – “HubSpot users that have the most success identify their long-term marketing goals using the SMART goal framework”. Being SMART about an objective is the difference between ‘I want to make more money’ and ‘I want to make £10,000 in the next 6 months selling our new {product/service}’.

So what are SMART marketing objectives?


Specific Your goal should be unambiguous and communicate what is expected, why it is important, who’s involved, where it is going to happen and which constraints are in place.
Measurable Your goal should have firm criteria for measuring progress and reaching the goal.
Attainable Your goal should be realistic and possible for your team to reach. Think about time and cost.
Relevant Your goal should matter to your business and address a core initiative.
Timely State the expected date that you intend to reach the goal.


Select your KPI’s

Make sure your KPI’s have metrics that are measurable and relate to your marketing goals and objectives. For instance, number of leads generated, website visitors or click through rate from email campaigns. have a very useful post outlining the Top 10 KPI’s in marketing.


Where to market?

You will need to develop a plan as to which platforms and media you will use to market. Will you use direct marketing such as email or chat bots or pay for search and social media ads. Messaging platforms are set to see a massive rise in popularity in 2018. You could create a blog on your website or consider influencer marketing? Can you reach out to other related businesses for backlinks? Where you base your marketing efforts will ultimately depend on your target audience.


How to market?

What will your content look like?


This could be in the form of blog posts created or curated by yourself. You could hire a social media manager / marketer to do this for you. You could create ad copy and images for paid ads or even create videos to convey your message. The best strategies will use a combination of a variety of methods based on your target audience.


Measure and Optimise

The key to any digital marketing strategy is to regularly assess, measure and optimise throughout the process. Why continue spending money on an ad that clearly isn’t working or continue to send emails that had very low click through rate (CTR). Consider A/B testing ad copy or images but be sure only to have one variation during an A/B test, otherwise it will be unclear what made the difference.


We hope this helps you start to build your marketing plan. But, if you want Yellow Mango to help – get in touch.

7 steps to an effective digital marketing strategy

Open post

Blockchain and Cryptocurrency meetup Manchester

Our team attended the first tech meet up of 2018; Blockchain and Cryptocurrencies held at Federation, Manchester last week (16/02). Given that Blockchain and Cryptocurrencies are still a relatively new concept there isn’t a large community in the North West of England so we were looking forward to attending to see what projects were underway.

What is the hype about?

Blockchain and Cryptocurrencies appeared in the mainstream media throughout 2017 mainly due to the extreme price fluctuations of the largest cryptocurrency, Bitcoin. Depending on which media outlet you were using the stories ranged from how Bitcoin had made individuals millionaires through to how it was being used as a method of anonymous payments for the underground.

There is an ever growing community surrounding cryptocurrencies as individuals try to better understand real-world applications and use cases for the underlying technology, Blockchain.

Our team are currently actively working on Ethereum based projects so we’ll provide more insights into how we believe Blockchain technologies will impact digital businesses.

What did we learn at the meet-up?

Given that Blockchain community isn’t particularly established as mentioned earlier I had admittedly formed some preconceptions of the event. If all failed at least there was pizza!

The session appeared to be attended by a mixture of groups; blockchain companies, developers, technology evangelists, investors and free pizza lovers. The diverse nature of the group made for some good conversations and debates.

The event was split into a sessions and provided the opportunity for companies to provide an insight into their ICO (initial coin offering). It was interesting to learn how these young startups had established themselves and accumulated circa £2M in one example of funding.

Two of the guest speakers had specifically flown in for the event from Germany and Cyprus so not only did we hear about local (Manchester/UK) projects but we had the opportunity to gain insights into what is happening in Europe. In Germany for example the government are embracing Blockchain technologies and are actively looking at real-world problems to solve using Ethereum. I initially thought the German view on Blockchain would be that of resistance given that Governments would not be in full control of a decentralized network but quite the opposite.

Another theme of conversation was regulation and what 2018 holds for Blockchain andCryptocurrencies. The general consensus was that regulation on ICO’s would become stricter with companies requiring to share more information and being transparent with their activities. I personally support this, in 2017 there were far too many negative stories where companies had taken ICO money and run. If ICO market is to grow we need the controls in place and investors need to be protected.

As for 2018, well that’s anyone’s guess however there was a common agreement by most who attended and that was Blockchain and Cryptocurrencies are here to stay but there will be some consolidation. Most agreed that Ethereum would likely replace Bitcoin as the most favourable platform given the concept of Smart Contracts and new network improvements in speed.


In summary a good event and one i’ll look to return back to when it returns to Manchester. We will provide an updated more detailed post on Blockchain and specifically our progress with Ethereum in the near future. If anyone would like anymore information on the session or the subjects mentioned please drop a comment in the post.


Open post

Featured in Cheshire’s Fastest Growing B2B Magazine

Its with great excitement that we can share with you that our first advertising campaign of 2018 launched in January focusing on the B2B (business to business) market. One of our strategic goals this year is to focus on local Cheshire businesses and look to help clients deliver B2B digital marketing initiatives. Throughout 2018 we will be expanding on our existing Digital Consultancy services with the launch of our Digital Marketing services which include SEO, Paid Search, Email marketing and Google Analytics consultancy.

Following our detailed market research we decided to partner with Cheshire Media to help implement the first stage of our advertising campaign. Cheshire Media distribute a publication to accurately report the major business events in the region; profile leading business people; and act as a communications platform for regional businesses.

If you like to see our new advert pick-up the January/February edition or alternative view the online version.

Open post The Importance of Digital Marketing for business

Why is Digital Marketing Important?

Digital Marketing And Your Business

With so many people searching online to research and buy products and services, it is imperative to have a digital marketing strategy for your business. Having a well researched plan will help bring your business closer to your online target audience.

A few stats:

  • 51% of smartphone users have discovered a new company or product when conducting a search on their smartphone. (Google, 2015)
  • 81% of shoppers conduct online research before making big purchases. (Retailing Today, 2014)
  • Nearly one-third of the world uses social networks regularly. (eMarketer, 2017)
  • “Organisations that are inbound are more likely to state that their marketing strategy is effective. Indeed, the majority of respondents who are part of outbound organisations do not think their marketing strategy is effective”. (Hubspot state of inbound 2017)
  • Smartphones are more popular as a device for browsing products while desktop is preferred for making a transaction. (Monetate)
  • There were 2.32 billion smartphone users in 2017 globally. (Statista)


A strategic, multi level digital marketing plan encompasses many factors. Firstly It considers structuring your website to make it easier for people to find your website, it needs to be search engine friendly. Equally as important is the value of analysing and optimising the user experience on your website prior to investing large sums of money in paid advertising. 


The First Steps To Your Plan


  • The definition of business goals and marketing objectives
  • Identifying target audiences and customer journeys.
  • Ensuring your website is user friendly, search engine friendly and fit for purpose.
  • Creating content your target audience wants to read.
  • Optimising the desktop and mobile page speeds.
  • Search Engine Optimisation: Carefully researching and selecting keywords for your SEO efforts.
  • Ensuring your website is mobile responsive.


Once you have carefully considered all these aspects you are then ready to move on to creating, implementing and investing in paid and owned advertising efforts.


Marketing efforts can be time consuming. Make sure you set aside an adequate length of time to achieve the best marketing plans, there are plenty of online courses that can equip you with the skills needed. Alternatively you can hire a digital marketing agency like ours to help you. Yes, it will cost a fee but it will give you the time to do what you do best – run your business.


Strategic Digital Marketing Plan

Open post Automated Test Scripts with Yellow Mango

Creating automated test scripts with Selenium and Python


This week we have been on site in Manchester working with one of our clients on their platform renewal programme. As we get ever closer to a base build ready for deployment and launch into production our focus is shifting more towards regression testing ensuring the key functionality/features continue to work as per the original acceptance criteria. Due to configuration of the teams (onshore/offshore) and single instance platform regression testing is becoming more of a necessity rather than ‘nice to have’.

As with most e-commerce platforms there are numerous test scenarios to work through as part of regressions testing ranging from user Sign-up, Adding to basket and Checkout through to viewing orders in My Account. With so many test scenarios to complete after each build it can be time consuming, expensive and prone to error for ‘someone’ to run through each of these.

Our team recommended automated test scripts to help take on some of the workload and free up resources to work on other activities. I’ve put this post together to share some of our learnings from the process to date including what worked well, what didn’t and how i’d approach it again.

Problem Context

As mentioned in the introduction there was a requirement to automate test scenarios after each release to ensure key functionality and features continue to work. This isn’t a unique problem for our client but something we’ve experienced with other clients and i’m pretty sure the reader of this post can relate to this also.

Before the client invested resources into automated testing we needed to prototype out what we were recommending to ensure it would offer some benefits, this was done very quickly by firing up a Python IDLE, Selenium and Chrome Webdriver. Within 30 minutes we had a basic test setup which could request URLs and perform basic functions.

Technology and tools

There are alternative languages, libraries and toolsets available however we used the below for our scenario.

    • Selenium – Web Driver – Allows the creation of automated test scripts, we decided to use the Web Driver version as we were writing scripts in Python.  For more information visit –
    • Python – Used Python (2.7) to query Selenium and create the scenarios. We love Python, it’s a very versatile language and something we have been spending more time using recently. For more information visit –
    • Chrome Webdriver – Open Source tool to complete automated testing. We decided on Chrome over Firefox due the visitor profiles (more visitors using Chrome). Fore more information visit –
    • – We’ve used Browserstack for some time now with different clients however it continues to in our toolbox of useful software. It provides device emulation and also allows you to run your Selenium scripts across different devices. Fore more information visit –
    • Coffee – This pretty much goes without saying… 🙂

What worked well

  • Its fast to get something up and running
  • It’s easy to debug errors
  • There is an extensive support network for all technology/tools mentioned in the above
  • It’s possible to pipe out results to CSV, txt files
  • We simulated time delays, typo’s, randomisation across all scenarios providing a more ‘real world’ test
  • Can run automated scripts in Browserstack to simulate different device behaviour

What didn’t work well

  • Watch out when setting URLs or defining environments, hard-coding environments is bad practice anyhow but use variables
  • When writing a long test you have to test each step before you can add further steps to the script, this can be time consuming
  • Updated/changed class names, buttons, hyperlinks can cause your scripts to break
  • There isn’t any reporting that comes out of the box
  • We didn’t get the opportunity to use Browserstack to its full capability in this instance which was a shame but hopefully the client will see the value it has to offer in the future


  • Set-out your key scenarios from the outset, don’t just jump in and start testing. Set the context and plan out what you need
  • Don’t try and conquer every scenario in one test script; break the scripts down into modular independent tests. We tried to solve all testing requirements with a couple of scripts but re-worked them over time to create smaller more well defined tests
  • Make sure you have appropriate stock available if testing product purchases, its surprising how quickly you can run out of stock (we were processing around 2/3 orders a minute)
  • Ensure your payment processing can handle multiple requests and fraud detection is disabled as the payment provider may this its fraud
  • Notify your ops team that you will be processing the automated tests otherwise if hundreds if not thousands of requests start hitting the environment they may get upset


Overall, a successful piece of work this week and it was good to get back using Selenium and the associated technology. We managed to create a number of tests quickly which has given the client the foundations in which to create further scenarios and hopefully it can re-used for future releases thus saving time/effort.

I like the flexibility of using Python the fact it was easy to pipe out results of each test for reporting purposes, not only this but other libraries could easily be imported to help add additional functionality.

If i was to start the process again perhaps I’d look at Selenium IDE using the Firefox add on but for what we needed everything seemed to fit into place given resources, timescales, and technology available.

I can share our scripts and further detailed experience if needed, please contact us for more information.

Have a good weekend,


Open post January Blog Update. Business analysis in Manchester

January Blog Update – Manchester tech start-up

Its been a busy start to our 2016 hence the late posting of our first blog update of 2016. Excuses aside let me tell you what we’ve been update to since the last update in December.

We started working with a Manchester based tech start-up in the Northern Quarter back in November and we’ve continued on site in their offices throughout January. During this time we’ve had a very diverse role as you can imagine with a start-up environment, no day is ever the same which certainly makes it interesting!

Our team are providing business analysis services and we’ve continued to refine their requirements catalog (User Stories) working with the Product Owners and Directors. As well creating and managing User Stories we are also updating Confluence and Sparx Enterprise Architect so the business has a record of how/why the system has been designed as implemented.

Finding the right level of detail of requirements in an Agile software delivery environment is always a challenge and more so with our client given the tight timescales whilst also working with 4 different partner organisations (design agency, marketing agency, distributor & development house). We believe though that we have found the perfect balance;


  • Epic overview – Additional detail of each Epic and a list of each User Story related
  • MVP- Has a version of a MVP (minimum viable product)
  • Product Roadmap – Details of the product roadmap
  • Meeting Minutes – Minutes from various meetings
  • Workshop artefacts – outputs from various workshops

Enterprise Architect

  • Solution Model – Overview of how the solution is built and their relationships
  • Process Flows – Business processes and the systems used
  • Sequence Diagrams – System interactions for each process
  • Data Model – Data model of the data stores (RMDMS)
  • Domain Model – Each domain entity mapped and their relationships

As we continue through the project lifecycle we will be switching our attention to business readiness and staring to validate all of the business requirements during the testing process.

Finally, we have been approached by another new client to assist their digital platform. We are in the process of creating high-level prototypes and define the scope at present but i hope i can share more information on this in February.

If you’d like more information on our currency projects or would like to discuss our services please contact us.

Scroll to top