We are using Mocha + Chai to deal with assertions, Enzyme to testing React components themselves and Puppeteer for UI testing the final product.
Each section on testing will delve into examples.
Name | Definition |
---|---|
Unit Testing | Testing of an individual software component or module is termed as Unit Testing. |
Integration Testing | Testing of all integrated modules to verify the combined functionality after integration is termed as Integration Testing. |
System Testing | The entire system is tested as per the requirements. It is a Black-box type Testing that is based on overall requirement specifications and covers all the combined parts of a system. |
Sanity Testing | Sanity Testing is done to determine if a new software version is performing well enough to accept it for a major testing effort or not. |
Smoke Testing | In simple terms, verifying whether the important features are working and there are no showstoppers in the build that is under testing. |
Interface Testing | Interface Testing is defined as a software testing type which verifies whether the communication between two different software systems is done correctly ie APIs, web services etc |
Regression Testing | Testing an application as a whole for the modification in any module or functionality is termed as Regression Testing. |
Beta/Acceptance Testing (UAT) | Performed by the client and verifies whether the end to end the flow of the system is as per the business requirements or not and if it is as per the needs of the end-user. |
Name | Definition |
---|---|
Performance Testing | This term is often used interchangeably with ‘stress' and ‘load' testing. Performance Testing is done to check whether the system meets the performance requirements. |
Load Testing | It is a type of Non-Functional Testing and the objective of Load Testing is to check how much load or maximum workload a system can handle without any performance degradation. |
Stress Testing | This testing is done when a system is stressed beyond its specifications in order to check how and when it fails. |
Volume Testing | Application undergoes a huge amount of data and Volume Testing checks the system behavior and response time of the application when the system came across such a high volume of data. |
Security Testing | Security Testing is done to check how the software or application or website is secure from internal and external threats. |
Compatibility Testing | It is a testing type in which it validates how software behaves and runs in a different environment, web servers, hardware, and network environment. |
Install Testing | Installation and Uninstallation Testing is done on full, partial, or upgrade install/uninstall processes on different operating systems under different hardware or software environment. |
Recovery Testing | It is a type of testing which validates how well the application or system recovers from crashes or disasters. |
Reliability Testing | Checks whether the software can perform a failure-free operation for a specified period of time in a particular environment. |
Usability Testing | User-friendliness check is done. The application flow is tested to know if a new user can understand the application easily or not. |
Compliance Testing | (Also known as Conformance testing) is a nonfunctional testing technique which is done to validate, whether the system developed meets the organization’s prescribed standards or not. |
Localization Testing | The product is checked to assure that it behaves according to the local culture or settings |