Softwareontwikkeling en projectmanagement

Volgens de specificatie moet er „een waarschuwing worden gegeven als de temperatuur 85 °C of hoger is”, maar in de firmware staat per vergissing „if (t > 85)”. De temperatuur t is een geheel getal. Met welke van de volgende testwaarden kan deze fout worden gevonden?

  1. A84 °C
  2. B85 °C
  3. C86 °C
Antwoord en toelichting tonen

Antwoord: B. 85 °C

Volgens de specificatie moet er bij 85 °C een waarschuwing komen, maar t > 85 is onwaar als t = 85, dus specificatie en implementatie verschillen alleen als 85 °C wordt ingevoerd. Bij 84 °C geeft geen van beide een waarschuwing en bij 86 °C allebei, dus de fout is dan niet zichtbaar. Waarden testen die de grens zelf omvatten, is precies het idee achter grenswaardenanalyse. Het verwisselen van vergelijkingsoperatoren is een veelvoorkomende fout bij drempelcontroles in firmware.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Softwareontwikkeling en projectmanagement

  1. De waarden van temp en err kunnen onafhankelijk van elkaar worden gekozen. Hoeveel testgevallen zijn er voor de code „if (temp > 80) { fan = HIGH; } else { fan = LOW; } if (err) { log(); }” minimaal nodig om statementdekking te bereiken (elk statement minstens één keer uitvoeren)?
  2. De waarheidswaarden van a, b en c kunnen onafhankelijk van elkaar worden gekozen. Hoeveel testgevallen zijn er voor de code „if (a) { S1; } if (b) { S2; } if (c) { S3; }” minimaal nodig om takdekking te bereiken (de uitkomsten waar en onwaar van elke beslissing elk minstens één keer uitvoeren)?
  3. Voor de beslissing „A en B” (A en B zijn voorwaarden waarvan de waarheidswaarden onafhankelijk kunnen worden gekozen) zijn twee testgevallen uitgevoerd: (A = waar, B = onwaar) en (A = onwaar, B = waar). Welke uitspraak over de dekkingscriteria is juist?
  4. Wat wordt bij bottom-uptesten gebouwd als vervanging van een module op hoger niveau die nog niet bestaat, zodat die de te testen module op lager niveau aanroept, er testgegevens aan doorgeeft en de resultaten ontvangt?
  5. Tijdens het testen is een betrouwbaarheidsgroeicurve getekend, met de testtijd (of het aantal uitgevoerde testgevallen) op de horizontale as en het cumulatieve aantal gevonden defecten op de verticale as. De curve stijgt nog steeds en vertoont geen teken van verzadiging (afvlakking). Welke beoordeling is het meest passend?