Skip to main content

Hello World for Testers: Basics Part One

cover_image: https://images.pexels.com/photos/408503/pexels-photo-408503.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940

Learning on your own is fun: you have the option to chase a concept until you are satisfied that you fully understand the concept, to the level you need it. But that is also the downside: as a tester, you have few public sites that offer a series of exercises to ensure that you can build that mental list of conditions that you need to ensure are covered in a testing situation.
I am slightly envious of my developer friends: they have established problem sets that they can use to upgrade their skills, and assist in learning the tricks of their particular programming language. The sites are set up to allow both individual learning and competition as an individual, or as a group. This, for many people, is a great incentive to do these exercises on an infrequent basis, or to reinforce a concept that you recently mastered, but aren't likely to use again quickly. 
But for me, these resources are hiding - they are included in some classes, yes, but not in this form. And I have heard from developers that they are frustrated doing more than functional tests: they look for something similar to the "katas" they are familiar with for practicing code concepts, and ask about them. And fail to find them

So imagine my delight when I found a 'simple' exercise: go to [shopping site], type in [item], add all items on the first page that have [special tag] to the shopping cart. Thankfully, since this exercise was using a live site, they didn't want you to try and check out! I figuratively pounced on it, and asked for more things like this. And rushed off to make a mind map of what I needed to do.
Anyone who does do testing can see where this is going - what looks to be a simple four-step task can turn into a large project.

My first approach was, of course, an Experiential Testing one. There is no way I would be able to figure out exactly what was required to complete this exercise without taking a look at what was needed to complete the steps. Was there a "Buy now!" button, or did you have to go to the item description? Were the tags scattered. or grouped? And how does one find these tags? So many questions! And the only way to figure them out, plus find out if there are other tasks that need done is to go to the page, and find out.

An online mind map, and a notebook, were also available. I set the map with the task, and started listing what I encountered. Notes handwritten to make sure that what I find isn't forgotten, and so I have a list of tags and routes to items. And, after a few minutes of exploring the task, I was thankful that I had a large virtual sheet - the potential for testing both the correct, easy path and all the other areas grew quickly. As was expected: this is one of the fun parts about testing. Not only do you need to figure out the 'correct' way to do things, but find all the other actions that you might do during the task, either intentionally or not!

After about a half-hour, I had the basic plan on how I would, with unlimited time and budget, test this process. Since I'm still learning, I needed to narrow this down to a more-simple item, and build on it. So I explored a bit more on my chosen site, and found a page that had only one item with the tag, and wrote down what I needed to type, and where, to automate this process.

Returning to the groups that I had asked if there were more exercises like this, I found that no one had found a page with these. I was disappointed - how are we going to be able to skill ourselves up, and let others who are looking at a career in software find the delight that is testing to me? I placed on social media that this might be a good addition to one of the sites, but except for a bit of support, I haven't seen it come up yet. 

Even if you just challenge yourself, this is still a good idea. Take what you know, and in a limited environment, expand on it to see how much you can do within that framework. You may not find a serious issue, but may discover limits on yourself, your views, and your tools that need to be examined and evaluated for your future.

Popular posts from this blog

30 Days of Postman - for Testers!

  https://www.pexels.com/photo/white-and-brown-cat-lying-beside-a-laptop-and-toys-5468268/ Photo by Karolina Grabowska from Pexels   Working with developer- focused tools can be a challenge for some testers: we may know what the words mean, but haven't used those skills recently enough to make the tasks simple. Or we may not have ever used them, other than at a quick glance to make sure that what we are getting matches what it should be sending. And some give results that require us to go find another team member to help interpret the results. Being a more-independent tester has always been one of my goals - being able to use the tools that are common in the team, and be able to do at least basic tasks that support my tests with them. Our team used Postman for many of the API tasks that we had, so exploring this tool was a natural fit. There are alternatives it there, both graphical and command line, so feel free to explore! The items that you can do, and tools that ...

Drop-down values for injection

cover_image: https://www.pexels.com/photo/flat-lay-photography-of-gold-iphone-on-opened-notebook-beside-pen-583847/ canonical_url:  --- Photo by Jessica Lewis 🦋 thepaintedsquare   Learning in public is grand, and when you have a team that is willing to help with something that seems simple, but you fall into overthink for the wrong items, it can really help to type out your thoughts, actions, and what the program does to frustrate you. And in this case, getting a value I could see in the debugger was the issue The automation needs to check for page elements – and the drop-down selector triggers potentially different elements. Plus, depending on the user logged in, there may well be different options available in that drop-down. Then, I can get the options available for the user on the drop down, get their values, cycle through them, and verify each set of elements on the page. My test account for this has four options on the drop-down, so I budgeted a couple of hours to get ...

Redefining my Role

Confession: I am a nice person. I'm the one that will check on people - and be concerned if someone is acting off. Or donate money to make sure the potluck I can't attend has everything it needs. This has had an effect on my career: I was less willing to point out 'in public' errors in the code or things that just felt off to me while testing. And this stopped me from being the best tester I could be. Trying to be kind to someone that was having a rough patch, or simply not wanting to expose them to a potential attack was both me trying to get things correct, but care for them. I've decided to embrace this aspect of myself, and shift my focus. Being 'nice' to the product, or company must include being the voice for both end users and the team. Finding things that will be difficult for them, confusing, or flat-out wrong is a major part of my job. And this was also one reason I don't 'delight', at first, when something doesn't work as expected:...