top of page
illustration-software-test-strategy-various-phases-involved-process-66723271_edited.jpg

Testing Process

Thoughtfully Curated

Static, Dynamic, and Passive Testing


There are many approaches towards software testing. Reviews, walkthroughs, or inspections are referred to as static testing, whereas executing programmed code with a given set of test cases is referred to as dynamic testing. Static testing involves verification, whereas dynamic testing also involves validation.


Passive testing focuses on verifying the system behavior without any interaction with the software product. Contrary to active testing, testers do not provide any test data, but rather look at system logs and traces. They mine for patterns and specific behavior in order to make decisions.


Exploratory Approach


Exploratory testing is an approach to software testing that is concisely described as simultaneous learning, test design, and test execution.


The "Box" Approach


Software testing methods are traditionally divided into white- and black-box testing. These two approaches are used to describe the point of view that the tester takes when designing test cases. A hybrid approach called grey-box testing may also be applied to software testing methodology.


White-box testing (also known as clear box testing, glass box testing, transparent box testing, and structural testing) verifies the internal structures or workings of a program, as opposed to the functionality exposed to the end-user.


While white-box testing can be applied at the unit, integration, and system levels of the software testing process, it is usually done at the unit level.


Techniques used in white-box testing include:


  • API testing

  • Code coverage

  • Fault injection

  • Mutation testing

  • Static testing


Black-box testing (also known as functional testing) treats the software as a "black box," examining functionality without any knowledge of internal implementation, without seeing the source code. The testers are only aware of what the software is supposed to do, not how it does it. Black-box testing methods include equivalence partitioning, boundary value analysis, all-pairs testing, state transition tables, decision table testing, fuzz testing, model-based testing, use case testing, exploratory testing, and specification-based testing.


This method of test can be applied to all levels of software testing: unit, integration, system and acceptance. It typically comprises most, if not all, testing at higher levels, but can also dominate unit testing as well.


Unit Testing


Unit testing refers to tests that verify the functionality of a specific section of code, usually at the function level. In an object-oriented environment, this is usually at the class level, and the minimal unit tests include the constructors and destructors.

These types of tests are usually written by developers as they work on code (white-box style), to ensure that the specific function is working as expected.



Integration Testing


Integration testing is any type of software testing that seeks to verify the interfaces between components against a software design. Software components may be integrated in an iterative way or all together ("big bang").


System Integration Testing


System integration testing tests a completely integrated system to verify that the system meets its requirements.


Acceptance Testing


Acceptance testing commonly includes the following four types of tests:

​

  • User acceptance testing (UAT)

  • Operational acceptance testing (OAT)

  • Contractual and regulatory acceptance testing

  • Alpha and beta testing

Testing Approach: About

©2023 by Hashtag Ash

bottom of page