3 questions to ask before you start testing

3 questions to ask before you start testing

start testing

Before we start testing, we should ask yourself some very important questions.

  • Why do we want to test? – is helps us to answer the next question
  • When do we need to start testing?
  • What do we want to test?

We will try to address them here.

Why we want to test?

In most of the cases, we will start end-to-end testing for one of the following reason:

  • to increase application quality
  • to reduce the risk of failure for customer
  • to check functionalists after changes
  • simulate real scenarios

You should define your own reasons to test before the start. It helps you to choose the most suitable scope of testing and effort that you want to spend on them. Your reasons may be different, but based on my experience, these are the most common.

When we need to start testing?

In the case of unit testing, it is very easy. They should be created from the start of development. The other situation is for end-to-end and acceptance testing. We can’t write them right at the beginning because we don’t have anything to test. The best moment is when some functionality is fully implemented but before the first presentation for a customer. This is the time when we have a stable version of at least one application functionality and we want to be sure that it works. It is good to do the same for every functionality.

Why shouldn’t we start earlier? Because if we still working on the best solution, the HTML code may change. Each change of web page code may result in test fixing. This is the additional work that we can leave for later.

What we want to test?

This is the most interesting question because it depends on the number of people dedicated to writing tests and their engagement. It will list here the possibilities depending on the size of the dedicated testing team. I will give you an example based on shopping application.

  • none – (if you don’t have the separate testing team) – you should focus only on few the most crucial happy path in applications. For example – adding item to cart and making an order
  • 1-2 – you should test only important functionality. For example – changing password or checking order details
  • 3 or more – you should have tests for each user story in the project. For example sorting orders in the admin panel.

This is only my point of view. Do you agree with it or maybe you would make different decisions?

You can find more information about end-to-end testing in my book

The power of end-to-end testing

cover6_small
See more
End-to-end testing is a great improvement in quality testing automation. It reflects the user experience the most of all tests.

This book is a complete guide to Selenium tools. Both for beginners and experienced developers.

It just makes sure that system works fine, saving your time after all.

Sign up for free end-to-end testing training

Learn how to create end-to-end tests for your applications from the beginning to mobile testing
Name
Email address
  • I would add one more rule. Even if there are not many tests, you should always add a test when you fix a bug. I mean, if a bug was found, first reproduce in a (unit) test and then fix so that it doesn’t come back

    • I like to add new test only when I found a bug in *business logic* – then it means that either I have too low coverage or that I missed some edge case and adding new test will be beneficial for further development of application. But there are also many technical bug’s like e.g. we can’t handle ‘+’ in email address or that we didn’t foresee that our beloved web service may suddenly return additional field in XML – in such cases writing additional regression test’s is for me a waste of time.

      When writing test we should also consider cost of maintaining tests through application lifetime. Having too many tests especially without sharing test data or having havy “uber” homemade test framework can slow down development of new features. And unfortunately still in many projects quality of test code is much below quality of app code, many people think that if it is for test they can just copy paste code and change a few values to test new scenario.

      So for me the only rule here is to be pragmatic.

      • I don’t disagree. If only pragmatic didn’t mean lazy for most people. The wrong kind of lazy 馃槈

  • suvroc

    Yes, that is great rule and it is very beneficial to follow it.
    However I focused on rules at the beginning of testing in this article.

  • Pingback: dotnetomaniak.pl()

Sign up for free end-to-end testing training

Learn how to create end-to-end tests for your applications from the beginning to mobile testing
Name
Email address