Functional testing involves testing the function of a program. It's a higher form of abstraction than the testing we have done so far, as it is a black box test and we don't care about the internal workings of our program, only that it delivers the expected results.
In this chapter, we will learn about the following topics:
What functional testing is and how to apply it
Writing executable specifications with TickSpec
Wielding a web browser as a testing tool
Which tests provide the best regression for our application
Functional testing is a practice with many names and is often confused with manual testing. This is because what testers do is functional testing, even though they are doing it manually. In order to ensure the quality of the system, testers will verify the functionality with the specification. I've heard of testers that use automated tests to ensure they have regression in their testing, without having to repeat the same testing task over and over again...