Functional testing has been the primary focus for eTestware since its inception in 2014. Our team has worked with clients in cruise, travel and healthcare to deliver the right results. We pride ourselves on taking steps to fully understand what our clients need. We then collaborate with them in full and share our expertise at every turn. Today we harness that ethos to bring you an overview of functional testing.
What is Functional Testing?
A type of black box testing. Each part of the test subject is tested against the functional user specifications and requirements. A simple example then would be a test based around login functionality.
Top Tip: What are some of the best practices?
- Start producing test cases early in the process
- Create a ‘Requirement Traceability Matrix’ (RTM) document to map user requirements against test cases
- Deploy a balanced approach with the different testing types. Incorporate automated functional testing to maximise efficiency
- Understand how the end user thinks (a key aspect of QA testing versus development testing)
What are the different types?
There are many but perhaps the most essential are:
Unit Testing – Determines whether or not each part of the development code delivers the required output
Component Testing – Used to verify the expected output of each module or component (via independent testing)
Smoke Testing – Carried out on new builds to see whether or not the basic functionalities work
Integration Testing – The most common type of functional testing, this tests the modules which work individually and do not demonstrate bugs when integrated (this is an automated form of test)
Regression Testing – Evaluates whether or not development changes to functionality have damaged the existing functionality
Sanity Testing – A subset of regression testing, this is used to evaluate new builds that have received minor modifications
System Testing – After integration testing, this then takes place and is used on a complete, integrated test subject to analyse its compliance with specified requirements
User Acceptance Testing – The last part of the software testing process, this sees actual end users testing to determine whether or not the subject will work in real-world situations.
So there you have it, functional testing in a nutshell; QA teams use it habitually to validate whether or not a great software product has been delivered. If you have any questions or feedback, then please get in touch and our software experts will be happy to engage…
Next week: Performance Testing