Home QA & Testing soorten Functioneel testen

Functioneel testen

“What is Functional Testing?”

  • Smoke testing
  • Regression testing
  • Test integration
  • Acceptance tests

What is Functional Testing?

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.

  • What features are expected from the software?
  • With which data are we going to test the described functions and in what way?
  • What do we expect as an outcome with this data?
  • Run the test
  • Compare the actual outcome with the expected outcome to see if the application meets expectations.

 

Test scenario (data) ⇒ Test case ⇒ Test output ⇒ Result

Soorten functionele tests

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:

  • Unit testing. Deze testen worden meestal uitgevoerd door de softwareontwikkelaars zelf. Zij testen de code die ze maken op zaken als volledigheid en methode. In het kader van functioneel testen gaat het hierbij of de code goed geschreven wordt en dus functioneert.
  • Smoke testing. Dit is een eerste test die moet aangeven of de basisfunctionaliteiten in orde zijn. Door middel van een aantal test cases wordt gekeken of deze versie van de software stabiel is en klaar om verder ontwikkeld en getest te worden.
  • Sanity testing. Wordt meestal na de smoke test gedaan om te kijken of alle grote en belangrijke functies van de code functioneren ("zijn ze wel goed bij hun hoofd...").
  • Regressie testen. Met een regressietest wordt gekeken of alle systeemonderdelen nog goed blijven functioneren nadat er wijzigingen in de software zijn aangebracht.  De focus is vaak op de onderdelen die mogelijk beïnvloed zijn door de aanpassingen aan de software of waar fouten in de software zijn gevonden.
  • Integratie testen. Wanneer verschillende onderdelen van de software moeten samenwerken, moet er getest worden of deze samenwerking goed werkt. Oftewel; zijn ze goed geïntegreerd met elkaar?
  • Acceptatietest. Ook wel beta test of usability test genoemd. Deze manier van testen is er voor bedoeld om te achterhalen of de software uiteindelijk doet wat er van verwacht wordt. In een opdrachtgever situatie gaat het dus om een test die uitwijst of de softwareontwikkeling geaccepteerd wordt op basis van de geformuleerde functionele eisen. Binnen Agile ontwikkeling kan hiervoor gebruik worden gemaakt van de User Stories.

New call-to-action 

Functioneel en niet-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.

Functioneel testen uitbesteden.

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.

 

 

  • Functioneel testen is een voorwaarde voor succes
  • Functioneel testen alleen is niet genoeg
  • Testen is investeren in kwaliteit en efficiency
  • Investeren om kosten te besparen

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."

Bekijk de ontwikkeling van Technosoft

1977 Vandaag
2001
Start verkoop AxisVM
1983
Registratie merk Technosoft
1984
Start ontwikkeling CAD software
2000
Overname activiteiten door Brunel en vestiging in Deventer
2007
Technosoft Duitsland
2009
Technosoft Moldavië
2015
Technosoft Roemenië
1993
Van DOS naar Windows platform
2014
Introductie 3Muri aardbevingssoftware + eerste KOMO certificering
2013
Start Business unit Quality Assurance & testing
2011
Overstap naar Eurocode software
2012
Start van nearshoring onder de naam In-shore
2006
Technosoft door Brunel verkocht door middel van een Management Buy Out
1998
Projectmanagement software
2016
Start relocation naar NL
2017
Samenvoegen van alle activiteiten onder de naam Technosoft
2018
Technosoft actief in 6 landen