A Blog from QualiTest

Raina Dey Scenarios: Negative Testing Gets Pumped!

Bringing a testers mindset and vision to everyday life. This time Raina is breaking down the gas pump at the local gas station. Just what does it take to properly test such things? Take it away Raina!

Welcome, my children. My name is Raina Dey, and I have returned for my third installment so far (if these get published in the right order – I hope someone can QA that). Did you miss me? My improbably appropriate name once again is atop an article! This importantly gives me another chance to talk to you about figuring out where things might break. Remember, it is just an app; it has no feelings, and your job is to break it if possible through negative testing. Negative testing is not a sad thing; it is a happy occasion knowing that things work!

So, today we are going to look at gas pumps. Actually, we are going to look at testing gas pumps. Looking at gas pumps is just something I do when trying to end on an even dollar amount — a little OCD on my part. I guess it is part of the “attention to details” that made me want to get into testing. Anyways, this will be more like our first problem (negative testing for an ATM) than my blackjack one. Keep in mind, we are only going to focus on negative testing, although we will include a little extra to play with alterations to the maximum charge. So let’s just move onwards to the oopsies.

1. Pay inside

a. Attendant has not authorized pump to pump (… so the pump won’t pump)
b. Invalid card is not recognized if used inside (includes invalid strip, facing wrong way, unacceptable card type)
c. User is authorized to pump a prepaid amount but is trying to pump beyond (so it stops pumping at that amount), and re-inserting the spent card is blocked
d. Try pumping > $75 (standard preset maximum) after prepaying > $75 (test with both fixed amount and unlimited amount pay methods)
e. Repeat previous step after changing maximum to $80 to ensure cutoff at $80
f. Repeat previous step after changing maximum to $50 to ensure cutoff at $50

2. Pay credit (includes prepaid)

a. Valid card is blocked when a non-matching ZIP code is entered
b. Invalid card is not recognized if used inside (includes invalid strip, facing wrong way, unacceptable card type)
c. User is authorized to pump a prepaid amount but is trying to pump beyond (so it stops pumping at that amount), and re-inserting the spent card is blocked
d. Try pumping > $75 (standard preset maximum) after prepaying > $75 (test with both fixed amount and unlimited amount pay methods)
e. Repeat previous step after changing maximum to $80 to ensure cutoff at $80
f. Repeat previous step after changing maximum to $50 to ensure cutoff at $50

3. Pay debit (includes prepaid)

a. Valid card is blocked when a non-matching ZIP code is entered
b. Invalid card is not recognized if used inside (includes invalid strip, facing wrong way, unacceptable card type)
c. User is authorized to pump a prepaid amount but is trying to pump beyond (so it stops pumping at that amount), and re-inserting the spent card is blocked
d. Try pumping > $75 (standard preset maximum) after prepaying > $75 (test with both fixed amount and unlimited amount pay methods)
e. Repeat previous step after changing maximum to $80 to ensure cutoff at $80
f. Repeat previous step after changing maximum to $50 to ensure cutoff at $50

4. Other things

a. If no response to receipt request, the preset default is used at timeout time
b. Time out and return to seeking new customer if too long a wait on all screens

5. Anything else? (this drifts into positive testing)

a. All of the above should be tested on all 3 grades of gas plus diesel
b. Confirm that the pump should know to shut off once the tank is full
c. When the receipt paper roll runs low, a message needs to be sent to the office identifying which pump needs new paper
d. If self-service and assisted have different prices, make sure that everything above works using the self-service price at handicap pumps
e. We won’t address pumps that accept cash – you can go back to the ATM problem if you want to experience that kind of fun

Can you think of anything else? That one wasn’t so bad. I want to do another one. Please write in comments below this blog post and help this list become more complete if you can find anything I may have missed, or suggest what we should test next time. This is Raina Dey, of Raina Dey Scenarios, saying good night.



  • A few things:

    1b: surely card validation if the customer is paying inside is a question of the EPOS terminal, not the pump? Do you want to validate that data transfer from pump to terminal has worked OK? (Here in the UK, it’s not uncommon to find that if you’ve tried to stop pumping at a given even currency amount, the terminal inside the station has ‘clicked over’ to the next penny.)
    4: I would see a need to test for correct clearing of the pump display when the transaction had been completed and the next customer comes along; that the pump zeroes correctly; and that the process of changing the product price works correctly.

    Also: the pump needs to cope with switching from customer to customer with different payment methods – so presenting a different type of card or choosing to pay inside doesn’t lock the pump up in any way.

    And: if there is a vendor loyalty card scheme which incorporates at-pump scanning, does this system interface correctly with the pump and transfer the value of goods delivered to the loyalty card system in an understandable way? (This wiull depend on how such schemes are striuctured, and whether they do price-to-points conversion on the fly from the POS terminal or upload just the value of the goods delivered and crunch the nbumbers back on the loyalty card system.)

    • Raina Dey

      Thank you, R Day (from R Dey), for your comments and starting the conversation. I’ve drifted into a slippery slope between positive and negative testing with this example, and I fully agree that your suggested caching checks are needed testing. I think this is more confirming correct values on a happy path, but it is my fault for playing with a maximum cutoff and calling it negative testing, thus opening the door. Certainly this is an interesting testing situation, and there is more to solving this problem than I have listed.

  • Daniel

    Interesting blog post! I had never thought of that before.

  • Pingback: roofing()

  • Pingback: sscn.bkn.go.i'd()

  • Pingback: Taruhan Bola()

  • Pingback: casino games()

  • Pingback: iraq Seo()

  • Pingback: iraq poli1tical & Law()

  • Pingback: In Vitro ADME()

  • Pingback: lowongan cpns 2018 bali()

  • Pingback: creative wedding planners()

  • Pingback: empresas de assistência informática()

  • Pingback: adwords help()

  • Pingback: http://www.guaranteedppc.com()

  • Pingback: donna vinci()

  • Pingback: cmovieshd()

  • Pingback: Handtücher besticken lassen günstig()

  • Pingback: 루비게임 엘리트게임 루비게임주소()

  • Pingback: 움짤()

  • Pingback: Online Corporate Reputation Management Services()

  • Pingback: local time()

  • Pingback: michelle waterson highlights()

  • Pingback: PK Studies in Rats()

  • Pingback: diyala sciences()

  • Pingback: gitano()

  • Pingback: klick here()

  • Pingback: 안전놀이터()

  • Pingback: seks kamery()