Testing and Quality Assurance Flashcards
What is Testing in Software Development?
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.
What is Quality Assurance (QA)?
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.
Why is Testing important in Software Development?
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.
What is the difference between Testing and Quality Assurance?
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.
What are the types of Testing?
- Unit Testing 2. Integration Testing 3. System Testing 4. Acceptance Testing 5. Regression Testing 6. Performance Testing 7. Security Testing 8. Usability Testing
What is Unit Testing?
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.
What is Integration Testing?
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.
What is System Testing?
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.
What is Acceptance Testing?
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.
What is Regression Testing?
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.
What is Performance Testing?
Performance testing evaluates how well the software performs under certain conditions, such as load, stress, and scalability tests, to ensure it meets performance requirements.
What is Security Testing?
Security testing identifies vulnerabilities in the software and verifies that it is secure from unauthorized access, data breaches, and other security threats.
What is Usability Testing?
Usability testing evaluates how user-friendly, intuitive, and easy the software is to use. It focuses on the user experience and overall satisfaction.
What is Manual Testing?
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.
What is Automated Testing?
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.
What is Test-Driven Development (TDD)?
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.
What is Continuous Integration (CI) in Testing?
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.
What is Continuous Testing (CT)?
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.
What is the Waterfall Model in Testing?
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.
What is the Agile Model in Testing?
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.
What is the V-Model in Testing?
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.
What is Smoke Testing?
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.
What is Sanity Testing?
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.
What is Black Box Testing?
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.