0

Heb je alles getest?

Als software tester krijg je regelmatig de vraag of je alles getest heb. Wat met deze vraag eigenlijk bedoeld wordt is, geef jij als tester op basis van de door jou uitgevoerde testen het advies om deze change of bug fix op te leveren. Deze twee vragen verschillen wezenlijk van elkaar, het is namelijk onmogelijk om alles te testen. Een tester is eigenlijk nooit klaar met testen.

Om een beeld te krijgen van de hoeveelheid testscenario’s die te bedenken zijn heb ik in deze blog in verschillende categorieën eventueel uit te voeren testscenario’s beschreven. Op basis van een risico / impact inschatting zal een tester er voor kiezen om bepaalde testscenario’s wel of niet uit te voeren.

Soms is het lastig om als tester te beslissen welke testen uit te voeren. En kan het ook goed zijn dat je als tester bepaalde testscenario’s vergeet (omdat dit bijvoorbeeld ongeschreven requirments zijn). Ik hoop dat deze blog testers ideeën kan geven wat er aan bepaalde ‘standaard’ elementen getest kan worden zonder dat dit vaak vastgelegde requirements zijn.

Het is niet zo dat al deze beschreven testen van toepassing zijn op alle soorten applicaties. je zult zien dat bijvoorbeeld lang niet alle beschreven testen van toepassing zijn op een webbased applicatie.

Inhoudsopgave test onderwerpen:

Tekst invoer velden

Popup / dialogbox

Popup / dialogbox interactie

Pop-up / dialogbox look and feel

Waarschuwingen en foutmeldingen

Input methode

Datums

Ongedaan maken / on-ongedaan maken (Undo / Redo)

Printing

Speciale modes en staten

Internationaal ‘Ready’

Platform

Hardware

Instellingen/samenwerking ander programma’s

Setup/upgade

Documentatie/Voorbereiding

Menu’s

Accessibility

Netwerk verbinding

Bestandsmutaties

Filenamen

 

Tekst invoer velden

  • Null (als je een Api test)
  • aantal karakters
    • 0 karakters
    • 1 karakters
    • 2 karakters
    • een aantal karakters
    • veel karakters
    • 1 minder dan het maximaal aantal karakters
    • het maximaal aantal karakters
    • 1 meer dan het maximaal aantal karakters
  • soorten karakters
    • Spaties tussen de karakters
    • Symbolen
    • Interpunctie in de invoer
    • ASCII karakters
    • Diakrieten
    • Verschillende talen: Duits, Hebreeuws, Japans, Arabisch, etc.
    • Verschillende Unicode karakters (bijv. UTF-8 of UTF-32)

Popup / dialogbox

  • Controleer dat op alle verschillende manieren waarop de pop-up geopend kan worden de pop-up ook echt geopend wordt
  • Controleer dat de titel van de pop-up juist is
  • Controleer dat de tekst die gebruikt wordt in de pop-up consistent is met de rest van de applicatie
  • Controleer dat het opslaan van de pop-up de status van de pop-up juist wijzigd
  • Controleer dat het annuleren van de pop-up de status van de pop-up niet wijzigd (Alle verschillende manieren)
  • Controleer dat de pop-up sticky is, dat dat hij opent op dezelfde plek als waar hij gesloten is.
    • Als hij niet sticky is moet hij altijd op dezelfde locatie openen

 

  • Controleer dat de pop-up opent in de actuele staat van de applicatie. of dat hij altijd opent in een default staat (Afhankelijk van wat de verwachting is)
  • Controleer dat F1 de help functie aanroept voor de bijbehorende pop-up

Popup / dialogbox interactie

  • Controleer dat de juiste systeem controls beschikbaar zijn voor de pop-up. bij sommige pop-ups is het bijv. mogelijk om hem te maximaliseren.
  • Controleer dat de standaard focus op het juiste veld / knop staat
  • Controleer dat de pop-up kan worden gesloten door
    • ‘Esc’ te drukken
    • Door het ‘standaard’ kruisje rechts of links boven in te drukken
    • Door de knop bijv.’Annuleren’ in te drukken
  • Controleer dat alle invoer/acties een tooltip hebben die juist is
  • Controleer dat de pop-up kan worden gesloten en de wijzigingen te accepteren door
    • ‘Enter’ te drukken ongeacht waar de focus op licht. uitzondering: invoer velden die over meerdere regels kunnen vallen
    • Door de knop bijv.’OK’ in te drukken
    • Controleer dat via ‘Tab’ op de juiste manier door de pop-up heen gegaan wordt
  • Controleer dat alle invoer/acties een shortcut letter hebben. (Bijv. C voor Columns. Dit geld voor zowel knoppen als labels)
  • Controleer dat alle shortcuts uniek zijn en dat ze goed werken
  • Controleer dat de juiste ‘standaard’ gegevens worden getoond en dat de juiste dingen worden getoond indien er op ‘meer details’ wordt geklikt. (en dat zowel meer als minder detail knoppen juist werken)
    • Lang niet altijd van toepassing
  • Controleer dat alle invoer die een onbepaalde staat kan hebben, ook als zodoende wordt weergegeven.
    • Een voorbeeld hiervan is bijv. de knop om een tekst bold te maken, wanneer
    • Je een stuk tekst selecteerd waar een deel bold is en een deel niet bold is.
  • Controleer dat alle invoer die een onbepaalde staat kan hebben, de juiste staat krijgt als je hem in klikt
    • Indien de bold knop niet aangeklikt is indien je een stuk tekst selecteert die zowel bold als niet bold tekst bevat dan zou je bij het inklikken van de knop verwachten dat alles bold zou worden.
  • Controleer dat alle invoervelden goed om kunnen gaan met zowel valide als niet valide invoer (neem ook grensgevallen mee)
  • Controleer dat de pop-up zowel functioneel als grafisch goed werkt
    • Met verschillende kleur instellingen (denk bijv. aan windows thema’s)
    • Met verschillende tekst grote
    • Met hoog contrast modus
    • Met hoog DPI modus
  • Controleer dat Afbeeldingen en andere media juist wordt weergegeven in de pop-up

Pop-up / dialogbox look and feel

  • Controleer dat de alle elementen in de dropdown voldoen aan de style guide (Let onderandere op ruimte tussen items en het inspringen van items)
  • Controleer dat de pop-up grote in proporties is ten opzichte van de elementen aanwezig in de pop-up
  • Wanneer er in een pop-up voorbeelden worden gebruikt (bijv. een afbeelding van de applicatie) zorg dan dat deze altijd up to date zijn.

Waarschuwingen en foutmeldingen

  • Controleer dat je alle condities begrijpt die een melding zouden moeten geven. en test of deze melding ook gegeven wordt (tenzij bewust gekozen wordt dit niet allemaal te testen)
  • Zoek uit of een waarschuwing ook echt nodig is, bijvoorbeeld als een gebruiker heel gemakkelijk een actie kan terug draaien kun je je afvragen of een waarschuwing wel nodig is.
  • Controleer dat een waarschuwing of foutmelding eerst het probleem aangeeft en daarna een oplossing
  • Controleer dat een waarschuwing of foutmelding beleeft en helpend is. een voorbeeld van een slechte melding is bijv. : ‘You did not close me correctly’ veel beter is ‘This application was not closed correctly’
  • Controleer dat de tekst van de melding klopt en geschikt is voor de situatie
  • Controleer dat de tekst keuze consistent is zowel met zichzelf als andere meldingen
  • Controleer dat de tekst niet te lang is als de tekst langer is dan 3 regels is hij waarschijnlijk te lang
  • Controleer dat de tekst volledige zinnen bevat met juist hoofdletter gebruikt en punctuatie
  • Controleer dat in de tekst geen afkortingen staan
  • Controleer dat in de tekst de productnaam gebruikt wordt en niet woorden als wij en ik.
  • Controleer dat in de titel van de melding de naam van het product staat
  • Controleer dat alle knoppen van de melding doen wat ze zouden moeten doen. bijvoorbeeld een ‘Cancel’ en ‘Ok’ knop
  • Controleer dat eventuele grafische beelden geschikt zijn

Input methode

  • Keybord
    • ‘Gewone’ input
    • Shortcut keys als de applicatie deze bied
    • Knippen en plakken (Ctrl + C | Ctrl + V)
  • Muis
  • Digitale pen
  • Spraak input
  • Buitenlandse input
    • Vb. bij de Japanse taal voer je een knoppen combinatie in om een teken weer te geven
  • Puff buisje
    • Voor verlamde mensen
  • Motion controls
  • Meerdere muisen en toetsenborden

Datums

  • Verkorte schrijfmethode
    • Controleer dat het jaartal aangegeven kan worden met 2 cijfers vanaf 1 jan 00 t/m 31 dec 29 worden geinterpreteerd als 1 jan 2000 t/m 31 dec 2029
    • Controleer dat het jaartal aangegeven kan worden met 2 cijfers vanaf 1 jan 30 t/m 31 dec 99 worden geinterpreteerd als 1 jan 1930 t/m 31 dec 1999
  • Controleer dat in ieder geval datum’s t/m 2035 gebruikt kunnen worden
  • Controleer dat juist wordt omgegaan met schrikkeljaar/2000
    • 29 feb 1900 zou moeten falen.
    • 29 feb 1996 zou moeten werken.
    • 29 feb 2000 zou moeten werken.
    • 31 dec 2000 zou moeten werken. en zou moeten worden gezien als dag 366
    • 29 feb 2001 zou moeten falen.
    • 31 dec 1999 zou moeten werken.
    • 1 jan 2000 zou moeten werken.
    • Controleer dat 10 jan 2000 werkt (eerste 7 cijferige datum)
    • Controleer dat 10 okt 2000 werkt (eerste 7 cijferige datum)
  • Controleer dat maand 13 niet werkt dus bijv. 13-13-2013
  • Indien het datum veld rekening moet houden met werkdagen controleer dat hij dan ook rekening houd met feestdagen

 

Ongedaan maken / on-ongedaan maken (Undo / Redo)

  • Zoek uit of elke actie ongedaan moet kunnen worden gemaakt
  • Zoek uit of elke actie on-ongedaan moet kunnen worden gemaakt
  • Controleer 1 level ongedaan maken
  • Controleer meerdere levels ongedaan maken
  • Controleer 1 level on-ongedaan maken
  • Controleer meerdere levels on-ongedaan maken
  • on-ongedaan maak (Redo) meer keer dan ongedaan maken (Undo).
  • Test ‘on-ongedaan maken (Redo)’ en ‘ongedaan maken (Undo)’ door elkaar heen.
  • Test ‘on-ongedaan maken (Redo)’ en ‘ongedaan maken (Undo)’ over verschillende documenten heen.
  • Test ‘on-ongedaan maken (Redo)’ en ‘ongedaan maken (Undo)’ over een document wat je sluit en daarna weer opent.

Printing

  • Test of printen werkt op verschillende soorten printers (Lokale , netwerk en print to file (bijv. PDF))
  • Test of printen werkt in verschillende orientaties
  • Test of printen werkt met verschillende printer opties (denk aan: meerder pagina’s op 1 A4, pagina nummering, etc.)

Speciale modes en staten

  • Verschillende zoom levels (bijv. in je browser)
  • Beveiligde modus (van bijv. windows)
  • Geen bestand open, corrupt bestand open, corrupt maar automatisch opgeslagen bestand en opgeslagen bestand open.
  • Volledig scherm (F11 in browser), en andere weergavemodus
  • Verschillende Venster grootte van de applicatie (standaard venster grote bij openen, gemaximaliseerd, geminimaliseerd, etc.)
  • Ga in standby, sleep modus of power-saving terwijl je applicatie een handeling uitvoerd
  • Wijzig systeem settings . zet bijvoorbeeld je muis beweging een stuk sneller. controleer dat je applicatie deze instellingen ook juist overneemt
  • Meerdere selecties tegelijk. controlleer wat er gebeurd wanneer je tekst opmaak aanpast, of wanneer je iets plakt terwijl je meerdere selecties tegelijk hebt.

Internationaal ‘Ready’

  • Controleer dat je Applicatie juist omgaat met verschillende talen, zowel wanneer je switched terwijl de applicatie aanstaat als wanneer je hem na het switchen aan zet.
  • Controleer dat je Applicatie juist omgaat met verschillende regionale instellingen. Denk hierbij bijvoorbeeld aan: datums/tijd, symbool van munteenheid, etc. Zowel wanneer je switched terwijl de applicatie aanstaat als wanneer je hem na het switchen aan zet.
  • Controleer of je applicatie om kan gaan met verschillende toetsenbord mapping
  • Controleer of je applicatie om kan gaan met ANSI, Multi-byte en Unicode.
  • Controleer of je applicatie gegevens toont zoals hij zijn PC heeft ingesteld.

Platform

  • Controleer indien van toepassing dat de applicatie juist werkt in iOS
  • Controleer indien van toepassing dat de applicatie juist werkt in Android
  • Controleer indien van toepassing dat de applicatie juist werkt op de verschillende windows versies (windows 7, windows 10 etc.) maar ook (32 of 64 bits)
  • Controleer indien van toepassing dat de applicatie juist werkt op OS X (Apple)
  • Controleer indien van toepassing dat de applicatie juist werkt op Linux
  • Controleer indien van toepassing dat de applicatie juist werkt op verschillende browsers (Chrome, IE, Edge, Firefox, Opera)
  • Controleer dat de applicatie juist werkt op een machine met en zonder anti-virusscanner
  • Controleer dat de applicatie juist werkt op een machine met en zonder firewall

Hardware

  • Test je applicatie op verschillende hardware denk hierbij aan: single / multi-core processor, laptop vs desktop, low-end vs high-end, minimun vs super-high scherm resolutie, etc.

Instellingen/samenwerking ander programma’s

  • Controleer dat instellingen die een wijziging in de werking van de applicatie tot gevolg hebben dit ook echt hebben
  • Controleer dat je bepaalde instellingen alleen mag doen als administrator (Controleer rechten)
  • Controleer dat gebruikers specifieke instellingen mee worden genomen met de gebruiker (Bij inloggen indien van toepassing)
  • Controleer dat gebruikers specifieke instellingen niet op de machine worden opgeslagen.
  • Denk na over backward compatibiliteit wanneer een instelling verplaatst wordt of veranderd wordt
  • Controleer of drag en drop functionaliteit werkt binnen de applicatie, en ook tussen de applicatie en een andere applicatie
  • Controleer of de clipboard functionaliteit (Knippen, kopieren en plakken) werkt binnen de applicatie, en ook tussen de applicatie en een andere applicatie
  • Controleer dat de venster volgorde goed is (bijv. de help functie moet altijd over alle andere vensters vallen)
  • Controleer dat de venster grote op verschillende momenten (bijv. van minimaliseren naar weer openen, bij de eerste keer openen, etc.)
  • Controleer dat de applicatie op de juiste manier omgaat met meerdere keren openen.

Setup/upgade

  • Op verschillende manieren instaleren. bijv. DVD, via het netwerk, op het netwerk, lokale schijf, usb etc.
  • Via het netwerk op meerdere pc tegelijk de applicatie zetten (massa instalaties)
  • Upgraden van eerder versies (dit kan vrij complex worden bij veel versies)
  • De-instaleren van de applicatie
  • Herinstaleren van de applicatie op een omgeving waar je eerder een de-instalatie hebt gedaan.
  • Instaleren of alle operating systems die ondersteund worden.
  • Instaleren via de verschillende instalatie manieren (Minimum, typical, full of custom instalaties)
  • Controleer dat de benodigde controles worden gedaan voordat de instalatie begint (Denk bijv. aan voldoende schijfruimte)
  • Instaleer de applicatie er diep in een folder bijv. een\erg\erg\erg\erg\erg\erg\erg\erg\erg\erg\diep\pad\
  • Controleer dat fout afhandeling goed wordt afgevangen (bijvoorbeeld een duidelijk melding bij onvoldoende schijfruimte)

Documentatie/Voorbereiding

  • Controleer dat elke foutmelding die een gebruiker kan zien juist is en makkelijk te begrijpen is.
  • Controleer dat de hulpfunctie juist is. zowel tekstueel als andere media
  • Controleer of de documentatie die opgeleverd wordt bij de applicatie de juiste beschrijving van de applicatie is.
  • Bespreek alle veranderingen in het product met de bedenker van de verandering
  • Vraag de ontwikkelaar van de verandering welke gebieden hij denkt dat je extra aandacht moet schenken
  • Vraag iemand betrokken bij de verandering om je testscenario’s te reviewen
  • Controleer of het onvolledigheden of onjuistheden in de beschrijving van de verandering staan.

Menu’s

  • Controleer dat menu commands juist werken (Alt is het menu selecteren), in een offline applicatie
  • Controleer dat toetsenbord combinatie (shortcuts) juist werken. bijv. ‘Ctrl’ + ‘Shift’ + B (om te bouwen in VS)
    • Voor vaste shortcuts (bepaald door software ontwikkelaar)
    • Voor custom shortcuts (bepaald door de gebruiker)
  • Controleer eventuele handmatige aanpassingen in het menu bewaard blijven (bijv. bij het sluiten en opnieuw openen van het programma)
  • Controleer dat de namen van de menu items consistent zijn. en een logische naam hebben.

Accessibility

  • Controleer of het programma er ook nog goed uit ziet in hoog contrast modus, of bijv. dark theme voor bijv. websites
  • Controleer of het programma overweg kan met hele grote lettertypes
  • Controleer of het programma juist werkt met Sound Sentry (via geluid en visueel aangeven dat er iets gebeurd)
  • Controleer of het programma juist werkt met Sticky keys (5 keer shift) Sticky key zorgt ervoor dat je nog maar 1 knop tegelijk kan gebruiken.
  • Controleer of het programma juist werkt met Mouse keys (met numpad muis besturen).
  • Controleer of het programma zonder muis gewoon te gebruiken is.
  • Controleer of het programma te gebruiken is met een textreader en dus zonder de monitor aan te hebben.
  • Controleer of het programma de focus moet loslaat en pakt (Na pagina aanpassing focus clearen)
  • Controleer of je met het programma juist doormiddel van ‘TAB’ door het programma kan gaan
  • Controleer of het programma dezelfde ‘cursor blink rate’ (cursor die knippert in bijv. word) gebruikt voor zijn eigen knipperende functionaliteiten.
  • Controleer of tekst ook echt tekst is en dat het bijv. geen afbeeldingen of video is.

 

Netwerk verbinding

  • Verschillende verbindingen
    • Netwerk welke alleen IPv4 ondersteund
    • Netwerk welke alleen IPv6 ondersteund
    • Netwerk welke zowel IPv4 als IPv6 ondersteund
    • Draadloosnetwerk via 802.11a netwerk
    • Draadloosnetwerk via 802.11b netwerk
    • Draadloosnetwerk via 802.11g netwerk
    • Draadloosnetwerk via 802.11n netwerk
    • Via GPRS netwerk
    • Via een pc die verbinding heeft op verschillende netwerken
    • Via een 28.8 modem
    • Via een 56k modem
    • Via een netwerk die buiten het bedrijfsnetwerk ligt
    • Via netwerk die langs een software firewall gaat
    • Via netwerk die langs een hardware firewall gaat
    • Via netwerk waarvan de verbinding weg valt
    • Via netwerk die aan een domein hangt
    • Maak een print preview naar een netwerk printer die niet beschikbaar is (bijv niet meer aan het netwerk hangt)

Bestandsmutaties

  • Open alle ondersteunde bestandformaten en doe een ‘save as’ mutatie
  • Open alle ondersteunde bestandformaten en doe een ‘save’ mutatie
  • Open alle ondersteunde bestandformaten voor de verschillende ondersteunde versies van het product
  • Open een bestand die gemaakt is in de huidige versie (met de nieuwe features gebruikt) en open deze in een oudere (ondersteunde) versie.
  • Open, save en save as over verschillende file systems (FAT, NTFS)en protocollen (lokaal, netwerk share, http://)
  • Open, save en save as op de volgende manieren
    • Menu item
    • Toolbar item
    • Hot key (e.g., Control+S for Save)
    • Most Recently Used list
    • Microsoft SharePoint document library
    • Context menu(s)
    • The application’s Most Recently Used list
    • The operating system’s Most Recently Used list
    • Drag-and-drop from the file system explorer
    • Drag-and-drop from your desktop
    • Drag-and-drop from another application
    • Command line
    • Double-click a shortcut on your desktop
    • Double-click a shortcut in an email or other document o Embedded object
  • Open, save en save as op de volgende locaties
    • Writable files
    • Read-only files
    • Files to which you do not have access (e.g., files whose security is set such that you cannot access them)
    • Writable folders
    • Read-only folders
    • Folders to which you do not have access
    • Floppy drive
    • Hard drive
    • Removable drive
    • USB drive
    • CD-ROM
    • CD-RW
    • DVD-ROM
    • DVD-RW
  • Open, save en save as op locaties met verschillende snelheden (heel snel en heel traag)
  • Open files gemaakt op
    • Een ander OS
    • Een OS met een andere user (andere rechten)
    • Een andere taal versie van je applicatie
  • Open, save en save as met niet valide filenames en met spaties
  • Veroorzaak het volgende tijdens het openen, saven en de save as functie
    • Verbreek netwerk verbinding
    • Reboot het programma
    • Reboot het systeem
    • Zet de machine in sleep modus
    • Zet de machine in hibernatie modus
    • Controleer een eventuele ‘autosave’ modus
    • Wat gebeurd er als je elke 0 minuten saved
    • Wat gebeurd er als je elke 1 minute saved
    • Wat gebeurd er als je auto saved met een heel groot document
    • Wat gebeurd er wanneer je meerdere auto saves aanzet tegelijkertijd
    • Hersteld de autosave functie zoals verwacht
    • Wat gebeurd er als de applicatie crashed tijdens het autosaven
  • Save en Save as met de volgende condities
    • Geen documenten die corrupt zijn
    • Een document die corrupt is
    • Meerdere documenten die corrupt zijn, die door de gebruiker allemaal opgeslagen zijn.
    • Meerdere documenten die corrupt zijn, die door de gebruiker geen van allen opgeslagen worden.
    • Meerdere documenten die corrupt zijn, waarbij door de gebruiker enkelen worden opgeslagen.

Filenamen

  • 1 karakter bestandsnaam
  • Korte bestandsnaam
  • Lange bestandsnaam
  • Extra lange bestandsnaam
  • Filenames met speciale tekens
  • Gereserveerde bestandsnamen
    • Bijv. voor windows: com1, com2, lpt1, con, nul, prn
    • Bepaalde tekens: / ? < > \ : * | “
  • Filenaam: file.ext
  • Naar een file gaan door een compleet pad te gebruiken bijv.: c:\My\Dir\Structure\file.ext
  • Naar een file gaan door een incompleet pad te gebruiken bijv.: Sub\Folder\file.ext
  • Naar een file gaan door een incompleet pad te gebruiken bijv.: .\file.ext
  • Naar een file gaan door een incompleet pad te gebruiken bijv.: ..\Parent\file.ext
  • Naar een file gaan die heel diep genest is: een\erg\erg\erg\erg\erg\erg\erg\erg\erg\erg\diep\pad\file.ext
  • Een netwerk pad: \\server\Parent\file.ext
  • gemapte netwerk pad: Z:\server\Parent\file.ext

 

Testen van de non functionals

En als je klaar bent met deze voornamelijk functionele testen kun je je als tester altijd nog bezig houden met de non functionals. hierbij kan gedacht worden aan onder andere: Security testen, Performance / stress testen of Gebruikvriendelijksheids testen.

Een tester is dus eigenlijk nooit klaar met testen.

Download hier een mindmap waarin al deze testscenario’s ook vast gelegd zijn als naslagwerk.

 

Sign up for our email newsletters

Leave a Reply

Your email address will not be published. Required fields are marked *