icon sc-linkedin logo of codepen-icon logo of github-icon youtube play button

notes by Adam Sullovey

web & mobile application developer
practicing in Toronto, ON

Testing in Different Contexts @ Dev West Meetup

Testing in Different Contexts @ Dev West Meetup

Flipp hosted and sponsored this Dev West Meetup.

Gabriel Loo talked about his approaches to testing for the 3 different modes he sees teams around him in.

testing = exploring things that hurt the quality/value of a product

Pioneering

Pioneering is going where no one has gone before, assuming there will be something good end, but what that will be is unclear.

Example: Using OCR to process retail receipts for rebates

The team had to figure out if this was possible. Part of testing was finding different receipts and testing them against optical character recognition libraries to see which ones worked with all the different receipt variations

  • French vs English receipts have different text and layouts
  • self checkout vs regular checkout receipts look different
  • different stores in the same franchise might have different receipt layouts
  • different tills in the same stores might have different receipt layouts (different version of software on cash registers?)

How do a tester’s skills apply in this context?

  • use your exploratory skills to change and test fundamental assumptions
  • use automation skills like controlling Selenium for finding even more receipt images on Google to test OCR with

Building

Building has an end goal in site, it will be challenging and full of engineering problems, but the outcome is far less uncertain than pioneering

Example: Rebate Processing

The clear goal at the end is to get money back to legitimate consumers, and weed out invalid submissions such as:

  • one user submitting many pictures of same receipt
  • many users submitting pictures of the same receipt
  • receipts from unsupported stores.

How do a tester’s skills apply in this context?

  • use your ability to switch perspectives to test against malicious behavior
  • the developers might only think of the happy path

Optimizing

Optimizing is taking something that has been built, is achieving its end goals, and making it better.

Example: improving the ‘load to card’ feature

The team thought this data entry task for users could be improved with a new UI. Gabriel wrote tests before the development team started working on the new UI so the devs would know if their new designs and refactored code met existing contracts in the system

How do a tester’s skills apply in this context?

  • use your test writing skills to provide a baseline for others test against and prevent regressions
    • test functionality
    • test performance

Also, extreme couponing courtesy of Flipp

No frills has $.97 toothpaste, and a $2 off 2 items coupon. Combine for free toothpaste

comments powered by Disqus