๐งชTesting types
Last updated
Last updated
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
Functional Testing - is a type of software testing whereby the system is tested against the functional requirements/specifications. Functional testing is as follows:
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
Sanity Testing - aims to ensure that the software environment as a whole is stable enough to proceed with extensive testing.
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.
Smoke Testing - aims at ensuring that the most important functions work
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
Integration Testing - testing performed to expose defects in the interfaces and in the interactions between integrated components or systems; normally done by testers.
User Acceptance testing
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
Ad-hoc Testing - also known as Random Testing or Monkey Testing, is a method of software testing without any planning and documentation
API Testing - involves testing Application Programming Interfaces (APIs) directly and also as a part of integration testing to check whether the API meets expectations.
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
Non Functional testing is as follows
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.
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.
Stress Testing - is a type of performance test that checks the upper limits of your system by testing it under extreme loads.
Security Testing - is a type of Software Testing that uncovers vulnerabilities, threats, risks in a software application and prevents malicious attacks from intruders.
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 (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:
Requirements Analysis
Design the software Architecture
Build the Software
Test
Deployment & Maintenance
STLC - is the testing process of a system/software that is executed in a well-planned manner. STLC stages are:
Requirement Analysis
Test Plan
Test Case Develop
Environment setup
Test Case Execution
Test Cycle Closure
Development and Testing models-
Agile Model - continues and iterative method
V Model - sequential method
Waterfall Model - hands off approach