Research Article

Mutation Testing Approach to Negative Testing

Box 1

A model of an ATM system.
ATM
mode: int                // defines whether the ATM is in use
currentAmount: double          // defines the available amount of money in ATM
getCard():Boolean             // requests the card be inserted
getPin(pin: int): int            // requires a PIN be inserted
validateCard(cardNo: int, pin: int):Boolean  // validates the card and the PIN
displayMenuChoice():void         // displays the possible actions available for a user
enterMenuChoice(choice: string):Boolean  // requests an action be selected
checkBalance(amount: double):Boolean   // checks if the user has the requested amount
enterAmount(amount: double):double   // requests an amount to withdrawn be entered
confirm():Boolean           // passes confirmation of withdrawal
quit():Boolean             // passes quitting of withdrawal
dispenceCash():double         // pays out the money
ejectCard():string           // returns the card