“What is Functional Testing?”
- Smoke testing
- Regression testing
- Test integration
- Acceptance tests
Functional testing is the testing of software based on the functional description of the software in order to assess its quality and detect possible errors. This involves testing a (pre-)described situation. You control, as it were, the outcome of the development with what you have written about it in advance.
Test scenario (data) ⇒ Test case ⇒ Test output ⇒ Result
Er zijn verschillende soorten functionele tests die door het gehele softwareontwikkelproces worden gebruikt en de kwaliteit van het afgeleverde product optimaal kunnen afstemmen op de door u gewenste kwaliteit. Om hier optimaal van te profiteren is het niet voldoende om de ontwikkelaar een beetje te laten testen wat hij doet en achteraf de consultant er op te zetten. Functioneel testen gebeurt door de hele keten van ontwikkeling en is een vak apart, dat het best door specialisten wordt uitgevoerd.
Veel voorkomende soorten van functioneel testen:
Wat zijn de verschillen tussen functioneel en niet-functioneel testen? Waar functioneel testen zich richt op het vergelijk tussen de vooraf opgestelde functies van een applicatie, richt het niet-functionele testen zich meer op de applicatie als een geheel. Hoe goed presteert de applicatie in gegeven situaties en is dit voldoende in relatie tot het gewenste gebruik?
Functionele testen gaan dus over eisen en functionaliteiten (wat doet het), terwijl niet-functioneel testen gaat over verwachtingen en prestaties onder bepaalde omstandigheden. Functioneel testen is vaak handmatig uit te voeren, terwijl niet-functioneel testen vaak gesimuleerd moet worden.
In het proces van opstellen van wensen en eisen wordt niet-functioneel testen vaak vergeten. Over de functionaliteiten valt veel te vertellen, maar wat er verwacht wordt binnen bepaalde situaties van de software als geheel is lastiger te omschrijven of aan te geven wat er verwacht wordt.
Is het altijd mogelijk om functioneel testen uit te besteden?This question often comes up because of the idea that only the client of the development (the customer, owner of the product) really knows about the functional requirements of an application. This is of course partly true, because all knowledge that is not transferred is not available to an external party. However, there is also the added value for outsourcing functional testing. When the information has to be shared with an external party, attention will be paid to documenting the functional requirements as well as possible. As a result, software can be tested better and the end result will also be better. When the formulation of functional requirements is done properly from the start and is given the attention it needs during development, functional,
agile testing. Within an Agile development method it is not necessary to describe all functionalities in advance. Development is started on the basis of the User Stories and if the agile process is well put together, it will be well documented during the sprint what exactly is being built functionally. By integrating testing into this process, there will be continuous work on describing functionalities, creating test cases, performing tests and evaluating the results. As a result, functional testing does not become a post-development session, but a continuous circle of description, testing, evaluation and improvement. When professional testers are deployed for this, it is perfectly possible (and often better) to outsource functional testing.
Egor Gucinsky QA Manager
"Testing is a preventive activity and focuses on revealing risky from quality point of view areas before testing starts. It is done in order to put dedicated testing stress on areas that are tend to have issues. Testing of functional and business critical scenarios is a priority. Scenarios are prepared beforehand and support development from the beginning."