competency in skills and knowledge through assessment tests,
but are not required to complete a specific number of hours.
Software Quality Assurance Tester
Anonymous
Work Process Content
On the Job Training
Gathers and analyzes requirements to understand the role of testing
5
- Determines the objectives of testing under various conditions
- Gathers and analyzes requirements in partnership with software developers and project team to translate them into testable criteria
- Assesses functional requirements for impact, risk, and feasibility; flags areas for improvements where appropriate
- Interprets non-functional requirements to meet business requirements for end level users
- Understands the relationship between testing and quality assurance and gives examples of how testing contributes to higher quality of software
Identifies test design and strategizes test plans
11
- Analyzes test deliverables, objectives, and past defects to inform current decision-making
- Performs respective tasks within the test process
- Follows test plans and test schedules
- Utilizes existing test environments
- Assesses the state of quality at any given time and supports advocating for quality improvements
- Differentiates between whitebox and blackbox testing
- Varies testing strategy based on mission and risk
- Examines relationships between software development activities and test activities in the software development lifecycle
- Applies static and dynamic techniques, considering objectives, types of defects to be identified, and the role of these techniques within the software lifecycle
- Recognizes types of software work product that can be examined by the different static testing techniques
- Assesses the benefits and risks of test automation
Collaborates with internal teams, clients, and stakeholders
7
- Fosters open communication through active listening and facilitates shared understanding across teams and clients
- Offers and accepts feedback respectfully, meets others with empathy, and seeks additional feedback and perspectives
- Participates in self-planning activities. prioritizes tasks applying Agile and/or Scrum principles (or similar), maintains knowledge of application life cycle management tools such as Atlassian stack and/or lira (or similar)
- Addresses challenges with curiosity, seeks to understand the root cause, and initiates follow-up conversations to provide insight and resolutions
- Collaborates with engineering team on complex issues requiring escalation and effectively coordinates with teams
- Abides by principles of inclusion and equity in communication with team members and superiors
- Communicates data, findings, and solutions in a clear and concise manner to nontechnical individuals within the business
Conducts relevant testing (the competencies here assume functional and non-functional testing is applicable)
14
- Performs testing agreed upon in plan and iterates that testing based on results
- Discerns between different types of testing (functional, regression, accessibility, usability, smoke system, etc.) and uses the appropriate test
- Conducts exploratory testing when applicable
- Conducts regression testing
- Conducts exploratory testing
- Assesses the state of quality at any given time and advocates for quality improvements
- Considers how product risk analysis may influence the thoroughness and scope of testing
- Varies tests design based on past successes, failures, and risk
- Reviews traceability matrix to ensure tests are mapped to the requirements
- Applies a review technique to a work product to find defects
- Conducts performance testing
- Assists in the selection and implementation process of testing tools
- Works with change management team to integrate QA tests into release pipelines, using tools such as Jenkins, ansible etc. (only applicable for automation)
- Develops automated tests and ensures they are working properly
Monitors software functionality and reports on defects; supports post-release testing and activities
8
- Creates defect and incident reports based on company protocols
- Participates in retrospectives (Agile) or post-release reviews as part of continuous improvement initiatives to improve testing over time
- Collaborates with support and development in troubleshooting and resolving identified production issues
- Adheres to company policies and methodologies for troubleshooting issues, identifying and replicating defects, and documenting and reporting changes
- Writes and communicates clear and understandable defect reports
- Remains up to date on emerging testing technologies and methodologies
- Researches and identifies remediations, collaborates with business analysts and developers to find solutions
- Monitors production release and responds to observability/application monitoring feedback
Related Instruction Content
Training Provider(s):
Business Communication
30
Sample learning objectives Demonstrate the ability to send and receive phone calls, emails, text messages, instant messages, and other forms of electronic communication Demonstrate the ability to compose emails, formal letters, memoranda and reports using appropriate format, spelling, capitalization, grammar, and punctuation Demonstrate the ability to provide detailed instructions verbally and in writing to explain how a particular process is done, how a product is made or to explain decision logic Describe effective strategies for engaging in active listening and assessing whether your message is understood by another party Demonstrate the ability to work as part of a team to create a report or complete a project Demonstrate effective strategies for managing conflict and maintaining calmness and composure under stressful conditions
Introduction to the Software Development Life Cycle
30
Sample learning objectives Define the key steps in the software development life cycle and explain the role of software testers in each of these steps Describe the most commonly used models for software development, such as Waterfall, Agile, Iterative, Rapid Application Development, Spiral, and Big Bang, and list the advantages and disadvantages of each Evaluate client task orders to determine which software development model will best meet specific client needs Explain what ISO/IED 12207 standards are and describe their role in improving software design and reliability Differentiate between high-level and low-level design Identify potential risks associated with each stage of the software development lifecycle that could reduce software capability, development costs or development timelines
Introduction to Software Development
30
Sample learning objectives Differentiate between system software, programming software, application software and embedded software and provide examples of languages and platforms used to create each Understand basic application computing and architectural concepts, such as layered architecture types versus Service Oriented Architectures (SOA), Microservice environments, and how they have evolved over time Understand consumer applications versus enterprise application environments Identify software tools used most to develop apps on Windows, Android, iOS, macOS, and Linux platforms; compare and contrast the advantages and disadvantages of each Describe the role of linkers, compilers, code editors, GUI designers, assemblers, debuggers, IDEs, static code analysis and code coverage tools, and performance analysis tools in developing software Compare and contrast commonly used software development tools such application lifecycle management (ALM), Integrated Development Environments (IDE), Source Code Management (SCM), Test Management, Application Performance Monitoring (APM), Test Automation, Static Analysis, and other application dev and delivery toolsets. Explain how software developers ascertain and document specifications for clients, end users, or other stakeholders, and standards that software must meet Discuss ways in which data can be transferred to new or updated software from existing applications or data sources Explain the purpose of relational versus nonrelational database technologies Describe the use of Relational Database Management Systems in creating database objects and tables, and demonstrate the ability to create a basic database in MySQL, SQL Server, MS Access, Oracle, Sybase, Informix, Postgres or other database system
Introduction to Cloud-Based Computing
30
Sample learning objectives Explain the fundamentals of cloud computing and describe the challenges clients may face when transitioning to the cloud environment Differentiate between Amazon (AWS), Azure, Microsoft 365 and Google Cloud Platform services, explaining the optimal uses and challenges associated with each Describe the different forms of cloud computing, such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS), and serverless Explain the ways in which cloud computing services can be used to support web, app, database, mobile, analytics, networking, blockchain, development, and security services
Programming Languages
50
Sample learning objectives Describe the uses and functionalities of various programming languages, such as Python, Java, JavaScript, Golang, C#, C++, R, Swift, Kotlin, Ruby, etc. Describe the use of JavaScript in web programming and demonstrate the ability to write basic code in JavaScript
Introduction to Software Testing
50
Sample learning objectives State the purpose of software testing and its importance in the software development lifecycle. Provide examples of software defects that have had catastrophic effects on human health and safety, led to costly recalls and reputational damage, or resulted in major scientific or production setbacks Explain the importance of domain knowledge in the software development process and describe strategies for gaining sufficient domain knowledge to guide software development and testing Compare and contrast automated versus manual testing Produce actionable and thorough documentation when bugs are identified, with relevant information for getting them fixed Understand the role of bias and critical thinking in finding defects and failures in software Describe why we design different tests like boundary value analysis, equivalence class partitioning or pairwise testing Explain Agile testing and modern testing approaches and how they differ from traditional methods Develop plans for testing software applications of different types and complexity and discuss the controls that will be used to ensure appropriate execution of test plans Develop strategies for analyzing the design, resilience, and usability of software as part of the software test plan Conduct software testing for different types of software and applications, maintaining proper records of the test protocol and results Demonstrate the ability to establish and follow exit criteria, to produce summary documents of test results, and to communicate those results to others orally and in writing To provide timely and useful input, describe the appropriate processes for working with software development teams based on the software development protocol being used Identify the appropriate software testing libraries (packages) to use when automating test at individual phases across the software testing life cycle and justifies why and when to use them (Cucumber, JUnit, WebDriver, Cypress, Maven, etc.)
Introduction to Agile Testing and Modern Testing
30
Sample learning objectives Describe the popular models of Agile testing and explain the pros and cons of each Explain the challenges and disadvantages of using traditional waterfall testing method for testing (requirement, design, implementation, verification, and maintenance) Explain the V model of software engineering and testing and the benefits of starting testing at the beginning of programming and designing Describe the W model of software engineering flow and testing and explain its advantages and disadvantages List and describe the principles of Agile testing Explain the stages of the Agile testing lifecycle and the benefits of continuous testing over more traditional models of testing Describe various agile testing strategies and methodologies, explaining the advantages and disadvantages of each (i.e., test-driven development, behavior driven development, exploratory testing, extreme programming, session-based testing) Define Agile testing quadrants and explain how they are used to improve product development and function Explain the purpose of an Agile manifesto and demonstrate the ability to create/use such a manifesto Explain the importance of scrums and demonstrate the ability to form and participate in effective scrums Demonstrate the ability to develop an appropriate impact assessment goal Demonstrate the ability to develop an Agile test planning protocol Define the term “release readiness” and explain its importance to the Agile testing model Define and demonstrate the ability to perform a test agility review Participate in a team engaged in Agile testing as part of a customer-driven product design
Exploratory Testing
20
Sample learning objectives Describe the role of exploratory testing when specific customer or performance requirements are not available Explain benefits of exploratory testing when early iteration is required Differentiate between and demonstrate the ability to perform unit, integration, and system testing Demonstrate the ability to explore an existing application and document findings and recommendations for improvements Differentiate between freestyle, strategy-based, and scenario-based exploratory testing Explain the use of various testing techniques in performing strategy-based exploratory testing (i.e., risk-based analysis, boundary value analysis) Describe the advantages and disadvantages of exploratory testing Demonstrate the ability to perform and document exploratory testing of an existing application, using each of the three testing techniques listed above Explain how to differentiate between a defect or bug and a feature of an application