Functional testing is same as its name shows means it’s all about checking the functionally of the software/application. When we talk about the functionally testing of software/application we testing it to check the working or functionally of the software/application against its business requirements and it also tell how well a system/application executes over its functions. Client specification or design specification are the main documents used in functional testing. Since functionally of the developed software/application is tested against the specification provided by the client.
Here a tester focus on the checking behavior of the software/application is according to the client in both normal and abnormal conditions. Tester mainly looks over the components which can enhance the performance of the software/application in terms of the functionality.After successfully completion of functional testing, software/application will allow the client to perform certain kind of its function.
Functional Testing includes
- Unit testing.
- Integration testing.
- System testing.
- User Interface testing.
- User Acceptance testing.
- Alpha testing and Beta testing.
Non- functional Testing
Non-functional testing is all about testing of non-functional components of software/application. This testing is concerned only about non-functional requirements of the software/application. Under this non-functional testing we evaluate the software’s / application’s readability according to the certain criteria. These criteria’s include all the non-functional components to test the software/application whether it fulfills all the defined specification or requirements and this will not include any software functionality parameters. Criteria like reliability, availability, compatibility, portability, install ability etc.
Non-functional testing requirements mean system constraints and user constraints. System constraints are related to the “solution” and they must be defined in the documentation i.e. in system specification document. Some of the characteristics of non-functional testing are like use of simple language, may or may not ambiguous, user specific or not, describes what and not how etc. In cases performance constraints, quality constraints and design constraints also come under the category of non-functional requirements.
Non-Functional Testing includes:
- Performance testing.
- Usability testing.
- Compatibility and Security testing.
- Load and Dependability testing.
- Volume and Stress testing.
- Penetration testing.
- Ergonomics testing.
- Readiness testing.
- Installation testing.