Skip to main content

Testing a new software application

Testing a new application can be a challenge and a little bit daunting.

Below are a few useful tips that will hopefully help your testing, should you find yourself having a test an application that you have never used before. (These tips assume that you know about the applications main purpose and that maybe you have seen a demo of it.)

Tip 1 - Talk to the developers
Talking to the developer is a valuable resource of information about the application that you are testing. When talking to the developers you should do the following:
  • Find out how the application works
    • Developers are going to know better than most about how the application works. They will know things like the following
      • What technologies the application is built on
      • What is the architecture
      • Does the application have any configuration options
      • Areas of the code that caused them problems
  • Talk through bugs you raise with the developers
    • Going through a bug with a developer can give you insight into how the system works and also will allow the developer to explain the behaviour of the system when the bug manifested itself.
  • Ask questions
    • The developers are the people who wrote the software so they know better than anyone how it works, so......... ask questions. Whether they are about the UI or about how the code behind the scenes works, it doesn't matter. What matters is finding out as much as you can about the application that will help you with your testing. 
Tip 2 - Think about who is using it and how
Who's using the system? How are they using it? Now to get this information may require you to speak to a Business analyst or someone who know the end user, but this information can help focus your testing. If you know who is using the system you can use this information to be a little more specific in your testing approach. The same goes for finding out about how users are using the system. For example, if you find out that all of the users never use keyboard shortcuts then testing these would be low on your priority list. You could then focus your testing on using the mouse and keyboard.

Tip 3 - What value is the system adding
By finding out what value the system is adding your testing approach can change to suit this value add. So, for example, if the systems main value add is that it can notify you when cheap flights to Europe are available then you can prioritise your testing around that. Yes you should test when cheap flights to the US are available but making sure the main value add of the application is covered is more important. After all your users probably care more about flights to Europe than ones to the US.

Tip 4 - Raise all bugs
By raising everything you are going to (potentially), learn about the system. Now yes this may be a waste of time (in the short term) but when the developer/BA/Product owner looks at these issues and tells you it is not a bug, they can explain to you why. You will be amazed about how much you can learn about a system when you raise an issue that is not a bug.

Tip 5 - Don't plan too much testing
"If you fail to plan then plan to fail" - A famous (ish) quote that does hold true but not always when you are testing a system that is new to you. If you don't know the system why would you plan your testing?  How do you know what to test? What are the key risk areas? You are on a learning curve and as with some things in life just jumping in is the only way to go. Now you could plan things like tours to get familiar with the system, this is fine, but initially don't plan. Just familiarise yourself with the system.

Tip 6 - Create a model of the system
By creating a model of the system (and ideally documenting it) is a great way to aid your understanding of the system you are testing. Now your model may be wrong but you modify it and change it as you gather more information. When you have a model show it to people who know the system very well. They can help correct your model, this in turn will help you identify other testing avenues.

Tip 7 - Look at the bug tracker/Support system
Look at all of the bugs that have been raised. By looking at this you can gain an insight into the types of bugs that gets raised. Knowing the types of bugs that get raised can help you choose which areas you can focus testing on. Are there types of bugs that constantly frustrate the user? Do bugs gets raised that are not usually bugs? Is there a particular developer whose code always seems to have bugs raised against it?

The most important thing about testing a new system is gaining knowledge and trying to gain that knowledge as quickly as possible. In order to do it quickly you need to used
 all  the resources available - whether they be actual documents, people or something else.

Comments

Popular posts from this blog

Testing and Mindfulness

How aware are you? Do you live in the here and now or is your mind always somewhere else? This blog post is about Mindfulness. Mindfulness is a simple meditation and is defined as (According to Wikipedia): "The intentional, accepting and non-judgemental focus of one's attention on the emotions, thoughts and sensations occurring in the present moment" Now Mindfulness has become more popular in the west in recent years as it has shown to have benefits for people who are suffering from Depression and Anxiety. It has been around for a while and is often thought to of originated from Buddhism and some people believe it started thousands of years ago. Now modern life is hectic and I’m sure we all have lots of things going on in our lives that keep our Brains busy and trying to focus on one thing at a time can be a challenge. I can't remember the number of times I've been doing something and my mind is somewhere else entirely. Mindfuln...

How to deal with pauses and timeouts in specflow

So this blogpost is in response to the weekly Specflow blog posts and challenges that have been written by Gojko Adzic. This weeks challenge was how would you rewrite or rephrase the below scenario: Given a user registers successfully When the account page reloads And the user waits 2 seconds Then the account page displays "Account approved" My initial though was something like this: Given a user registers successfully  When the account page reloads   Then the account page is displayed within a satisfactory time period     And the account page displays "Account Approved" Now the problem with this scenario is what defines a satisfactory time? You could add it as a comment or in a scenario outline but over time the time a user waits could change and if this is updated in the code behind but the scenario outline or comments are not, then what the test does and what is described do not match - this would potentially cause issues in the future. My next ide...

Building a test strategy for a new team

Teams, we have all been on them. Some are good and some are bad. Some we never wanted to leave and others we probably couldn't wait to leave. Now most of the time (well in my experience anyway) you tend to get put into a team that already exists. Maybe you are a new hire or maybe you have asked to change to a different product team.  When you do this, more than likely there will already be a testing strategy in place. It may be that you adapt it and change it in any way you see fit to improve the testing. But imagine if everyone on the team was new? How would you decide your testing strategy? This post will go through some useful things you can do to help a new team develop a test strategy. Table of Contents ๐Ÿ“ˆ What is a Test Strategy? ๐Ÿค” Where should I start? ๐ŸŽฏ Understand the company and their goals ๐Ÿ’ช Play to the teams strengths ๐Ÿ‘️‍๐Ÿ—จ️ Understand what quality looks like ๐Ÿ“ Understand Scope ๐Ÿงช Understand the type of tests you need ๐Ÿ“Š Measure your success ๐Ÿค Collaborate ๐Ÿ“ Summar...