Loading

Exploratory vs Scripted Testing


Exploratory Testing:

This testing is about exploring a software component, also termed as context based approach.Exploratory testing can be conducted any time irrespective of the phase it is in. An efficient exploratory tester is the one who keeps applying his ideas and thoughts on the basis of past experiences or previous mistakes, and prepares a list of those factors so as to apply them to application testing.

The main objective of exploratory testing is to enable learning about the software application being developed. It is not a preplanned approach, contrary to what scripted testing is. This type of testing is carried out in case we have limited time with no prior documentation. Exploratory testing is an agile approach which is dynamic and quite spontaneous in nature in contrast to the traditional form of testing.

Exploratory Testing

Note: Exploratory testing aims to design and execute tests simultaneously, an unplanned and spontaneous form of testing that helps to uncover facts.

Scripted Testing:

This technique involves pre-planning of each subsequent steps to be followed in the execution of test plan for a specific component. A QA prepares test cases and also explains what would be the outcome of the overall test plan.

Hence scripted testing is a systematic approach to conduct testing of an application, in a well documented manner. Scripted tests are mostly automated , thus can be performed by testers who are new to testing.

Scripted Testing

Need of Scripted vs Exploratory Testing:

Exploratory testing is an approach most suitable in the early phases of development, where coding of software components have just begun. In order to keep an eye on defects and to take corrective measures on a timely basis, exploratory testing serves the purpose. A constant urge to find out bugs, finding ways to mitigate the faults occurring, enables one to develop a deep understanding of the flow of a program. It is a very effective approach to agile environments, where changes are dynamic. Testing is to be done within very limited time periods.

Scripted testing on the contrary relies on a planned set of test cases. It is carried out in the light of a certain kind of test scenario, with test scripts meant to find bugs in a particular software component.

Scripted Test criteria:

  • The aim is cover all possible test cases and reporting bugs, if any.
  • Testing an application using script can be performed by even non-testers,hence the scope of learning is vast.
  • A test lead usually guides the testing team, the lead prepares the test cases and the testers perform the execution.

Exploratory Test Criteria:

Exploratory testing has evolved in new ways over the past few years. There have been many standards defined in this context. Following are the few formal methods.

  • Charters - These define the areas , important functionalities to be tested.
  • Sessions - Time frames are allotted to carry out testing . The tester focuses on producing as many defects as there could be.
  • A testing approach is selected keeping in mind few important factors. These are :

    • Complexity level of a system – Sometimes system has a high level of dependency among the functions, in such a scenario high level of skill and expertise is required.
    • Domain knowledge of a tester - Depending on the knowledge of a tester in a specific domain, groups are divided. It simply means, to what extent does a tester understands the operation of a system and other factors involved in it. For instance, it is required to explain to the client the working of the end product, an experienced tester is a preferable choice.
    • Extent of documentation required - The degree of documentation can also be a decisive factor in determining the type of testing to be adopted. When the documentation is not properly available for business and functional requirements for the software, exploratory testing is more suitable option.
    • Deadlines to be accomplished and time line allotted to a project - Depending on the time slot available to the testers for carrying out testing of a software component,testing is conducted. Exploratory is suitable for agile projects.
    • How much coverage needs to be done - Which portion of the software needs attention, determines the techniques used for testing. Scripted testing in this case shall help in a step by step execution of test cases for covering important aspects of the system.
    • Risk involved - If a software component tends to involve less risk in terms of defect detection, then exploratory testing can be adopted.

    The aforementioned points are key areas to be analyse prior selecting either of the testing approaches. This shall help to direct testing in the right and most appropriate way.

    Conclusion:

    Testing is an inevitable part of software's life cycle. Hence the right kind of approach must be applied for the purpose of choosing the right testing. As explained earlier, exploratory style of testing needs less documentation, requires analytical skills of testers and a limited time, it is thus a continuous process of learning along with test design and test execution.

    Scripted testing is basically an automation process which aims at a planned test activity with detailed test case, test specifications and test design. Scripted testing facilitates the scope for predictability. A tester working on scripted testing can produce a written document of bug reports.