Software Tester - Roles, Responsibilities & Skills
Ameya Bhagwat
QA | selenium | Cucumber | API testing | Java | Perfomance Testing | Automation Testing |Manual Testing | CI/CD | JMETER
The quality assurance engineer is vital to every tech product release. Depending on team size and structure, QA is viewed and utilized differently, but tailored to specific organization needs.
Most often, software testing job titles are designated QA (Quality Assurance) or Tester. They may also include the following specifications:
- Technology: Selenium Tester
- Domain: Healthcare QA
- Expertise: Senior QA Testing Specialist
The three main roles in software testing and elaborate on the skills and responsibilities specific to each of them:
- Manual QA Engineer
- Automation QA Engineer
- QA Lead
Manual QA Engineer
As mentioned earlier, manual QA specialists find bugs in a system by relying on human observation. They need to make sure that test requirements match test objectives. After a QA Lead develops a test plan with a detailed understanding of the testing workflow (including test strategy, environment requirements, test schedule, functions to be tested, resources and responsibilities, deliverables, exit criteria, tools, etc.), testers write test cases — scripts describing an input action and an expected response.
While running a test, QA engineers compare the actual result with the ones outlined in the test case, logging a defect if they don’t match. The found defects are communicated to other departments in test execution status reports or via any bug tracking and management tool, e.g., Jira.
Once the engineering team reports that the defect is resolved, a QA engineer must verify whether the problem is now fixed. QA engineer’s workflow is managed in daily status reports that monitor the progress of the project and each tester involved. The status reports take different forms: an email, a document, or a live meeting. Below is the status of the build which is generated after testing.
In manual software testing, there are three seniority levels: junior, middle, and senior QA engineers. We’ll analyze the role of manual QAs in terms of their skills, responsibilities, and the various tools they handle, considering seniority levels as well.
Manual QA engineer skills
Basic knowledge of software testing. To enter the software testing field, juniors should have a proper understanding of the main concepts and processes: the whole bug life cycle; different testing levels, methods, and types; test estimation techniques.
However, in order to become mid-level QA engineers, testers should already have strong knowledge of software testing processes, deep understanding of development life cycle, and practical experience with different testing types.
Fast learning. As projects usually allocate the least time to testing, QA engineers need to learn fast to be able to simplify the task and execute the assigned work on time. It’s necessary to quickly understand the requirements and the purpose of the software, considering the recent changes.
Ability to meet deadlines. QA engineers should be able to efficiently plan their work in a way that will enable them to be on time with their tasks.
User-oriented perspective. To design more real-time scenarios, a QA engineer should clearly understand who the end-user is, what purpose the product serves, and how it will be useful to the customer.
Communication and collaboration skills. Having good communication and teamwork skills is essential for software testers, as they constantly interact with project team members, clients, and stakeholders. Mastering point-to-point communication will help a QA engineer accurately decide on what information to include in the daily status reports.
Curiosity. Being a QA engineer means constantly questioning the quality of the product. Often working with incomplete requirements, they need to ask meaningful questions that will yield more information and help perform testing effectively.
Self-organized with no monitoring required. In contrast to a junior who works under constant monitoring, a senior knows how to prioritize and estimate task execution without any assistance. Seniors try to modify their working style to match the processes.
Communication tactics to work closely with a development team. Senior QA engineers often have to collaborate with developers: from reproducing the reported issue and emphasizing the fix for critical bugs to understanding how the bug has been fixed.
Manual QA engineer responsibilities
Daily status reports. QA engineers must inform a QA lead about the testing activities performed via daily status reports.
Detailed defect reports, which requires being skilled in how a specific AUT (application under test) works.
Listing improvement areas. While having a fresh eye on the product, the junior QA is expected to have ideas on ways to improve the product’s usability.
Test cases documentation. The middle QA has an expertise threshold that enables them to write test cases on their own. Besides that, they have to document test cases in a specific format that differs depending on the organization.
Requirement analysis. Understanding the requirements provided by a customer and relevant domain of work is necessary to prepare a query list for a QA lead.
Test effort estimation. A QA engineer always evaluates the efforts required to complete the task efficiently.
Contributing to test planning, designing, and estimation. Senior QA engineers, being more experienced, are responsible for providing inputs on high-level test scenarios, challenges, risks, resources, etc., during test planning meetings. They should also help in test designing and structure high-level test scenarios into medium-level test cases. Based on their diverse experience, senior QA engineers are capable of providing the most accurate test estimates.
Manual QA engineer tools
In addition to using different desktop and mobile operating systems, browsers and web proxies for cross-browser testing, manual testers use the following tools.
Test management tools (TMTs) help organize the testing process. Using TMTs, manual testers can generate and store test reports, interlinking them with the release requirements. Some of the TMTs are Test Manager, TestLink, TestRail, HP-ALM (QC).
Defect tracking tools (DTTs). With the help of DTTs, QA engineers track the defects found in the application and generate bug reports to communicate them to the dev team. Examples of DTTs are BugZilla, Mantis, JIRA
MS Excel helps write large sets of test cases and later import them into TMTs. Test Studio is an alternative to Excel that provides better UI experience and test case reusability.
Project management software with features like time tracking, wikis, task lists, Gantt charts, and more is a must-have for Agile projects. Jira is a common product management choice
QA Manager
3 年Sorry, looks like this article is taken from: https://hackernoon.com/qa-engineering-roles-skills-tools-and-responsibilities-in-a-testing-team-7c499adc8057 Originally published by?AltexSoft Inc?on?February 5th 2019
Data Infra & Platform @ Quora | Ex-Agoda (Booking Holdings) | IIT Roorkee
5 年Great to see you writing! Keep up the good work and keep inspiring!?
Co-founder & Group CTO | Inventor (45 Patents) | BW Disrupt 40 Under 40
5 年Sharing what you have learned and experienced is a big responsibility and the role of a leader - congratulations, you are a leader!
Experienced Software Engineer with Master's degree in interdisciplinary Computational Sciences
5 年Well I think there is a very significant boundary between quality assurance and testing(manual/automation). Quality Assurance would mean ensuring that the quality of the product matches the expectation of the client/user, the expectation might be a good/okayish/buggy product as well. Whereas, testing means finding all the defects of the product which include usual bugs, performance under stress, security stuff etc. On case to case basis, both the tasks might sometimes mean the same but in essence they're a different process all together.