QA Engineer/SDET Roadmap
Roadmap for a QA Engineer
Here’s a compilation of topics that, in my view, are crucial for your journey to becoming a successful QA Engineer or Software Developer In Test (SDET).
Topics
- Quality Management
- Agile & scrum
- Automation testing
- Continuous Integration (CI) and Continuous Deployment (CD)
- Databases
You might want to take a look at the roadmap provided by roadmap.sh for a broader perspective.
Quality Management ↩︎
Quality Management includes all activities that direct and control an organization with regard to quality. It includes Quality Assurance and Quality Control.
What is software testing?
Software testing is a process of executing a program or application with the intent of finding the software bugs.
Quality Assurance & Quality Control
Quality Assurance (QA)
- Preventive Approach: QA focuses on preventing defects or errors before they occur. It’s a proactive approach aimed at ensuring that processes are designed and implemented correctly from the beginning.
- Process-Oriented: QA is concerned with the entire process of product or service development. It involves establishing standards, procedures, and guidelines to ensure that the processes meet the required quality levels.
- Continuous Improvement: QA involves continuous monitoring and evaluation of processes to identify areas for improvement. It emphasizes the need for ongoing training, process refinement, and adaptation to changes.
- Responsibility: QA is a collective responsibility involving everyone in the organization. It’s not limited to a specific department but involves all stakeholders.
Quality Control (QC)
- Detective Approach: QC focuses on identifying defects or errors in the final product or service. It’s a reactive approach aimed at detecting and correcting deviations from quality standards.
- Product-Oriented: QC is concerned with the inspection and testing of the final product or service to ensure that it meets the specified quality requirements.
- Sampling and Testing: QC involves sampling techniques and testing methodologies to verify product quality. It often includes statistical analysis to determine the acceptability of a product batch.
- Responsibility: QC is typically the responsibility of a specialized department or team within the organization, such as a quality control department or team.
Verification & Validation
Verification
- Process-Oriented: Verification ensures that the product being developed conforms to its specifications and meets the predefined requirements. It focuses on assessing whether the product is being built correctly.
- Activities: Verification activities typically include reviews, inspections, walkthroughs, and testing at various stages of product development. These activities ensure that each stage of the development process is meeting its intended goals and adhering to requirements.
- Objective: The objective of verification is to confirm that the product is being developed according to the planned activities and processes. It aims to identify and address defects early in the development lifecycle.
Validation
- Product-Oriented: Validation ensures that the final product or system meets the customer’s needs and intended use. It focuses on assessing whether the right product is being built.
- Activities: Validation activities typically involve user acceptance testing (UAT), customer demos, and other techniques to confirm that the product satisfies the user’s requirements and expectations. It involves testing the product under real-world conditions to ensure its effectiveness and usability.
- Objective: The objective of validation is to ensure that the final product meets the customer’s needs, expectations, and intended use. It aims to confirm that the product fulfills its intended purpose in the real world.
Static testing & Dynamic testing
Dynamic testing: Testing that does involve execution of the component or system being tested.
Static testing: Testing that does not involve the execution of the component or system being tested. It can test and find defects without executing code. Static Testing is done during the verification process. This testing includes reviewing of the documents (including source code) and static analysis. This is a useful and cost-effective way of testing. For example: reviewing, walkthrough, inspection, etc.
7 testing principles
TBD
Typical objectives of testing
TBD
Testing vs debugging
TBD
Testing types and techniques
Error, defect, and failure
A person can make an error(mistake).
An error can lead to the introduction of a defect (fault or bug).
If a defect in the code is executed, this may cause a failure, but not necessarily in all circumstances. For example, some defects require very specific inputs or preconditions to trigger a failure, which may occur rarely or never.
Bug report & bug life cycle
TBD
Priority and severity
TBD
Test process
TBD
Software development lifecycle & models
TBD
Testing throughout the testing lifecycle
TBD
Software Testing levels
TBD
Test Documents
TBD