For this post I have decided to get more in depth on the differences of functional and non-functional testing. These are the categories in which most types of testing are divided into.
Functional testing is defined by the ISTQB as "Testing based on an analysis of the specification of the functionality of a component or system." Basically it's testing done to see if the system performs the way that the test specifications and requirements say it should.
Functional testing concentrates on testing activities that verify a specific action or function of the code. These are usually found in the code requirements documentation, although some development methodologies work from use cases or user stories. Functional tests tend to answer the question of "can the user do this" or "does this particular feature work."
An example of a type of functional testing is black box testing which tests the functionality of a software without knowing how it works, testers will only know what it's supposed to do.
ISTQB defines Non-Functional testing as "Testing the attributes of a component or system that do not relate to functionality." The attributes that don't relate to functionality include reliability, efficiency, usability, portability, and maintainability.
Wikipedia explains that "testing will determine the breaking point, the point at which extremes of scalability or performance leads to unstable execution. Non-functional requirements tend to be those that reflect the quality of the product, particularly in the context of the suitability perspective of its users."
Test types that test the attributes of Non functional testing coincide with the names of the attributes themselves and include reliability, efficiency, usability, portability, and maintainability testing.
In conclusion Functional testing tests to see if the software functions the way the client wants, while non-functional testing tests everything else about the system.
Hello Greg,
ReplyDeleteThe Article on functional vs. non-functional testing is informative.. It gives detailed information about it. Thanks for Sharing the information about the Software testing, Compatibility. For More information check the detail on Compatibility testing check, Software Testing Company