Roomba  Alpha
Documentation on our take on the Roomba open interface
Acceptatietesten

Acceptatietesten Roomba library

Acceptatietest 1: Robot van richting laten veranderen

te testen eisen: F-REQ 1 [MH]: De Roomba library broncode moet het mogelijk maken om de richting van de Roomba te kunnen wijzigen in rechtdoor, achteruit of een bepaalde draairichting met meegegeven hoek.
F-REQ 2 [MH]: De Roomba library moet de ingebouwde sensoren van de Roomba kunnen uitlezen.
F-REQ 3 [MH]: De Roomba library broncode moet het mogelijk maken om de control modus van de Roomba aan te passen. De modi die het moet ondersteunen zijn:
- Passive
- Safe
- Full
Te testen units/onderdelen In deze test wordt gekeken of het mogelijk is om een schoonmaakcyclus te starten op de Roomba. Hiervoor is/zijn de volgende unit(s) nodig:
-**Start schoonmaak cyclus**
-**Verander control modus**

Verander control modus is nodig om richting commando's succesvol uit te kunnen voeren.
Testvoorbereiding Om de test uittevoeren is een computer of mcu nodig, een roomba, een kabel om aan te sluiten op de SCI poort van de roomba en de software library zelf met een stukje testcode.
Testinvoer De testcode is hetgeen wat moet bepalen welke kant de Roomba opgaat. Het is van belang dat er geen objecten in de rijweg van de Roomba staan, objecten kunnen de richting van de Roomba laten veranderen.
Testuitvoer Veranderd de Roomba van richting na het starten van de Testcode? (Richting veranderd = ja/nee) -> JA
Kan de richting van de Roomba veranderd worden in achteruit (Achteruit = ja/nee) -> JA
Kan de richting van de Roomba veranderd worden in vooruit (Vooruit = ja/nee) -> JA
Kan de software library de Roomba een bepaald aantal graden laten draaien? (Rotatie = ja/nee) -> JA
Geeft het testprogramma geen foutmelding bij het uitlezen van de ingebouwde sensoren van de Roomba (Foutmelding = ja/nee) -> NEE
Criteria - Richting veranderd = JA
- Vooruit = JA
- Achteruit = JA
- Rotatie = JA
- Foutmelding = NEE
Testprocedure Stap 1: Sluit de Roomba aan op de Computer of MCU met behulp van de SCI kabel.
**Stap 2:** Indien er getest wordt met een mcu: laad het testprogramma in op de MCU.
Indien er getest wordt met een Computer, start het testprogramma op.
Stap 3: Schakel de Roomba in
Stap 4: Start het schoonmaakprogramma op de Roomba door op de Clean knop te drukken.
Stap 5: Start de testprocedure op de MCU of Computer door op enter te klikken in de terminal of debug-console.
Stap 6: Het testprogramma bepaald met behulp van de gelezen sensorwaarden of de library voldoet aan de criteria. Uiteraard blijft het ook mogelijk om het handmatig te testen, door de terminal/debug-console en de roomba in de gaten te houden.
Testgeslaagd?


Acceptatietest 2: Het starten van een schoonmaakronde en zoek dock modus

te testen eisen: F-REQ 4 [SH]: De Roomba library broncode moet het mogelijk maken om een schoonmaak ronde te starten op de Roomba. De schoonmaak modi die het moet ondersteunen zijn:
- Normale schoonmaak
- volledige schoonmaak
- schoonmaak op de huidige plek (spot cleaning) zijn.

F-REQ 5 [SH]: De Roomba library broncode moet het mogelijk maken om de dock modus van de Roomba te activeren.
Te testen units/onderdelen In deze test wordt de schoonmaak cyclus en seek dock functionaliteit van de software library getest. Hiervoor is/zijn de volgende unit(s) nodig:
- start schoonmaak cyclus
- zoek dock

Verander control modus is eventueel nodig om richting commando's succesvol uit te kunnen voeren.
Testvoorbereiding Om de test uittevoeren is een computer of mcu nodig, een roomba, een kabel om aan te sluiten op de SCI poort van de roomba en de software library zelf met een stukje testcode.
Testinvoer N.V.T.
Testuitvoer Start de Roomba met het normale schoonmaak programma? (normale schoonmaak = ja/nee) -> JA
Start de Roomba met het volledige schoonmaak programma? (volledige schoonmaak = ja/nee) -> JA
Start de robot met het Spot schoonmaak programma(Spot schoonmaak = ja/nee) -> JA
Kan de dock modus van de Roomba geactiveerd worden? (Dock = ja/nee) -> JA
Geeft het testprogramma tijdens het testen een foutmelding (Foutmelding = JA/NEE) -> NEE
Criteria - Normale schoonmaak = JA
- Volledige schoonmaak = JA
- Spot schoonmaak = JA
- Dock = JA
- Foutmelding = NEE
Testprocedure Stap 1: Sluit de Roomba aan op de Computer of MCU met behulp van de SCI kabel.
**Stap 2:** Indien er getest wordt met een mcu: laad het testprogramma in op de MCU.
Indien er getest wordt met een Computer, start het testprogramma op.
Stap 3: Schakel de Roomba in
Stap 4: Start de testprocedure op de MCU of Computer door op enter te klikken in de terminal of debug-console.
Stap 5: De robot zal nu met een normale schoonmaak ronde beginnen. Controleer a.d.h.v. de ledjes op de Roomba of dit klopt
Stap 6: Na 1 seconde zal het testprogramma de schoonmaak cyclus afbreken. Controleer of dit klopt.
Stap 7: Druk op enter in de terminal of debug-console
Stap 8: Herhaal de Stappen 5, 6, 7 voor de volledige schoonmaak, spot schoonmaak en dock modus.
Testgeslaagd?

Acceptatietest 3: Aan/uit zetten

te testen eisen: F-REQ 6 [SH]: De Roomba library broncode moet het mogelijk maken om de Roomba aan en uit te zetten.
Te testen units/onderdelen In deze test wordt de aan/uit functionaliteit van de software library getest. Hiervoor is/zijn de volgende unit(s) nodig:
-**Zet Roomba aan/uit**

Verander control modus is eventueel nodig om richting commando's succesvol uit te kunnen voeren.
Testvoorbereiding Om de test uit te voeren is een computer of mcu nodig, een roomba, een kabel om aan te sluiten op de SCI poort van de roomba en de software library zelf met een stukje testcode.
Testinvoer Zorg dat de Roomba uitstaat voor het starten van de test.
Testuitvoer Gaat de Roomba aan (aan = JA/NEE) -> JA
Gaat de Roomba uit (uit = JA/NEE) -> JA
Criteria - aan = JA
- uit = JA
Testprocedure Stap 1: Sluit de Roomba aan op de Computer of MCU met behulp van de SCI kabel.
**Stap 2:** Indien er getest wordt met een mcu: laad het testprogramma in op de MCU.
Indien er getest wordt met een Computer, start het testprogramma op.
Stap 3: Start de testprocedure op de MCU of Computer door op enter te klikken in de terminal of debug-console.
Stap 4: De Roomba zal nu aangaan.
Controleer a.d.h.v. de leds op de Roomba of de Roomba inschakelt.
Stap 5: Na een seconde schakelt het testprogramma de Roomba uit.
Controleer weer a.d.h.v. de leds op de Roomba of de Roomba uitschakelt.
Testgeslaagd?

Acceptatietest 4: Motoren manipuleren.

te testen eisen: F-REQ 7 [SH]: De Roomba library broncode moet het mogelijk maken om de motoren van de Roomba te manupileren. De motoren die het moet kunnen manupileren zijn:
- Borstel
- Zuiger
- Zijborstel
Te testen units/onderdelen In deze test wordt de motoren manipulatie functionaliteit van de software library getest. Hiervoor is/zijn de volgende unit(s) nodig:
-**Motoren manipuleren**

Verander control modus is eventueel nodig om richting commando's succesvol uit te kunnen voeren.
Testvoorbereiding Om de test uit te voeren is een computer of mcu nodig, een roomba, een kabel om aan te sluiten op de SCI poort van de roomba en de software library zelf met een stukje testcode.
Testinvoer N.V.T.
Testuitvoer Gaat de borstel motor aan? (borstel aan = JA/NEE) -> JA
Gaat de borstel motor uit? (borstel uit = JA/NEE) -> JA
Gaat de zuiger motor aan? (zuiger aan = JA/NEE) -> JA
Gaat de zuiger motor uit? (zuiger uit = JA/NEE) -> JA
Gaat de zijborstel motor aan? (zijborstel aan = JA/NEE) -> JA
Gaat de zijborstel motor uit? (zijborstel uit = JA/NEE) -> JA
Zijn de motoren regelbaar in snelheid? (regelbaar = JA/NEE) -> JA
Criteria - borstel aan = JA
- borstel uit = JA
- zuiger aan = JA
- zuiger uit = JA
- zijborstel aan = JA
- zijborstel uit = JA
- regelbaar = JA
Testprocedure Stap 1: Sluit de Roomba aan op de Computer of MCU met behulp van de SCI kabel.
**Stap 2:** Indien er getest wordt met een mcu: laad het testprogramma in op de MCU.
Indien er getest wordt met een Computer, start het testprogramma op.
Stap 3: Zet de Roomba aan.
**Stap 4:** Start de testprocedure op de MCU of Computer door op enter te klikken in de terminal of debug-console.
Stap 5: Het testprogramma bepaald met behulp van de gelezen sensorwaarden of de library voldoet aan de criteria. Uiteraard blijft het ook mogelijk om het handmatig te testen, door de terminal/debug-console en de roomba in de gaten te houden.
Testgeslaagd?

Acceptatietest 5: Leds manipuleren

te testen eisen: F-REQ 8 [SH]: De Roomba library broncode moet het mogelijk maken om de leds van de Roomba te manupileren. De leds die het moet kunnen manipuleren zijn:
- DD
- MAX
- CLEAN
- SPOT
- STATUS
Te testen units/onderdelen In deze test wordt de aan/uit functionaliteit van de software library getest. Hiervoor is/zijn de volgende unit(s) nodig:
-**Zet Roomba aan/uit**

Verander control modus is eventueel nodig om richting commando's succesvol uit te kunnen voeren.
Testvoorbereiding Om de test uit te voeren is een computer of mcu nodig, een roomba, een kabel om aan te sluiten op de SCI poort van de roomba en de software library zelf met een stukje testcode.
Testinvoer Zorg dat de Roomba uitstaat voor het starten van de test.
Testuitvoer Gaat de DD Led aan (DD aan = JA/NEE) -> JA
Gaat de DD Led uit (DD uit = JA/NEE) -> JA
Gaat de MAX Led aan (MAX aan = JA/NEE) -> JA
Gaat de MAX Led uit (MAX uit = JA/NEE) -> JA
Gaat de CLEAN Led aan (CLEAN aan = JA/NEE) -> JA
Gaat de CLEAN Led uit (CLEAN uit = JA/NEE) -> JA
Gaat de SPOT Led aan (SPOT aan = JA/NEE) -> JA
Gaat de SPOT Led uit (SPOT uit = JA/NEE) -> JA
Gaat de STATUS Led aan (STATUS aan = JA/NEE) -> JA
Gaat de STATUS Led uit (STATUS uit = JA/NEE) -> JA
Criteria - DD aan = JA
- DD uit = JA
- MAX aan = JA
- MAX uit = JA
- CLEAN aan = JA
- CLEAN uit = JA
- SPOT aan = JA
- SPOT uit = JA
- STATUS aan = JA
- STATUS uit = JA
Testprocedure Stap 1: Sluit de Roomba aan op de Computer of MCU met behulp van de SCI kabel.
**Stap 2:** Indien er getest wordt met een mcu: laad het testprogramma in op de MCU.
Indien er getest wordt met een Computer, start het testprogramma op.
Stap 3: Start de testprocedure op de MCU of Computer door op enter te klikken in de terminal of debug-console.
Stap 4: Het testprogramma zal nu alle leds uitzetten
Controleer of alle leds zijn uitgeschakelt.
Stap 5: Het testprogramma zal nu elke led een voor een inschakelen en uitschakelen. Het testprogramma geeft daarbij aan wat de benaming van de led is en eventuele stappen die uitgevoerd moeten worden.
Testgeslaagd?

Acceptatietest 6: Baudrate aanpassen

te testen eisen: F-REQ 9 [SH]: De Roomba library broncode moet het mogelijk maken om de Baudrate van de SCI poort te wijzigen. De baudrates die het moet ondersteunen zijn:
- 300 bps
- 600 bps
- 1200 bps
- 2400 bps
- 4800 bps
- 9600 bps
- 14400 bps
- 19200 bps
- 28800 bps
- 38400 bps
- 57600 bps
- 115200 bps
Te testen units/onderdelen In deze test wordt de verander baudrate functionaliteit van de software library getest. Hiervoor is/zijn de volgende unit(s) nodig:
-**Verander baudrate**

Verander control modus is eventueel nodig om richting commando's succesvol uit te kunnen voeren.
Testvoorbereiding Om de test uit te voeren is een computer of mcu nodig, een roomba, een kabel om aan te sluiten op de SCI poort van de roomba en de software library zelf met een stukje testcode.
Testinvoer Controleer alvorens de test dat de computer of MCU alle bovenstaande baudrates ondersteund
Testuitvoer Ondersteund 300 bps? (300 bps = JA/NEE) -> JA
Ondersteund 600 bps? (600 bps = JA/NEE) -> JA
Ondersteund 1200 bps? (1200 bps = JA/NEE) -> JA
Ondersteund 2400 bps? (2400 bps = JA/NEE) -> JA
Ondersteund 4800 bps? (4800 bps = JA/NEE) -> JA
Ondersteund 9600 bps? (9600 bps = JA/NEE) -> JA
Ondersteund 14400 bps? (14400 bps = JA/NEE) -> JA
Ondersteund 19200 bps? (19200 bps = JA/NEE) -> JA
Ondersteund 28800 bps? (28800 bps = JA/NEE) -> JA
Ondersteund 38400 bps? (38400 bps = JA/NEE) -> JA
Ondersteund 57600 bps? (57600 bps = JA/NEE) -> JA
Ondersteund 115200 bps? (115200 bps = JA/NEE) -> JA
Criteria - 300 bps = JA
- 600 bps = JA
- 1200 bps = JA
- 2400 bps = JA
- 4800 bps = JA
- 9600 bps = JA
- 14400 bps = JA
- 19200 bps = JA
- 28800 bps = JA
- 38400 bps = JA
- 57600 bps = JA
- 115200 bps = JA
Testprocedure Stap 1: Sluit de Roomba aan op de Computer of MCU met behulp van de SCI kabel.
**Stap 2:** Indien er getest wordt met een mcu: laad het testprogramma in op de MCU.
Indien er getest wordt met een Computer, start het testprogramma op.
Stap 3: Start de testprocedure op de MCU of Computer door op enter te klikken in de terminal of debug-console.
Stap 4: Het testprogramma zal nu alle leds uitzetten
Controleer of alle leds zijn uitgeschakelt.
Stap 5: Het testprogramma zal nu elke baudrate uittesten. Het testprogramma geeft vervolgens aan wat de testresultaten zijn.
Testgeslaagd?

Acceptatietest 7: Noten afspelen

te testen eisen: F-REQ 10 [SH]: De Roomba library broncode moet het mogelijk maken om noten af te spelen op de Roomba.
Te testen units/onderdelen In deze test wordt de noot afspeel functionaliteit van de software library getest. Hiervoor is/zijn de volgende unit(s) nodig:
-**Noten afspelen**

Verander control modus is eventueel nodig om richting commando's succesvol uit te kunnen voeren.
Testvoorbereiding Om de test uit te voeren is een computer of mcu nodig, een roomba, een kabel om aan te sluiten op de SCI poort van de roomba en de software library zelf met een stukje testcode.
Testinvoer N.V.T.
Testuitvoer Speelt de Roomba noten af (Noten = JA/NEE) -> JA
Kan het opgeslagen worden en opgeroepen worden uit geheugen (geheugen = JA/NEE) -> JA
Criteria - Noten = JA
- geheugen = JA
Testprocedure Stap 1: Sluit de Roomba aan op de Computer of MCU met behulp van de SCI kabel.
**Stap 2:** Indien er getest wordt met een mcu: laad het testprogramma in op de MCU.
Indien er getest wordt met een Computer, start het testprogramma op.
**Stap 3:** Zet de Roomba aan
Stap 4: Start de testprocedure op de MCU of Computer door op enter te klikken in de terminal of debug-console.
Stap 5: Het testprogramma slaat de noten op volgorde op in het geheugen en roept ze vervolgens op. Het testprogramma vraagt na zestien noten of alle noten te horen waren.
Typ hier Ja of nee om de volgende 16 noten te kunnen beluisteren.
Testgeslaagd?

Acceptatietest 8: Controleer code conventies

te testen eisen: NF-REQ 1 [MH]: De Roomba library moet zo platform onafhankelijk mogelijk geschreven worden.

**NF-REQ 2 [MH]:** De Roomba library moet in de programmeertaal C++ geschreven worden.
Te testen units/onderdelen In deze test wordt gecontroleerd of de broncode van de geschreven software library voldoet aan de code conventies opgesteld in NF-REQ1 en NF-REQ2.
Testvoorbereiding Om de test uit te voeren is een computer nodig en de software library zelf.
Testinvoer N.V.T.
Testuitvoer Bevat de library alleen maar cpp source files (cpp source file = JA/NEE) -> JA
Bevat de library cpp functies (cpp functies = JA/NEE) -> JA
Bevat de library platform afhankelijke functies (platform afhankelijk = JA/NEE) -> NEE
Criteria - cpp source file = JA
- cpp functies = JA
- platform afhankelijk = NEE
Testprocedure Controleer de software library op aanwezigheid van cpp functionaliteit, cpp headers en platform afhankelijke functies.
Testgeslaagd?