Your software application is acting weird: it’s crashing during quality analysis and the front-end application isn’t working as expected! You need a software testing team to figure out the problem areas of your application.
The testing team finds and reports bugs to the developers. The testers just saved the project team from a nightmare! That’s what a software tester primarily does.
They’re the experts in finding and reporting software bugs and flaws.
Bugs are everywhere.
No matter how much expertise the development team has in creating a web application, bugs are bound to creep in. They interfere with either the backend or the frontend of the application.
What is the job to be done for the software testing team?
“A software tester’s main job is to locate and report bugs.“
Software testers need a specific set of skills in order to perform their daily tasks of locating and reporting bugs.
What makes their day-to-day tasks challenging is the fact that many bugs are not getting fixed right away. The software testing or QA team‘s job is to go back and forth with the development team, coordinating about the same bug a number of times.
However, it could go much easier: a tester finds a bug. He prepares a bug report and sends it to the dev team.
The developer sometimes misinterprets the description of the bug provided by the tester and goes on to fix either the wrong bug or wrongly fixes the right bug.
When the tester finds that the bug she reported still remains unfixed, she usually finds out why and then again documents the bug report.
This process goes on until either the right bug is fixed or the developer decides to drop the bug. So, you see how a tester needs to be on their toes, agile and active, always.
In this blog post, I’m going to show you what a day in the life of a software tester looks like. And what software testing is actually about.
What is software testing?
Before we get started with a software tester’s responsibilities, I’d like to show you what software testing is all about.
Software testing is basically quality control about a product or service.
Or as the following definition puts it:
“Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not.”
Basically, software testers conduct various tests with the intent to find software bugs.
Software testing types
Software testing is a broad area and includes various different types of software tests. Depending on your product or service, and the job you’re supposed to do, software testers conduct the following software testing types.
|Software Testing Types||Main Focus||Wo is the software tester|
|Installation Testing||Correct installation of a system||Developers|
|Compatibility Testing||Compatibility of system (with other applications or OS)||Developers|
|Smoke Testing||Basic check of software functionality||Developers|
|Regression Testing||Finding errors after code change||Developers|
|Acceptance Testing||Verifying if solution works for the user||QA / customers|
|Alpha Testing||Internal form of acceptance test||QA|
|Beta Testing||External form of acceptance test||External QA team / customers|
|Continuous Testing||Process of automated tests||(mainly) developers|
|Destructive Testing||Main goal to cause a software failure||QA|
|Usability Testing||Check if user interface is easy to use||QA / potential users|
|Accessibility Testing||Testing if application complies with accessibility standard (W3C)||Internal QA|
|Security Testing||Evaluate the degree to which data can be read used or modified by unauthorised persons||Internal & external security specialists|
|A/B Testing||Comparison of two outputs regarding their performance||Marketing / QA|
What are the software tester’s responsibilities?
As you can see in the collection above, there is a broad variety of software testing types out there. So, when it comes to software testers responsibilities there are a lot of tasks and processes which we need to consider.
The following list gives an overview of a software tester’s responsibilities:
- Communication with key stakeholders
- Software test planning
- Managing the testing process
- Performing software tests
What does this mean on a daily basis? We collected some insights in the daily life of a software tester.
1. Reading through emails and project updates
The day of a software tester starts by reading their emails and project updates. The testers lookout for emails from the project manager asking them to run various test cases or tickets. A ticket is a lingo for a logging system that the testers use to record issues, comments, and updates related to any bug.
Each ticket has a description of the bug and a screenshot attached. Testers also scan their mailbox or project management system for emails from their developers giving them an update of the bugs that they had raised the previous day.
2. Testing the highest priority ticket
After reading through the emails and project updates, a tester would pick up the test case with the highest priority. Priority is decided generally by the chronology of events that occurs in the course of the final release of the product.
Let’s say that there’s a test case that requires checking the functionality of a search bar on a website. The tester here has to ensure that the search is functioning as expected.
This case would come in highest priority if the ticket has to go live (which means that the users at the production end can see the search bar) within the next few hours of sending the email. The test case or the ticket is exchanged many times among the team (usually the tester and the developer).
The first time a tester works on a ticket, he sends it to the developer. If the developer is not clear about the issue, he’ll send the ticket back to the tester with appropriate comments and a screenshot. It is, therefore, important for the tester to understand each note that the developer leaves on the ticket so that proper testing can be done.
Often each test ticket will run through a series of smaller, individual tests.
3. Project planning & communication
After sending a bug report, the tester will get back to checking emails and project updates. The software tester then takes up a fresh test case.
Occasionally, it might happen that the tester has little information about the functionality of the software.
If he has time, he can dig up the project documents to find out an answer or he can ask a developer for help. Sound communication is essential between a tester and a developer. A developer has to ensure that the tester fully understands the product because only then will he be able to do a thorough check of the system.
Often, a lot of time and effort is wasted due to miscommunication between the QA team and the developers. A screenshot and feedback tool like Usersnap will help a team to work more productively and collaboratively.
This process of checking an email, working on the test case and then rechecking the mail for another test case goes on and on.
4. Plan out the next testing day
Many proactive testers do not leave their work station just like that. They like to plan out their next day. They take a mental note of the next test case and go through the comments and notes to understand specific requirements. It gives them a productive start when they log in the next day.
Software testing skills required
In order to perform the above-mentioned tasks, they need a specific set of skills. Some of the skill sets required by a software tester are mentioned here:
1. Being a keen observer
Unless the testers are keen observers they won’t be able to point out the not-so-obvious bugs.
Occasionally, the bugs are small but if not fixed, they might have severe implications on the software. An efficient QA, therefore, needs to have an eye for details.
2. Communication abilities
Both verbal, as well as written communication, is a vital skill required in a software tester as they interact with developers, project managers, and business analysts on a day-to-day basis.
They need to have clarity of thought so that they can describe the nature of the bug, document a report, and explain how to recreate a bug.
For visual bugs, such as graphic issues or css design errors, there are tools like Usersnap to make reporting these problems easier. You can capture screenshots via the browser and illustrate with the tool which part is not looking right.
3. Time management
A software tester is required to report all types of bugs whether they’re important or unimportant. The difference, however, lies in the priority. A tester should know when to log a test case and give that a certain priority. Managing their time optimally becomes integral to their efficiency as a tester.
4. Technical knowledge
When you’re there to find the errors in software, you got to have good technical knowledge. You won’t be a good tester without a certain level of technical know-how. On top of that, with increased usage of automated bug tracking tools, it becomes all the more important that a tester understands how this type of software works.
When it comes to software testing a lot of skills are required to achieve the daily tasks.
Read more about how Trello, Prezi and other leading companies design their testing workflow in this eBook. Or see how Uber’s QA lead Dan Kirk builds engagement for devs and testers in a testing-first environment.
If you’re looking for a software testing tool for getting started, I’d love to recommend the user testing tool from Usersnap. It offers a free 15-day trial and is super easy to use, even for not so tech-savvy people. If software testing is none of your business, that’s totally fine, too. You might like to join our email list to receive new articles first.