Testing Can Be A Risky Business

It’s not uncommon for a software development project to take months or even years to be completed and reach the hands of customers. Or with Duke Nukem Forever.. decades.

And yet, with all that development time and anticipation by your end-users to get to use a piece of software. One incorrect feature or obscure bug can render the entire development process to worthless in less than a minute. This can not only be an infuriating experience for everyone involved. It is a perfect example of why an effective and robust testing strategy is not only crucial. But with software or hardware that is dealing with human life. It would be crazy not to have been included.

Read More

Strategic Test Automation

Testing is a critical part of any successful software development life-cycle. With demand ever-increasing for new digital solutions and quicker release cycles needed. The migration of previous manual test cases to an automated process is being put into action by more and more development teams as time goes on. And with amazing tools now available, such as Cypress and TestProject. Making the switch and reaping the rewards that test automation unleashes is simpler than ever.

With many benefits such as increases in efficiency, cost reductions less human interaction. Companies have a lot to gain from adopting robust test automation strategies and if used right. They will gain a valuable addition to their testing arsenal.

Unfortunately, many teams either start off on the wrong footing. Or when they get a new tool and use it. They have failed to have done the essential groundwork needed to know what they will do with it.

Read More

Seven practises to expand your software testing skills

One of my biggest heroes and someone I look up to for inspiration is the marathoner Eliud Kipchoge. Not only is he the holder of the (unofficial) fastest marathon time of under 2hrs (which is insane!) But he is also a prime example of what you can do with a dream, consistent practice and always pushing forward.

I might be guilty of butchering this quote, but to know a man, look at his habits. And if we look at his habits, then we can see a man who does not rest on his laurels and past achievements. But is always putting in the effort to push himself forward. Ready to achieve his next big goal.

For example, prior to marathons, he runs an average of 100+ miles per week. Crazy!

Read More

Why are you testing through the UI?

When asked what they think of when they hear automated testing. I would predict that many people (not all!), will think of a web browser being operated by a robot. Or a tool like Selenium or Cypress that you give instructions to and it navigates the web programmatically.

And while the former part of that statement is (partially) true. The latter is only referring to one type of automated testing and doesn’t cover the entire range of options that the term encompasses.

Testing at the UI level is a perfect option if we want to complete an end-to-end test from the perspective of a user. Confirm if the UI renders correctly under various conditions. Or check for visual inconsistencies without the effort of a human tester.

Read More

Not all bugs are created equal

The bug report is one cornerstone of a software testers work. Not only does it represent the errors or problems we have identified in a piece of software. But for developers on the receiving end of our submissions. They also define a portion of their workload for the day ahead.

It is a tester’s responsibility to report issues and bugs which have a negative on the quality of the product being delivered. But as part of that process. Any reported bug should also receive an associated severity level. This is a measured value which reflects the bug’s impact in the overall application.

To complicate things a little further, each bug also needs its own priority level. Which aims to minimise the impact on the development of a product and those issues with the greatest effect to end users get the required attention.

Read More

Why you should consider TestProject for your next test automation solution

I first discovered TestProject after hearing an interview with Mark Kardashov (CEO & co-founder) on an episode of the TestTalks podcast. For those who are unaware of TestProject. TestProject is a complete automated testing solution that is built ontop of Selenium and Appium.

Allowing it to be used for web-based testing, smart phone applications (iOS/Android), it is also backed by an invaluable community of enthusiastic testers discussing the latest trends and testing news. The community also serves a critical resource for seeking the answer to any questions that you may have about the platform.

TestProject is the brain-child of a team of developers based in the Israeli town of Petah-Tikva. Initially developed in 2015. However, they are now a member of the Tricentis family of software testing products.

I had been working with Selenium for quite a while when I first heard of TestProject. But always being open to widening my knowledge, experience and toolkit. And based on what I heard in the podcast and discovering that TestProject takes advantage of many features of both Selenium and Appium through an extensive SDK. I had to check it out.

(Side note: The SDK previously only supported Java. But it now supports C# and will receive further updates soon to support for additional languages such as JavaScript and Python).

Read More

How to develop your curiosity

Curiosity connects us with the world and invites exploring, testing boundaries and seeking knowledge and information.

When performing exploratory testing, for example. It’s critical to be curious not only about what you know will happen in positive conditions (the happy path). But also what will happen in unknown conditions and is beyond your current understanding.

With a lack of curiosity. You may fall into the routine of performing the same testing repeatedly. Exercising tests that cannot catch new bugs and issues the more that we execute them.

I do not wish to use the word routine as a synonym for boredom here. As I love routine. From the time I wake up, the music I listen to while I write and using beloved applications on my computer. Routine practices an outstanding thing.

If we look at the word in a wider context. Routine practises allow us to build into our daily lives dedicated time to pursue new knowledge, experiment with fresh ideas, and pursue what interests us the most.

Read More

Five steps to successfully learn any test automation framework

Being a lifelong learner, I jump at any excuse to learn a new piece of software. No matter if it’s a development tool, test automation framework, or a new utility program. If it has the potential to enhance my current abilities and optimise my workflow. Then I need to investigate it.

I recently started a new web-based project and needed something to perform UI testing. After evaluating my options (similar to the process outlined here). I decided to use the JavaScript E2E framework, Cypress. Which hasn’t been something that I’ve consistently been using, but since it now supports browsers other than Chrome. It fits my needs perfectly.

Read More

Docker 101: What it is and why testers need to know it

Software applications are complex beasts. More complex than the average user may realise. Take the homepage for your favourite news site for example, or Amazon.co.uk.

When you log on and try to purchase a recent book or search for your favourite type of tea. You may think that all the details are being generated by magic and all the functionality is based on some mysterious and complex exchange of bits and bytes.

Which, is kinda true. I mean, the complexity is real. Less magic, but don’t tell software developers that.

In reality, you are only seeing the front end. What you’re not seeing is the back-end operations in which there can be API calls to fetch data, databases involved for storage. And various other operations to enable you to see the daily news when you request it.

Read More

Is it possible to perform testing without any requirements?

Being asked to perform testing on a piece of software without a requirements document is something that should rarely occur. After a conversation with the customer to establish their unique needs, one is prepared and the process of development begins with the requirements as the foundation.

However, depending on various variables such as the company you are in, the customer you are delivering to. Or even the software that you are delivering. A set of formal requirements might not be available or even required. Making testing seem that much more complicated. Or even impossible to begin. But with the right planning, and reflection on past testing processes. You can implement a strategy that is not only appropriate. But also targeted and highly effective.

Read More