---
title: "Oplossing voor de uitdaging \"Software testen met behulp van toestandsautomaten\""
date: "2011-05-03"
categories: 
  - "software"
tags: 
  - "java"
  - "software-modeling"
  - "software-tools"
  - "uml"
  - "uml-tool"
  - "umodel"
  - "v2011r2"
description: Dit artikel bespreekt een oplossing voor een ontwerpuitdaging bij het gebruik van toestandsautomaten in Altova UModel, met name gericht op het gedrag van het systeem in de stand-by modus.
---
Status: #blog

Tags:  #java #software-modeling #software-tools #uml #uml-tool #umodel #v2011r2

Categories: [uml](/blog/nl/category/uml.md)
# Oplossing voor de uitdaging "Software testen met behulp van toestandsautomaten"

Vorige maand, in onze blogpost over [Softwaretesten voor toestandsautomaten](https://www.altova.com/blog/2011/04/software-testing-for-state-machines.html) met [Altova UModel](https://www.altova.com/nl/umodel.html), ontdekten we onverwacht gedrag in ons model van een airconditioningsysteem en daagden we lezers uit om het ontwerp te verbeteren. Dit artikel beschrijft een mogelijke oplossing. Toen we de Tester-applicatie voor ons model uitvoerden, zagen we dat de aan/uit-schakelaar het systeem niet uitschakelde wanneer het zich in de stand-by modus bevond. In het [toestandsdiagram](https://www.altova.com/nl/umodel/state-diagrams.html) van ons oorspronkelijke model is de enige manier om van de werkingsmodus naar de stand-by modus te gaan via de stand-by knop, en de enige manier om de stand-by modus te verlaten is door nogmaals op de stand-by knop te drukken, zoals te zien is in de details hieronder. 

[![Detail van een diagram van een toestandsmachine in Altova UModel](https://lh5.ggpht.com/_REdrfeVqYdU/TbBqA8gVCnI/AAAAAAAAAYE/3PfcEd2PcKo/clip_image002%5B6%5D.jpg?imgmax=800 "Detail of a state machine diagram in Altova UModel")](https://www.altova.com/umodel/state-diagrams.html) 

We kunnen een alternatieve uitgang creëren om het systeem uit te schakelen vanuit de stand-by modus, door simpelweg een nieuwe overgangslijn van stand-by naar de uitgeschakelde toestand te tekenen, en de functie `powerButton()` aan te wijzen als het evenement dat de overgang activeert. UModel maakt het toewijzen van dit trigger-evenement eenvoudig door een pop-upvenster te bieden waarin een lijst van reeds gedefinieerde evenementen in het model wordt weergegeven. 

[![Een pop-up lijst met triggers voor overgangen in een diagram van een toestandsmachine in Altova UModel](https://lh3.ggpht.com/_REdrfeVqYdU/TbBqBGFuyKI/AAAAAAAAAYI/63ZNLF_dU3A/clip_image004%5B6%5D.jpg?imgmax=800 "Pop-up list of triggers for transitions in a state machine diagram in Altova UModel")](https://www.altova.com/umodel/state-diagrams.html)

De herziene versie van het model, met de nieuwe overgang van "standby" naar "uit," ziet er als volgt uit:

[![Diagram van een toestandsmachine in Altova UModel](https://lh6.ggpht.com/_REdrfeVqYdU/TbBqBUKsVYI/AAAAAAAAAYM/jSeTZcHJL4g/Snap10_new%20transition_thumb%5B6%5D.png?imgmax=800 "State machine diagram in Altova UModel")](https://www.altova.com/umodel.html) 

Nadat de Java-code opnieuw is gegenereerd en de nieuwe versie is gecompileerd, kunnen we de Tester-applicatie opnieuw uitvoeren. Het debugvenster toont aan dat het systeem in de stand-by modus is gegaan bij gebeurtenis 3. Gebeurtenis 4, het activeren van de aan/uit-knop, zet de status nu op "uit". 

[![Applicatie voor het testen van toestandsmachines, gegenereerd door Altova UModel](https://lh3.ggpht.com/_REdrfeVqYdU/TbBqCLuSc2I/AAAAAAAAAYU/13GMhNPkg7s/clip_image008_thumb%5B2%5D.jpg?imgmax=800 "State machine test application generated by Altova UModel")](http://lh6.ggpht.com/_REdrfeVqYdU/TbBqBgADPsI/AAAAAAAAAYQ/0AsFb3WdtAU/s1600-h/clip_image008%5B5%5D.jpg) 

**Ontdek zelf hoe u de logica van uw eigen diagrammen voor toestandsautomaten kunt verbeteren met Altova UModel –** [**download vandaag nog een gratis proefversie van 30 dagen**](https://www.altova.com/nl/download/umodel/uml_tool_enterprise.html) **!**
