Testing for Developers- Fundamental Test Process

Testing for Developers- Fundamental Test Process

In the series we will define the basic terms that every developer needs to know about testing. The purpose is to give all team members a shared understanding of the fundamental terminology of the quality assurance and all related processes. Later this will improve the communication and reviews quality. It will further increase the testing capabilities of each member. In this part, we will talk about fundamental testing process.

As part of the professional services we provide at BELLATRIXwe consult companies and help them to improve their QA process and set up an automated testing infrastructure. After the initial review process and giving improvement recommendations for some companies we need to hire new talents that can help the company to scale-up the solutions we provided. This was part of training we did for a company we consulted so that we educate all of their developers.

Terms

Definition

Test Basis –  all documents from which the requirements of a component or system can be inferred. The documentation on which the test cases are based. If a document can be amended only by way of formal amendment procedure, then the test basis is called a frozen test basis.

Definition

Test Condition – an item or event of a component or system that could be verified by one or more test cases e.g., a function, transaction, feature, quality attribute, or structural element.

Definition

Test Design – the process of transforming general testing objectives into tangible test conditions and test cases.

Definition

Test Suite –  set of several test cases for a component or system under test, where the post condition of one test is often used as the precondition for the next one.

Definition

Test Log – a chronological record of relevant details about the execution of tests.

I create while ago a detailed article describing how to create test logs- Be Better QA- Start Creating Test Logs

Definition

Testware – artifacts produced during the test process required to plan, design, and execute tests, such as documentation, scripts, inputs, expected results, set-up and clear-up procedures, files, databases, environment, and any additional software or utilities used in testing.

Test Planning

Determine the scope and risks and identify the objectives of testing. Determine the test approach (techniques, test items, coverage, identifying and interfacing with the teams involved in testing, testware). Determine the exit criteria.

Test Analysis and Design

  • Review the test basis

  • Identify gaps and ambiguities in the specifications

  • Prevent defects appearing in the code

  • Evaluating testability of the test basis and test objects

  • Identifying and prioritizing test conditions based on analysis of test items, the specification, behaviour and structure

  • Designing the test environment set-up and identifying any required infrastructure and tools

Part of test design- identifying necessary test data to support the test conditions and test cases, initial conditions, actions, expected results.

Test Implementation and Execution

Execute the test suites and individual test cases - manually or by using execution tools. Log the outcome of test execution. Compare actual results with expected results. Report discrepancies as incidents and analyzing them in order to establish their cause.

Definition

Re-testing – testing that runs test cases that failed the last time they were run, in order to verify the success of corrective actions.

Definition

Regression Testing – testing of a previously tested program following modification to ensure that defects have not been introduced or uncovered in unchanged areas of the software, as a result of the changes made. It is performed when the software or its environment is changed.

Definition

Testing – the activity that initially finds failures in a software item.

Definition

Debugging – the process of finding, analyzing and removing the causes of failures in software.

Often following the debugging cycle the fixed code is tested to retest the fix itself to apply regression testing to the surrounding unchanged software.

Definition

Exit Criteria – the set of generic and specific conditions, agreed upon with the stakeholders, for permitting a process to be officially completed. The purpose of exit criteria is to prevent a task from being considered completed when there are still outstanding parts of the task which have not been finished. Exit criteria are used to report against and to plan when to stop testing.

Validation vs Verification

In every development life cycle, a part of testing is focused on verification testing and a part is focused on validation testing

Validation

  • Are we building the right system?

  • Does the product (or a part of it) solve its task?

  • Is this product suitable for its intended use?

Verification

  • Are we building the system right?

  • Does the product meet its specification?

  • Has it been achieved correctly and completely?

Related Articles

Testing Practices

Testing for Developers- What Is Testing?

In the series we will define the basic terms that every developer needs to know about testing. First, we will start with defining what exeactly is testing and d

Testing for Developers- What Is Testing?

Testing Practices

Testing for Developers- Testing Types

In the series we will define the basic terms that every developer needs to know about testing. The purpose is to give all team members a shared understanding of

Testing for Developers- Testing Types
Anton Angelov

About the author

Anton Angelov is Managing Director, Co-Founder, and Chief Test Automation Architect at Automate The Planet — a boutique consulting firm specializing in AI-augmented test automation strategy, implementation, and enablement. He is the creator of BELLATRIX, a cross-platform framework for web, mobile, desktop, and API testing, and the author of 8 bestselling books on test automation. A speaker at 60+ international conferences and researcher in AI-driven testing and LLM-based automation, he has been recognized as QA of the Decade and Webit Changemaker 2025.