1/25
Key Terms needed for QA understanding
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Software Testing
It is the process of evaluating software products or applications and verifying that they function the way they’re supposed to.
How do you test software?
Testing is done by creating test cases, executing them, and verifying that the actual results match the expected results.
Test cases are based on requirements that outline steps, inputs, and the expected outcomes. They can be executed manually or automated depending on the test strategy.
QA Tester
A QA Tester tests the application’s functionality, performance and security through the software testing lifecycle, making sure it is bug free before being released the the end users.
QA Tester Responsibilities
Review and analyze the requirements of the system
Collaborate with QA developers and engineers to design effective test strategies
Develop and execute test cases and analyze results
Document test phases, results, and defects in detailed logs
Report bugs and inconsistencies to the development team
Assist with troubleshooting and root cause analysis of issues
Perform post-implementation testing to ensure stability
Work with cross-functional teams to maintain quality throughout the software development lifecycle (SDLC)
Quality Assurance
Is the process of ensuring that a software program or application meets the quality standards by focusing on preventing defects during development instead of just detecting them after release.
What Does Quality Assurance Involve?
It involves the testing of the software or application’s functionality, performance, and security throughout the Software Development Life Cycle (SDLC).
Software Testing Benefits
Cost Effective: catching bugs in earlier stages of testing saves money in the long run
Product Quality: testing ensures a high quality product is delivered to customers
Security: people want products they can trust; money///personal information
Customer Satisfaction: great user experience
Software Bug
It is a flaw or error in the program that causes it to behave incorrectly
This is due to a coding error in the program
Program Manager (PM)
A PM manages the project and prepares the project plan
Business Analyst (BA)
The BA gathers and collects all of the information about the software the company is building.
Product Manager / Subject Matter Expert (SME)
A SME knows everything about how the software should work
Developer/Programmer
The developer is responsible for developing the software by writing it in computer code
QA Automation Engineer
This person automates the testing process using tools such as Selenium or Katalon
QA Lead
The QA Lead establishes metrics, mentors team members and manages outside resources, as well as developing test programs.
They may also develop and execute test cases, scripts, and procedures (manual and automated)
QA Manager
The QA Manager oversees the activity of the QA department and staff
They develop, implement and maintain a system of quality and reliability testing for the organizations products and/or development process
UAT Tester (User Acceptance Testing)
They are the final testers of a new product
Is someone who tests software from the end user’s point of view, making sure it meets the business requirements and is ready for release
Also known as beta testing or end-user testing
Scrum Master
The Scrum Master is responsible for ensuring that the team lives agile values and follows the processes and practices that the team agreed they would use
Scrum Master Responsibilities
Facilitate Scrum Events:
Daily stand-ups aka daily scrum aka scrum meeting
Spring planning
Spring Reviews
Coaches The Team on Agile principles and Scrum practices
Protects The team from outside distractions and interruptions
Removes Blockers that slow down the team:
technical, organizational, or communication related
Acts As A Bridge between the product owner, development team, and other stakeholders
Requirements
Are detailed descriptions of what a software system must do or the conditions it must meet
They act as a guide for the developers, testers, and stakeholders
Help ensure everyone agrees on what the final product should deliver
Business Requirements
FOCUS: WHY THE SYSTEM IS NEEDED
These requirements outline the high'-level needs and goals of the organization that the project or software system must fulfill.
They focus on the outcomes and not the technical details
Serve as the foundation for all other types of requirements (user, functional, etc.)
These are usually defined by the stakeholders, product owners, or business analysts
Examples:
“Enable customers to purchase products online to increase sales revene.”
Automate invoice generation to decrease manual processing errors.”
“Reduce customer service response time by implementing a chatbot.”
User Requirements
FOCUS: WHAT USERS NEED
Describe what the end user needs the system to do in order to achieve their goals
These requirements focus on how the user will interact with the software and what functions or features must be available to support the experience
Describe tasks, goals, or actions the user wants to perform
Example: “User should be able to view purchase history.”
System Requirements
FOCUS: WHAT THE SYSTEM MUST DO AND HOW IT NEEDS TO PERFORM
Example: “Must store transaction history for 1 year.”
Functional Requirements
Describe WHAT the system should do and the features needed by the software
Example: “The system must send a confirmation email after an order is placed.”
Non-Functional Requirements
Describe HOW the system should perform
Example: “The system must handle 1,000 users concurrently.”
Use Case
Is a description of the ways a user interacts with a system or product
User Story
Is a short, simple description of a feature or need from the user’s perspective
User Story Format:
“As a [type of user], I want to [do something] so that [goal/reason].”