As part of theICEway ecosystem of companies, the eTestware team has worked with clients in cruise, travel and healthcare for over twenty years, delivering right sourced software testing solutions that deliver the right results. We pride ourselves on taking all the necessary steps in order to fully understand what our clients need, collaborating with them in full and sharing our expertise at every turn. Today we harness that ethos to bring you an overview of functional testing, in what will be the first of a series of short articles on different testing types.
What is it?
A type of black box testing in which each part of the test subject is tested against the functional user specifications and requirements.
A simple example of this would be a test based around login functionality, just one step in the overall functionality but a vital one nevertheless!
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, with automated functional testing incorporated 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 – This takes place after integration testing 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, please get in touch using the simple form below and our software experts will be happy to engage…
Next week: Performance Testing