Test Execution

Beginner

Test execution is the phase in the software testing process where a software application is actively run and tested against defined test cases to find defects. It involves comparing the actual results of the software with the expected results to verify its functionality.

First used·1970s

Definitions·1

Synonyms·2

Category·Software Testing

Also known as

Test RunTest Implementation

Definitions

What it means.

  1. 01

    In Software Quality Assurance

    In the context of the Software Testing Life Cycle (STLC), Test Execution is the phase where a software build is actively tested against a predefined set of test cases or test scripts. It is the process of running a test on the component or system under test, producing actual result(s).

    The primary goal of this phase is to validate that the software functions as expected and to identify any deviations, commonly known as defects or bugs. It involves comparing the actual outcome of a test with its expected outcome, which is documented in the test case.

    Key Process Steps:

    • Environment Setup: Preparing the necessary hardware, software, and network configurations to run the tests.
    • Execution: Running the test cases, either manually by a QA engineer or automatically using a test script and automation tool.
    • Comparison: Observing the software's behavior and comparing the actual results against the expected results defined in the test case.
    • Logging: Recording the outcome of each test step (e.g., Pass, Fail, Blocked, Skipped) in a test management tool.
    • Defect Reporting: If a test fails (i.e., the actual result does not match the expected result), a detailed defect report is created for the development team to investigate and fix.

    For example, a tester executing a test case for a login feature would enter a valid username and password, click the 'Login' button, and verify that the application navigates to the user's dashboard. This entire sequence of actions and verification is the test execution.

Origin

Where it comes from.

Etymology

The term is a compound of "Test" and "Execution." "Test" originates from the Old French "test," meaning an earthen pot used in alchemy to assay precious metals. "Execution" comes from the Latin "exsequi," which means "to follow out" or "to perform." Combined, "Test Execution" literally means to perform or carry out a test.

Historical context

The concept of testing software has existed since the first programs were written in the 1940s and 50s. However, it was often an informal process called 'debugging' and was performed by the developers themselves.

The term and formal process of Test Execution gained prominence in the 1970s with the rise of structured development methodologies like the Waterfall model. In this model, testing was a distinct, separate phase that occurred after the entire development phase was complete. Test execution was a formal, planned activity where testers would manually run through pre-written test cases.

With the advent of Agile methodologies in the early 2000s, the approach shifted. Instead of being a single phase at the end, test execution became an iterative and continuous activity performed throughout the development lifecycle. This era also saw the rise of test automation, where scripts and tools perform the test run, especially for repetitive regression tests.

Today, test execution is a core component of Continuous Integration/Continuous Delivery (CI/CD) pipelines, where automated tests are executed automatically every time new code is committed, providing rapid feedback to developers.

Usage

In context.

  • The nightly build failed because a critical error occurred during the automated test execution.

  • The QA team is preparing the test environment for the final test run before the product release.

  • A detailed log is generated after each test execution to track results and identify any new defects.

  • For this sprint, the test implementation will focus on the new user authentication features.

FAQ

Common questions.

The primary inputs for test execution are: the software build or version to be tested, a configured test environment, a test plan, and a set of test cases or test scripts.

The primary outputs are: test results (Pass/Fail/Blocked), detailed defect reports for any failures, and test execution logs which provide an audit trail of the testing activities.

Taxonomy

Filed under.

Categories

Software TestingQuality AssuranceSoftware Development

Tags

TestingQASTLCTest ManagementAutomationManual Testing