Lesson 1: Introduction to Quality Assurance

studied byStudied by 0 people
0.0(0)
learn
LearnA personalized and smart learning plan
exam
Practice TestTake a test on your terms and definitions
spaced repetition
Spaced RepetitionScientifically backed study method
heart puzzle
Matching GameHow quick can you match all your cards?
flashcards
FlashcardsStudy terms and definitions

1 / 21

flashcard set

Earn XP

Description and Tags

Understanding QA, QC, and Testing in Software Development

22 Terms

1

Quality Assurance (QA)

Refers to the systematic activities implemented within the quality system to provide confidence that a product or service will meet quality requirements

New cards
2

Quality Assurance (QA)

Prevent defects by focusing on the processes used to make a product.

New cards
3

Quality Assurance (QA)

Ensures a high level of quality for software applications.

New cards
4

Quality Control (QC)

Involves inspecting and testing products to identify defects after the product is developed.

New cards
5

Quality Control (QC)

Detect defects by examining the final product.

New cards
6

Quality Control (QC)

Ensures that the product meets the required standards and specifications.

New cards
7

Testing

Is the process of executing a system to identify bugs, defects, or errors.

New cards
8

Testing

Evaluate the quality of the product by finding issues.

New cards
9

Common Types of Testing

  • Unit Testing

  • Integration Testing

  • System Testing

  • Acceptance Testing

New cards
10

Unit Testing

This is the lowest level of testing, focusing on individual components or functions of the software. Developers typically perform unit testing to ensure that each piece of code works correctly in isolation.

New cards
11

Integration Testing

This level tests the interaction between integrated components or modules. It ensures that different parts of the software work together as expected and that data flows correctly between them.

New cards
12

System Testing

This is a comprehensive evaluation of the entire software system to verify that it meets the specified requirements. It tests the complete, integrated application to assess overall functionality and performance.

New cards
13

Acceptance Testing

The final level of testing, performed to validate whether the software meets business requirements and is ready for deployment. It is usually conducted by end-users or clients to determine if the software is acceptable for release.

New cards
14

QA vs. QC vs. Testing

  • QA: Process-oriented, focuses on preventing defects.

  • QC: Product-oriented, focuses on identifying defects.

  • Testing: Execution-oriented, focuses on finding and fixing defects.

New cards
15

The Role of QA in the Software Development Lifecycle (SDLC)

  • Planning: Establish quality standards and processes.

  • Design: Review design specifications for quality.

  • Development: Ensure coding practices meet quality guidelines.

  • Testing: Validate that the product meets requirements.

  • Deployment: Verify that the software is ready for release.

New cards
16

QA Methodologies

  • Waterfall Model

  • Agile Model

  • V-Model

New cards
17

Waterfall Model

Linear sequential process.

  • Usage: Ideal for projects like government contracts where requirements are fixed upfront.

New cards
18

Agile Model

Iterative and incremental process.

  • Usage: Ideal for projects requiring flexibility and ongoing changes, such as software startups or app development.

New cards
19

V-Model

Validation and verification.

  • Usage: Ideal for projects where testing is critical, such as medical devices or safety-critical applications.

New cards
20

QA Best Practices

  1. Implement clear QA processes and guidelines.

  2. Conduct regular code reviews.

  3. Encourage team collaboration.

  4. Implement automation testing.

  5. Track and measure defects.

New cards
21

Tools Used in QA

  • Test Management Tools: JIRA, TestRail

  • Automation Tools: Selenium, Cypress

  • Bug Tracking Tools: Bugzilla, Mantis

New cards
22

Benefits of QA

  • Improved software quality.

  • Reduced rework and costs.

  • Increased customer satisfaction.

  • More efficient development processes.

New cards
robot