Ordinary users consider program creation process to be very simple and that it consists only of code writing and creating GUI. In fact, there are software testing companies, which perform various manipulations with the prototype of the program after the code writing.
When we start to work with a program we expect that it’ll carry out the tasks, which it is intended for. Software functional testing verifies how the final product corresponds to its technical task, checks whether all functions work properly and whether there are no errors in program functioning.