Computer Knowledge

Software Testing and Quality Control

2,598 Questions

Software testing and quality control questions cover testing methodologies, unit testing, and defect management. These concepts are crucial for the computer knowledge sections of competitive exams. Practice these questions to understand verification and validation processes thoroughly.

Quality control typesUnit testing purposeSoftware vulnerability testingTest planning tasksLoop testing criteriaTest harness functions

Software Testing and Quality Control Questions

Multiple choice technology
  1. Testing performed to expose faults in the interfaces and in the interaction between integrated components.

  2. Testing to verify that a component is ready for integration.

  3. Testing to verify that the test environment can be integrated with the product

  4. Integration of automated software test suites with the product.

Reveal answer Fill a bubble to check yourself
A Correct answer
Explanation

To answer this question, the user needs to know the definition of integration testing. Integration testing is a type of testing that verifies the interactions between different components of a system after they have been integrated.

Now, let's go through each option and explain why it is right or wrong:

A. Testing performed to expose faults in the interfaces and in the interaction between integrated components. This option is correct. Integration testing is performed to identify defects in the interfaces and interactions between integrated components.

B. Testing to verify that a component is ready for integration. This option is incorrect. This is not the purpose of integration testing. This type of testing is done before integration testing to ensure that individual components are functioning appropriately.

C. Testing to verify that the test environment can be integrated with the product. This option is incorrect. Integration testing is not concerned with testing the environment, but rather the interactions between different components.

D. Integration of automated software test suites with the product. This option is incorrect. This is not the purpose of integration testing. Automated testing is a separate process from integration testing.

The Answer is: A

Multiple choice technology
  1. Inspection is a form of functional testing.

  2. Functional testing is more powerful than static testing as you actually run the system and see what happens.

  3. Structural testing is more important than functional testing as it addresses the code.

  4. Functional testing is useful throughout the life cycle and can be applied by business analysts, testers, developers and users.

Reveal answer Fill a bubble to check yourself
D Correct answer
Explanation

The correct answer is D because functional testing indeed applies throughout the software development lifecycle and can be performed by various roles including business analysts, testers, developers, and end users. Option A is incorrect because inspection is a static testing technique, not functional testing. Option B is incorrect because functional and static testing serve different purposes - one isn't 'more powerful' than the other. Option C is incorrect because structural and functional testing complement each other - neither is inherently more important.

Multiple choice technology
  1. Test management and control

  2. Test specification and design

  3. Test execution and logging

  4. Performance and monitoring

Reveal answer Fill a bubble to check yourself
B Correct answer
Explanation

To answer this question, the user needs to know what test data preparation tools are and what activities are involved in software testing.

Test data preparation tools are used to generate test data and test cases automatically or semi-automatically. These tools help testers save time and effort in creating test data for software testing.

Now, let's go through each option and explain why it is right or wrong:

A. Test management and control: Test data preparation tools do not support test management and control activities. These activities are focused on planning, monitoring, and controlling the testing process.

B. Test specification and design: This option is correct. Test data preparation tools support test specification and design activities. These tools can generate test data based on predefined test scenarios and parameters.

C. Test execution and logging: Test data preparation tools do not support test execution and logging activities. These activities are related to running and recording the results of test cases.

D. Performance and monitoring: Test data preparation tools do not support performance and monitoring activities. These activities are focused on measuring the performance of the software and monitoring its behavior under different conditions.

Therefore, the correct answer is:

The Answer is: B. Test specification and design

Multiple choice technology
  1. Is only run once.

  2. Will always be automated.

  3. Will check unchanged areas of the software to see if they have been affected.

  4. Will check changed areas of the software to see if they have been affected.

Reveal answer Fill a bubble to check yourself
C Correct answer
Explanation

The correct answer is C because regression testing specifically checks that unchanged parts of the software still work correctly after changes have been made elsewhere. This is the definition of regression testing - detecting unintended side effects. Option A is incorrect because regression tests run repeatedly, not just once. Option B is incorrect because regression tests can be manual or automated. Option D describes confirmation testing of changes, not regression testing.

Multiple choice technology
  1. a. Test principles only affect the preparation for testing.

  2. b. Test principles only affect test execution activities.

  3. c. Test principles affect the early test activities such as review.

  4. d. Test principles affect activities throughout the test life cycle.

Reveal answer Fill a bubble to check yourself
D Correct answer
Explanation

The correct answer is D because testing principles (like early testing, defect clustering, pesticide paradox, etc.) apply to all testing activities throughout the entire software development lifecycle, from planning and design to execution and evaluation. Options A, B, and C are all incorrect because they attempt to limit the scope of test principles to specific phases, when in reality principles guide testing at every stage.

Multiple choice technology testing
  1. Boundary value analysis

  2. Usability testing

  3. Performance testing

  4. Security testing

Reveal answer Fill a bubble to check yourself
A Correct answer
Explanation

Boundary value analysis is a functional testing technique that tests values at the boundaries of input domains (e.g., minimum, maximum, just below/above boundaries). It focuses on the functional behavior at edge cases. Usability, performance, and security testing are non-functional testing types.

Multiple choice technology web technology
  1. measuring response times

  2. recovery testing

  3. simulating many users

  4. generating many transactions

Reveal answer Fill a bubble to check yourself
B Correct answer
Explanation

Recovery testing checks a system's ability to recover from crashes or failures, which is fundamentally different from performance testing that measures speed, responsiveness, and stability under load. Performance testing includes measuring response times (A), simulating many users (C), and generating transactions (D) to assess system behavior.

Multiple choice technology testing
  1. ISO/IEC 12207

  2. BS 7925-1

  3. ANSI/IEEE 829

  4. ANSI/IEEE 729

Reveal answer Fill a bubble to check yourself
B Correct answer
Explanation

BS 7925-1 is specifically titled 'Vocabulary of Terms in Software Testing' and provides standardized definitions. ISO/IEC 12207 covers software life cycle processes, not testing terminology. ANSI/IEEE 829 defines test documentation formats, and ANSI/IEEE 729 is not a real testing standard.

Multiple choice technology testing
  1. Lack of technical documentation

  2. Lack of test tools on the market for developers

  3. Lack of training

  4. Lack of Objectivity

Reveal answer Fill a bubble to check yourself
D Correct answer
Explanation

Developers struggle to test their own code primarily because they lack objectivity; they built the code, assume it works, and subconsciously avoid test paths they know are buggy. Technical documentation (A), test tools (B), and training (C) can help but are not the core psychological barrier. Testing independence is a fundamental principle.

Multiple choice technology testing
  1. i, iii & iv are true; ii & v are false

  2. iii & iv are true; i, ii & v are false

  3. i, iii, iv & v are true; ii is false

  4. i & ii are true; iii, iv & v are false

Reveal answer Fill a bubble to check yourself
A Correct answer
Explanation

Early test design prevents fault multiplication (i true), can find faults (iii true), and can trigger requirement changes (iv true). Faults found early are LESS expensive to fix, not more (ii false). Early design saves effort overall by preventing late rework, it does not take more effort (v false).

Multiple choice technology testing
  1. syntax testing

  2. equivalence partitioning

  3. stress testing

  4. modified condition/decision coverage

Reveal answer Fill a bubble to check yourself
C Correct answer
Explanation

Unit testing standards focus on testing individual units/programs using techniques like syntax testing, equivalence partitioning, and coverage criteria (modified condition/decision coverage). Stress testing is a system-level performance test that evaluates system behavior under extreme load, not a unit-level technique.

Multiple choice technology testing
  1. Error condition hiding another error condition

  2. Creating a test case which does not reveal a fault

  3. Masking a fault by developer

  4. a fault by a tester

Reveal answer Fill a bubble to check yourself
A Correct answer
Explanation

Fault masking occurs when one error condition prevents detection of another error, for example, a bug in exception handling code that masks the original exception, or incorrect error handling that hides the true failure. Option A directly defines this. Creating ineffective tests (B) or hiding faults intentionally (C) are different concepts.