Testing approaches
There are a number of software testing methodologies, depending on the angle from which we look at the software[3]. The most common distinction is between functional testing and non-functional testing. We will now discuss what makes tests functional or non-functional, and when it is appropriate to use one type or the other.
Functional testing
Functionaltests try to capture the functional requirements (such as security, usability, and performance) of the software being tested[4]. The requirements are taken from the specifications of the software component.
Typically, functional testing involves the following steps:
- Identifying what functions and features a software component has, based on the requirement specification document
- Creating input data based on the requirements
- Determining the expected output
- Executing the tests
- Comparing the expected results with the actual output
Functional testing is beneficial when the following conditions are true:
- The requirements are clearly specified...