๐ŸงชTesting types

Software Testing can be generally divided into three testing approach:

  • Black Box Testing - testing method where the internal structure/design/implementation of the item being tested is not known to the tester

  • White Box Testing - testing based on an analysis of the internal structure of the component or system.

  • Grey Box Testing - combination of Black Box and White Box Testing

Testing Types:

  1. Functional Testing - is a type of software testing whereby the system is tested against the functional requirements/specifications. Functional testing is as follows:

    1. Exploratory Testing - is an informal type of testing conducted to learn the software at the same time looking for errors or application behavior that seems non-obvious

    2. Sanity Testing - aims to ensure that the software environment as a whole is stable enough to proceed with extensive testing.

    3. Regression Testing - is a type of software testing that intends to ensure that changes (enhancements or defect fixes) to the software have not adversely affected it.

    4. Smoke Testing - aims at ensuring that the most important functions work

    5. Unit Testing - is the first level of software testing where individual units/ components of a software are tested; usually done by developers. A unit is the smallest testable part of any software

    6. Integration Testing - testing performed to expose defects in the interfaces and in the interactions between integrated components or systems; normally done by testers.

    7. User Acceptance testing

    8. End-to-End Testing - focused on mimicking real life scenarios and usage and involves testing information flow across applications. Example, from creating orders to reporting

    9. Ad-hoc Testing - also known as Random Testing or Monkey Testing, is a method of software testing without any planning and documentation

    10. API Testing - involves testing Application Programming Interfaces (APIs) directly and also as a part of integration testing to check whether the API meets expectations.

    11. GUI Testing - aimed at testing the software GUI (Graphical User Interface) of the software meets the requirements as mentioned in the GUI mock-ups and Detailed designed documents

  2. Non Functional testing is as follows

    1. Load Testing -is a type of performance test that checks how systems function under a heavy number of concurrent virtual users performing transactions over a certain period of time.

    2. Performance testing- Performance testing is the general name for tests that check how the system behaves and performs. This test examines responsiveness, stability, scalability, reliability, speed and resource usage of your software and infrastructure.

    3. Stress Testing - is a type of performance test that checks the upper limits of your system by testing it under extreme loads.

    4. Security Testing - is a type of Software Testing that uncovers vulnerabilities, threats, risks in a software application and prevents malicious attacks from intruders.

    5. Compatibility Testing - checks if the software can be run on different hardware, operating system, bandwidth, databases, web servers, different browsers, etc**.**

References:

Level of Testing

  • Unit Testing - is the first level of software testing where individual units/ components of a software are tested; usually done by developers. A unit is the smallest testable part of any software. More on Unit Testing...

  • Integration Testing - testing performed to expose defects in the interfaces and in the interactions between integrated components or systems; normally done by testers. More on Integration Testing...

  • System Testing - is a level of software testing where a complete and integrated software is tested; done by testers. More on System Testing...

  • Acceptance Testing - conducted to determine whether or not a system satisfies the acceptance criteria and to enable the user, customers or other authorized entity to determine whether or not to accept the system; normally done by other stakeholders, clients, and end users. More on Acceptance Testing...

SDLC & STLC Methodologies:

SDLC (Software development life cycle) and STLC (Software testing life cycle) must follow to ensure high-quality software system which helps you to meet the customer expectations.

SDLC - is a way to develop system/software through a phased manner in the following order:

  1. Requirements Analysis

  2. Design the software Architecture

  3. Build the Software

  4. Test

  5. Deployment & Maintenance

STLC - is the testing process of a system/software that is executed in a well-planned manner. STLC stages are:

  1. Requirement Analysis

  2. Test Plan

  3. Test Case Develop

  4. Environment setup

  5. Test Case Execution

  6. Test Cycle Closure

Development and Testing models-

  • Agile Model - continues and iterative method

  • V Model - sequential method

  • Waterfall Model - hands off approach

Last updated