Test Management Blog

Module 6 – Using Source Code Control to Manage Our Test Artefacts

May 15, 2016
Module 6 - Using Source Code Control to Manage Our Test Artefacts In this final module we’re looking how we can best control all of our test resources and files. We’ve created Selenium, SoapUI and JMeter tests. The files for all of these tests are now scattered all over our distributed test automation environment. Not great for colloaboration, maintaining versions and backups. Down right dangerous really. What we need to do is pull all of our files together into one central repostiory. Well, with the tool we’re using, Git, it’s more a central distributed repostiory. ‘Central distributed repository’ sounds like a bit of a contradiction. We’ll explain that contradiction as we go through this. Anyway, we’ll be running up an...
Read more...

Module 5 – Running Our Performance Tests with JMeter

May 9, 2016
In this Moudule we’re focusing on running our performance and load tests. We’ll create some simple scripts in JMeter and link the execution of these scripts into our build process with Jenkins. Once our Selenium functional tests and our SoapUI REST API tests are complete we’ll kick off these JMeter tests. The setup of this will cover these topics: 1. Install JMeter 2. Configure and Create Performance Tests 3. Add and Configure Jenkins Performance Plugin 4. Deploy and Run all our test jobs   To keep things simple we’ll use JMeter to test the performance using the Rocket Chat Rest Api. This will allow us to focus on the key concept of building the automation framework rather than getting to...
Read more...

Module 4 – Executing Our REST API Tests

March 6, 2016
In this module we start to put together some API tests to check the REST Api that is delivered as part of a Rocket Chat install. The moment the Selenium tests complete Jenkins will trigger SoapUI to run a number of REST based API tests from one of the Windows AWS client machines. In setting this up we’ll cover a few key areas: 1. Looking at the Rocket Chat API calls 2. Installing and writing SoapUI REST API tests 3. Driving SoapUI from Jenkins 4. Using the Jenkins xUnit plugin to display test results We’ll run in to a few small challenges whilst setting this up. For example the rocket Chat Api returns some security credentials after the initial login....
Read more...

Module 3 – Adding Selenium Browser Automation in to the Mix

February 19, 2016
As we look at driving a Windows client machine from Jenkins, to run Selenium based browser tests things get a little bit more involved. In this 3rd module of our Building The Test Automation Framework course we step things up a little bit. Nothing we can't handle though as we take you through each step in detail. We're going to cover four key areas: 1. Setting up a Windows Jenkins salve machine 2. Install the test software on the slave machine (e.g. Python and Selenium) 3. Creating a basic Selenium script 4. Running the Selenium Scripts from the Jenkins Master Machine Once you've completed all of these steps you'll have setup a client Windows AWS machine that will run Selenium...
Read more...

Module 2 – An Introduction to Jenkins for Testers

February 2, 2016
We have the test environment in place (if you don’t check here) and we know enough to be dangerous with Amazon Web Services. Next step is probably the most important. We need to get Jenkins installed, configured and running. Jenkins has to be one the testers most useful tools. It’s not just handy for kicking off automated tests it’s indispensable for automating all sorts of processes you have to complete day in day out. We’re going to cover 4 main areas here… 1. Jenkins Installation 2. Installing Jenkins Plugins 2. Jenkins Configuration 3. Deploying and Building the Application Under Test By the time we’ve completed the module we will have Jenkins running on our Windows Master machine. The Jenkins configuration will...
Read more...

Module 1 – An Introduction to Amazon Web Services for Testers

January 19, 2016
Our 6 module course on Building the Test Automation Framework starts with Amazon Web Services (AWS). We’re going to use AWS, and more specifically, the Elastic Compute Cloud (EC2) to build our test environment and automation system. It all starts with configuring and running up the virtual machines we need to run everything on. If you haven't read our introduction to Building the Test Automation Framework you can read more here: An Introduction to Building the Test Automation Framework This first module is all about understanding Amazon Web Services (AWS) and Elastic Compute Cloud (EC2).   We're going to cover six key areas: First, creating an AWS account (you can skip this part if you already have one) Secondly, configuring two...
Read more...

Building the Test Automation Framework

January 18, 2016
Welcome to Building the Test Automation Framework. A 6 part course that takes you step by step through the process of building a test automation framework. A test automation framework we'll build completely from open source tools. Each of the 6 modules is a short course in it's own right. Each module covering tools like; Amazon Web Services, Jenkins, Selenium, Git, SoapUI and JMeter. When we've finished we'll have a distributed test automation framework. A framework based on the principals of Continuous Integration and Devops. This is about building a framework at the system level that gives you the platform to automate much of what you need to do on a day to day basis.   To build this platform we...
Read more...

Is it just me or do you get this feeling too?

January 5, 2016
One of the stand out moments in 2015 has to be the high profile fall out in one of the biggest sports in the world. A fall out between one of the most successful partnerships of all time in Formula 1. A fall out that had many parallels with the way testers are treated in our industry. The Chairman of Renault, Carlso Ghosn, stated publicly that he wanted to sever ties with Red Bull. One of the most successful F1 partnerships of all time, Red Bull and Renault, fell out. Why? Carlso explained that... "Unfortunately when we were winning championships the Renault name was never mentioned. It was the [Red Bull] team that was winning". And when things weren't going so...
Read more...

Why Don’t We Thrash Out The API Design At The Start?

December 15, 2015
It's the start of a new project. Everyone is throwing in design ideas. Lot of excitement. Bit of a buzz. High level architecture is taking shape. Wire diagrams for the GUI are nearly finished. 'This' system will talk to 'that' system. You know which systems are storing the different pieces of data. Front end will be mobile iOS and Android. We'll use a REST api to talk to the back end. The design is looking good. And everybody's off. All beavering away. All building their own little bit of the system. Won't be long before we put all the different parts of the system together for the first time. See it all working as a system. Sure... we'll find a...
Read more...

Why Don’t We Learn From Our Mistakes?

December 8, 2015
Chesley Sullenberger, the pilot who landed an Airbus A320 on the Hudson explained in an interview that "Everything we know in aviation, every rule in the rule book, every procedure we have, we know because someone somewhere died.... We have purchased at great cost, lessons literally bought with blood that we have to preserve as institutional knowledge and pass on to succeeding generations. We cannot have the moral failure of forgetting these lessons and then having to relearn them." How would our practice of software testing improve and our discipline be enhanced if mistakes we made resulted in people dying? For some of us they can and do result in people dying. In many industries like medical devices and air...
Read more...