Testing and Quality Assurance Flashcards

1
Q

What is Testing in Software Development?

A

Testing is the process of evaluating and verifying that a software application or system works as intended. It helps identify defects and ensure that the product meets the desired quality standards.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is Quality Assurance (QA)?

A

Quality Assurance (QA) is a systematic process designed to ensure that the software being developed meets the required quality standards. It involves testing, process improvements, and ensuring adherence to standards.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Why is Testing important in Software Development?

A

Testing is crucial because it helps identify bugs, verify functionality, ensure quality, and prevent defects in production. It reduces the risk of failure, enhances user experience, and ensures that the software meets specifications.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the difference between Testing and Quality Assurance?

A

Testing focuses on identifying bugs and verifying the software’s functionality. QA, on the other hand, involves ensuring that the development process and standards are followed to achieve the desired level of quality in the final product.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the types of Testing?

A
  1. Unit Testing 2. Integration Testing 3. System Testing 4. Acceptance Testing 5. Regression Testing 6. Performance Testing 7. Security Testing 8. Usability Testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is Unit Testing?

A

Unit testing is the process of testing individual units or components of the software, typically performed by developers to ensure that each part functions correctly in isolation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is Integration Testing?

A

Integration testing is performed to verify that different modules or components of the software work together correctly, ensuring that the interactions between them function as expected.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is System Testing?

A

System testing involves testing the entire software system as a whole to verify that all components and functionalities work together as intended. It checks for overall system behavior.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is Acceptance Testing?

A

Acceptance testing is performed to ensure that the software meets the business requirements and is ready for deployment. It is typically performed by the end-users or QA team.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is Regression Testing?

A

Regression testing involves re-running previously executed test cases to ensure that new code changes haven’t introduced any new issues or broken existing functionality.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is Performance Testing?

A

Performance testing evaluates how well the software performs under certain conditions, such as load, stress, and scalability tests, to ensure it meets performance requirements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is Security Testing?

A

Security testing identifies vulnerabilities in the software and verifies that it is secure from unauthorized access, data breaches, and other security threats.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is Usability Testing?

A

Usability testing evaluates how user-friendly, intuitive, and easy the software is to use. It focuses on the user experience and overall satisfaction.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is Manual Testing?

A

Manual testing involves human testers executing test cases without using automation tools. It relies on the tester’s understanding of requirements and attention to detail.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is Automated Testing?

A

Automated testing uses specialized tools and scripts to automatically execute test cases, providing faster and more reliable testing compared to manual testing, especially for repetitive tasks.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is Test-Driven Development (TDD)?

A

Test-Driven Development (TDD) is a software development approach where tests are written before the code itself. Developers write failing tests, then develop code to make the tests pass.

17
Q

What is Continuous Integration (CI) in Testing?

A

Continuous Integration (CI) is a software development practice where code changes are automatically tested and integrated into the main codebase frequently, ensuring that the software is always in a working state.

18
Q

What is Continuous Testing (CT)?

A

Continuous Testing is the practice of testing software continuously throughout the development lifecycle, ensuring that code changes are consistently verified and that quality is maintained.

19
Q

What is the Waterfall Model in Testing?

A

In the Waterfall model, testing is performed after the development phase. Once the development of the software is complete, testing is conducted in a separate phase.

20
Q

What is the Agile Model in Testing?

A

In Agile development, testing is performed iteratively and continuously throughout the development process. It involves close collaboration between developers and testers to ensure quality at every stage.

21
Q

What is the V-Model in Testing?

A

The V-Model is an extension of the Waterfall model, where testing is planned in parallel with each development phase. For every stage of development, there is a corresponding testing phase.

22
Q

What is Smoke Testing?

A

Smoke testing is a preliminary testing process that checks the basic functionality of the software to determine if it is stable enough for more detailed testing.

23
Q

What is Sanity Testing?

A

Sanity testing is a subset of regression testing that ensures specific functionality or bug fixes work as intended after changes are made to the software.

24
Q

What is Black Box Testing?

A

Black box testing is a testing technique where the tester does not have knowledge of the internal workings of the software and tests it based solely on the input and output.

25
What is White Box Testing?
White box testing is a testing technique where the tester has knowledge of the internal logic of the system and tests its internal structures, including the code, paths, and branches.
26
What is Alpha Testing?
Alpha testing is the first phase of testing conducted by the internal development team to identify bugs before releasing the software to external users.
27
What is Beta Testing?
Beta testing is performed by a select group of external users to identify defects before the final release. It helps ensure the software is ready for widespread use.
28
What is a Bug in Software Testing?
A bug is a defect or error in the software that causes it to behave incorrectly or produce unintended results. Bugs are identified during the testing phase and need to be resolved before release.
29
What are the key advantages of Testing?
1. Identifies defects early in development. 2. Improves software quality and reliability. 3. Ensures software meets user requirements. 4. Enhances customer satisfaction. 5. Reduces development costs by preventing post-release fixes.
30
What are the key challenges in Software Testing?
1. Time and resource constraints. 2. Incomplete or unclear requirements. 3. Complex test environments. 4. Handling rapidly changing code. 5. High volume of test cases and data.
31
What is the role of QA in Software Development?
Quality Assurance (QA) ensures that software is developed according to standards, practices, and requirements. It focuses on improving development processes, preventing defects, and delivering a product that meets user expectations.
32
What is the difference between Unit Testing and Integration Testing?
Unit testing focuses on testing individual components or functions of the software in isolation, while integration testing focuses on verifying that different components or modules work together as expected. Unit testing is generally easier to automate and run faster, whereas integration testing ensures that the interactions between components function correctly in a combined environment.