The Life of a Software Tester
Let’s find out what exactly software testing entails and take a peak into a typical day in the life of a software tester.
Join the DZone community and get the full member experience.Join For Free
every sept. 9 is a day that reminds us to take a moment to celebrate testers. it’s a great day to give them a pat on the back and send them some love . it’s also a great day to give testing the recognition it deserves. if you are not very familiar with it, then this post will be a good introduction. if you are a tester, we urge you to share this post with others to inspire them to join us in the testing world! let’s find out what software testing entails and take a look at a day in the life of a software tester.
what is software testing?
essentially, the job of a tester is to help provide an organization with meaningful information about the quality of the system under test in order to reduce risk, optimize performance, and make sure it satisfies the requirements (it does what it was designed to do) and functions properly, among other things.
testers are naturally curious beings, always asking “what if” questions regarding a system.
cartoon courtesy of cartoon tester
they think outside of the box, anticipating actions that users may take that others in the organization may not be planning for.
basically, without software testers, there wouldn’t be someone dedicated to finding the issues within the software of a computer, machine, program, etc. that could cause it to not work properly. thanks to qa engineers, you can instagram your vacation photos, pay bills online, or call your family over a web application quickly and seamlessly.
just like your average superhero, they are out there fighting the evil pests that disturb the functionality of the world around us. so what is their life like?
here’s a very broad view (for the purpose of this post) of what a tester does:
this is where they learn about the details of a project. testers need to know about their subject from the get-go. this is also where they are able to ask questions, make comments and do training related to the testing. in any project, testers should be involved right away in order to help plan testing with development, making sure to build quality into the product during every phase.
learn the requirements
testers save others’ work from errors. sometimes, a tester has to test an application that they have never interacted with before, so it can be useful for them to review the requirements set by those who do know it and provide feedback. there is always a lot of mutual learn by doing. sometimes the tester tests without the software requirements specifications and documentation. in this case, they will use exploratory testing, mind maps, and other techniques to learn more about the system.
prepare for testing
by having the right requirements knowledge and/or documents, they know how to get to work and it doesn’t just happen at a flick of a snap. before executing tests, a tester must understand the technology, the data model, the risks, context, etc. this is when the tester creates the test cases and scripts and sets time for each case, among other tasks.
woot! this is fun, but it’s not just about executing the tests. it includes getting any needed clarifications, updating scripts, reporting defects, and giving a status report.
during and after execution, the tester must ask many important questions:
“how would the user feel about this?”
“how can we make the user’s experience better?”
“what if…? what if…? what if…?” (there are never too many what if questions!)
clarify, investigate bugs, and get to the root cause
once bugs have been found, it is the tester’s job to explain about the reported bugs, including conducting a causal analysis. this can also cover reproducing the bug, which involves having to re-run the steps of the test to see if the problem happens again. the tester always double checks that a bug has truly been fixed before calling it “case closed.”
often called retrospectives, after every great software development project, meetings are held for reflection and commentary to be made. a lot of the discussion centers around questions like, “what went right? what went wrong? how can we improve the practices and which do we need to get rid of?” these are all questions to be asked at the end of any project.
for even more things that testers do on a daily basis and how they provide value for software development teams, read this post by ministry of testing, what do software testers do?
how are you celebrating the heroic day of the software tester?
gifs courtesy of giphy
check out these related posts
Published at DZone with permission of Federico Toledo, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.