Exploring possibilities?
Tags: testing, agile
Published: 2021-04-27 12:28:38

The [Agile manifesto](https://agilemanifesto.org/) states in one of its points: **working software _over_ ​comprehensive documentation**. Do you know those companies that claim to be Agile, but in reality that usually just means _no documentation_? 

I once had the pleasure of working in such a company - there was either no written specification of the developed product or the documents were not updated for a year or two. **It sucked**, especially for the tester, who came from a waterfall project, where everything was tick-tick like a Swiss watch, especially documentation-wise.

I had to resort to troubling programmers _(I regret nothing)_ and to my testing skills. **I was travelling through an unfamiliar area (aka software under test) in order to learn about it**. I mostly used **exploratory testing**. As the ISTQB glossary defines it, it is _an informal test design technique where the tester actively controls the design of the tests as those tests are performed and uses information gained while testing to design new and better tests._ 

Yesterday kicked off the [Exploratory Testing Week](https://www.ministryoftesting.com/events/exploratory-testing-week-april-2021), hosted by [Ministry of Testing](https://twitter.com/ministryoftest) _(my favourite testing community)_. It began with 99-minute workshop session titled **_Learn How to Test Before a Line of Code Has Been Written_** by [Dan Ashby](https://twitter.com/danashby04). 

One of the exercises presented by Dan was to share ideas of the products and let the group work on testing approaches for 5 minutes, on Miro board.
Let's visit one of the ideas:

_**Context**_:
**We are employees at Amazon, and are working on the Echo<sup>1</sup> product**. The idea is for a cool new feature for the Echo to recognize a child's voice and restrict content to be appropriate for the age of the child. It would prevent the child from purchasing things; it would prevent any explicit content or certain apps from loading. It would also require a child to say _please_ and _thank you_ to help teach good manners.

![Screenshot of Miro board with testing ideas from workshop Learn How to Test Before a Line of Code Has Been Written by Dan Ashby](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/72bzayv3wksd4zuju4ra.png "Screenshot of Miro board with testing ideas from workshop Learn How to Test Before a Line of Code Has Been Written by Dan Ashby" )

**I think my 7-year old nephew would be all over that device**. But, seeing as I'm originally from a non-English speaking country, Echo can be inaccessible to some children. Even the variety of English speakers' accents would cause potential problem. 
Testers were the most concerned about the child's voice: 
* do we need to include children to test it? 
* Would there be a voice tune-in for the initial setup? 
* How do we define child's age? 
* Do race and gender create additional challenges? 
* How do we determine if this is a child speaking? 
* Do we consider pitch, higher frequencies or vocabulary? 
* What if the child's voice is altered due to illness? 
* What happens when the child alters their voice on purpose, to unlock some inappropriate content? 
* How will the Echo recognize the child's voice as they grow? 
* What if there is more than one child? 
* What would be Echo's response to lack of good manners or some snarky comments?

There were also some concerns about data and privacy - could parents consent to storing child's voice in the cloud without children consent? 

**How would you _explore_ it?** What other cool features would you add to Echo? Share it in the comment :)

***

<sup>1</sup>From [Wikipedia](https://en.wikipedia.org/wiki/Amazon_Echo): Amazon Echo (shortened to Echo) is a brand of smart speakers developed by Amazon. Echo devices connect to the voice-controlled intelligent personal assistant service Alexa, which will respond when a user says the name "Alexa". The features of the device include voice interaction, music playback, making to-do lists, setting alarms, streaming podcasts, and playing audiobooks, in addition to providing weather, traffic and other real-time information. It can also control several smart devices, acting as a home automation hub. The smart speaker needs to use Wi-Fi to connect to the Internet as there is no Ethernet port.