Whether you're pursuing onsite or offshore QA, functional testing is an essential component of any test suite. It shows how effectively an application or system performs as a whole. Functional testing ensures that the customer's requirements will be met upon delivery, so the inputs are typically the specific business requirements.
Just getting started with functional testing for your product? Here are three commonly asked questions, along with answers from our expert QA engineers, to get you acquainted:
- What are the different types of functional and non-functional testing?
- Functional testing:
- Smoke testing
- Sanity testing
- Regression testing
- Usability testing
- Non-functional testing:
- Compatibility testing
- Load testing
- Stress testing
- Security testing
- Functional testing:
- How do the various types of functional testing differ?
Smoke testing quickly reveals problems in the most important functionality of a component or system. This type of documented, scripted testing provides quick feedback about problem areas. Further installation and testing will not continue until all key features work and major defects have been fixed.
Sanity testing, which is usually undocumented and unscripted, covers the functionality of the product from end-to-end. It verifies that new functionality works, and that defects have been fixed.
Regression testing helps verify whether program behavior has changed or if fixed defects have re-emerged since previous tests. This type of testing is especially helpful after making a change to the program.
Usability testing ensures that the software interface is built to meet user expectations. Users expect a standard of efficiency and simplicity when using a product, and this type of testing measures how well the software meets that standard. Learn 7 essential tips for functional testing.
- What is the difference between unit testing, functional testing and integration testing?
Each of these are a type of manual QA testing. Unit testing tests individual functions using small pieces of code. Like the name implies, unit testing is performed in isolation, apart from the rest of the program code. Functional testing is performed to check that each program component is functioning as expected. Integration testing tests several units of code, classes and methods to ensure that the different modules and interfaces work as expected following integration.
What value does good functional testing add to your product? Leave a comment below and let us know! Looking for more premium content from QASource? Be sure to follow us on LinkedIn and Facebook.