Approaches of Software testing

Quality Assurance, Software testing, Technology

This page is a curated information from blogs, articles, tutorials about software testing that relevant to QA team.

If you are new to software testing, you can use information on this page as starting point to grow your skills on software testing.

Scripted Testing

In this approach, test engineers perform testing on the system under test with a set of prepared instructions to ensure that the system functions as expected.

A test script specifies:

  • the test operations,
  • the expected results,
  • the comparisons the human or machine should make.

The scripting process provides opportunities to achieve several key benefits:

  • Careful thinking about the design of each test, optimizing it for its most important attributes (power, credibility, whatever);
  • Review by other stakeholders;
  • Reusability;
  • Known comprehensiveness of the set of tests;
  • If we consider the set sufficiently comprehensive, we can calculate as a metric the percentage completed of these tests.

Exploratory Testing

From Dr. Cem Kaner:

Exploratory software testing is a style of software testing that emphasizes the personal freedom and responsibility of the individual tester to continually optimize the quality of his/her work by treating:

  • test-related learning,
  • test design,
  • test execution, and
  • test result interpretation

as mutually supportive activities that run in parallel throughout the project.

A good exploratory tester will write down test ideas and use them in later test cycles. Such notes sometimes look a lot like test scripts, even if they aren’t.

Exploratory testing is sometimes confused with “ad hoc” testing. Ad hoc testing normally refers to a process of improvised, impromptu bug searching. By definition, anyone can do ad hoc testing. The term “exploratory testing” –coined by Cem Kaner, in Testing Computer Software –refers to a sophisticated, thoughtful approach to ad hoc testing.

How is Exploratory Testing Different from Scripted Testing?

Scripted testing follows a path that is written by the tester themselves or someone else. The script includes test cases and test steps that are documented. There can be no deviation from the path laid out in the script. The tester’s job in a scripted environment is to color within the lines only, follow each instruction to the nth degree and report on the findings.

Exploratory tests, on the other hand, rely on the tester to develop the testing path ‘on the go’. It’s not exactly a testing ‘free-for-all’ but it allows the tester to go where an end user might go rather than where a script tells them to go.

More on Exploratory Testing

A Tutorial in Exploratory Testing

Balancing Exploratory Testing with Scripted Testing

We become more exploratory when we can’t tell what tests should be run, in advance of the test cycle, or when we haven’t yet had the opportunity to create those tests. If we are running scripted tests, and new information comes to light that suggests a better test strategy, we may switch to an exploratory mode (as in the case of discovering a new failure that requires investigation).

Conversely, we take a more scripted approach when there is little uncertainty about how we want to test, new tests are relatively unimportant, the need for efficiency and reliability in executing those tests is worth the effort of scripting, and when we are prepared to pay the cost of documenting and maintaining tests.

Further reading

Leave a Reply

Your email address will not be published. Required fields are marked *