Written by Rikki Kazmierowicz
Max Ellis is a QA Test Automation Engineer at SingleMind. Max has been working in software and systems engineering for over 15 years and specializes in automated systems integrations, configuration management, controls engineering and network management.
Testing is expensive. It takes a long time usually. It’s super important. So you get this thing about it’s costly and time-consuming and a lot of people don’t like doing it. So if you automate it, you can do it at night. You can let the computer do it. It makes things go faster and usually reduces your development cycle time and it reduces your costs. Ultimately the reason you’re testing is because you want things to be higher quality. So you end with better quality, faster, cheaper (maybe), that’s the hope. So when you automate that’s really what you’re looking for.
I mean agile has some neat aspects to it where you get to work as a team very tightly. So your test people are working with the developers very closely and that brings a certain benefit to the table. Your developers know the burden they place on the testers if they write (code) a certain way. For instance, if they make a user interface that has lots of good IDs in it that are easy for the tester to be able to do automated work on, they’ll quickly learn together how to work with the developer symbiotically. Where the developer knows what the testing team needs and the testers know how to feed information back to the developers. Knowing how to get the relationship to work better – agile is really good with that.
The old way we used to test was manual. So overnight I would have to go do tests and the lead tester would give me a script. You know a test procedure that they would have generated from their test plan. We would go through it by hand and click on things and make sure everything worked. That was the old way of doing it. We didn’t have automated tests at all. So today you can take all that and automate it.
So the Google search page. You [type in] google.com and get a search page. If you want to be testing it (if you’re Google and maybe they have this test, I don’t know maybe it’s too simple), but they want to know branding, how does the image look, how does it resize, how responsive is it to changes, what does it look like on different devices? So you can automate a test where the test would say “Go to the page… Look for the search bar… Look that it has these properties… Make sure the Google logo is on the screen… Make sure [the logo] is not too big and off the screen.” So ideally the product has a set of specifications and you’re trying to make sure all the specifications are met given all of the boundary conditions you’re interested in. You don’t want to test too much because it’s just expensive. But you don’t want to test too little and all of a sudden have conditions that you never tested (and have the customer find it instead of you).
I use software all the time. We all do. And it drives me crazy when it doesn’t work well. That’s really it. I expect when I buy something that it’s going to work well. I don’t like my car breaking down on me now. So this is it. It’s really all our lives are better when our products are better. It really steps up the testing game and lets your products get higher quality with lower cost and a faster development cycle. If you do it right, all those things happen.
Written by Rikki Kazmierowicz