Skip to main content

Learning to add tests to a program

https://needpix.com

In order to increase my knowledge, as well as make sure that I can apply the concepts -- I should apply it, correct?  I know this is good advice as a generic, but it didn't work well, in this particular case.

Things started off well:

  • I got permission from someone to add tests to their React app.
  • I got encouragement to add tests to something else,as well (which made me both delighted and a bit scared).
  • I forked the repositories, with promises that I wouldn't add things that would break.
  • Scanned both the code and what the person wanted it to be to used for
  • Chose Jest to get things started - I'd used this before, so it should be easy.

And at this point, I've been stuck.

Do you, dear coder, recognize how many things there are to test in even simple applications? How does one figure out where to start testing, much less make sure that what tests you are doing are effective? And where to start?

Take a deep breath - there are answers out there, and they are good ones, at least to let you figure out what is best for you.

A few acronyms that you are likely going to run into are simple - there are a few that always confuse me before I'm fully in tester mode - AUT is one of them. It's just close enough to a word that the brain tries to make it into a word - then the rest of the sentence is confusing. Most of these can be figured out with a few moments and your favorite search engine (especially if you've been looking at testing topics recently).

My favorite answer is to put myself in the mindset of the person that is going to be using this: What else are they doing? Is this going to be a primary activity, or a quick visit?

And with the advent of foldable phones on the horizon, and three active applications that might exist - where might this be? And is is going to need things that other applications might?

As we have seen, recently, there are many areas of concern that should be tested - and it's good to be aware of them. If you have the time and budget, many of these could be tested. But few have that level of resources and time. So the plan is to get the most important areas tested, and then add as needed.

Simple tools, like Google's Lighthouse and aXe can add a basic level of accessibility confirmation to your work - but these are designed for web pages, and are not always the best tools to use. I use the scales they offer in some contexts to insure that the inward-facing dashboards and alerts are readable.

Working with your security team, or finding those with that skill is becoming a more-vital part of all programs. Everything from injections to securing the code itself in the cloud is now a potential issue: these need to be looked at as important risks to be evaluated.

Now, get into the mindset of your user - what are possibilities that might happen that you don't plan for? Some of these things might be buttons that are close together, or pop-ups that block someone selecting an option they want. And if a finger slides as an option is shown, might the user end up in a place they don't want to be, and can't get out of?

I find myself using April Wenzel's statement of "How can the tech I'm working on be abused?" as a basis for finding things to test - even if the abuse is simply someone tired, distracted, and needing the product now.  

All of these things need looked at - even if they aren't going to have an influence on your application. You may find yourself with a standard list of things to think about as you continue to test - and this isn't bad: just make sure that it continues to grow and change as you do.

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:...