Computer Knowledge

Software Testing and Quality Control

2,292 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 testing
  1. The system shall be user friendly.

  2. The safety-critical parts of the system shall contain 0 faults.

  3. The response time shall be less than one second for the specified design load.

  4. The system shall be built to be portable.

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

C is correct because it specifies a measurable criterion (response time < 1 second) under defined conditions (specified design load), making it verifiable through testing. A is untestable because 'user friendly' is subjective without quantified metrics. B is untestable because proving zero faults is impossible - you can only demonstrate the absence of known faults. D is untestable because 'portable' is not defined with specific platforms or measurable criteria.

Multiple choice technology testing
  1. find as many faults as possible.

  2. obtain good test coverage

  3. test whatever is easiest to test.

  4. test high risk areas

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

D is correct because testing high-risk areas first maximizes the value of testing effort - failures in critical functionality cause the most damage. A is suboptimal because finding many trivial faults is less valuable than finding critical ones. B is incomplete - coverage is meaningless if it doesn't target risk. C is wrong because ease of testing has no correlation with business impact or technical risk.

Multiple choice technology testing
  1. System tests are often performed by independent teams.

  2. Functional testing is used more than structural testing.

  3. Faults found during system tests can be very expensive to fix

  4. End-users should be involved in system tests.

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

The statement that is NOT true is D. While end-users are involved in User Acceptance Testing (UAT), system testing itself is typically performed by independent test teams, not end-users. System testing focuses on verifying the system against specifications, while UAT focuses on business fitness. Options A, B, and C are all true: system tests use independent teams, functional (black-box) testing is more common than structural (white-box) testing at this level, and faults found later are indeed expensive to fix.

Multiple choice technology testing
  1. time runs out.

  2. the required level of confidence has been achieved.

  3. no more faults are found.

  4. the users won’t find any serious faults.

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

Testing is complete when the required level of confidence has been achieved (option B). This is the ISTQB principle: you test enough to meet the quality criteria and risk assessment. Option A (time runs out) is pragmatic but not ideal. Option C is impossible - you can never find all faults. Option D is unrealistic - users will always find some faults. The key is testing sufficiently to meet quality standards within constraints.

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

Stress testing (option C) is not described in unit test standards. Unit testing focuses on individual components and their logic. Syntax testing (A) can apply to code parsing, equivalence partitioning (B) is a black-box technique applicable at unit level, and modified condition/decision coverage (D) is a white-box coverage metric used in unit testing. Stress testing is a system-level non-functional testing technique that tests system behavior under heavy load, not individual units.

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 (option A) is a functional testing technique. It's a black-box test design technique that checks behavior at input/output boundaries. Options B, C, and D are non-functional testing types: usability testing focuses on user experience, performance testing checks speed/scalability, and security testing verifies protection against threats. Functional testing examines 'what' the system does, while non-functional testing examines 'how' the system works.

Multiple choice technology testing
  1. Statement testing

  2. Path testing

  3. Data flow testing

  4. State transition testing

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

State transition testing (option D) is NOT a white box technique - it's a black-box technique that tests system states and transitions without looking at internal code. Options A, B, and C are all white-box techniques: statement testing checks executable statements, path testing analyzes execution paths through code, and data flow testing tracks variable usage. White box techniques require code visibility, while state transition testing only requires knowledge of system states.

Multiple choice technology testing
  1. User requirements

  2. Actual results

  3. Program specification

  4. System specification

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

User requirements (option A) are the best source for expected outcomes in UAT scripts because UAT validates that the system meets business needs from the user's perspective. Actual results (B) are what happens during testing, not what should happen. Program specification (C) and system specification (D) are technical documents that describe implementation, not business requirements. UAT focuses on 'does this solve the user's problem?' not 'does this match the spec?'

Multiple choice technology testing
  1. tests the individual components that have been developed.

  2. tests interactions between modules or subsystems

  3. only uses components that form part of the live system.

  4. tests interfaces to other systems.

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

Integration testing in the small tests interactions between modules or subsystems (option B). It focuses on interfaces between components after unit testing is complete. Option A describes unit testing, not integration. Option C is incorrect - test components (stubs, drivers) are used, not just live components. Option D describes integration testing in the large (system integration with external systems). 'In the small' means within the application boundary.

Multiple choice technology testing
  1. updating tests when the software has changed

  2. testing a released system that has been changed

  3. testing by users to ensure that the system meets a business need

  4. testing to maintain business advantage

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

Maintenance testing specifically tests a system after changes have been made to it. It triggers when operational systems are modified - patches, updates, configuration changes - to verify functionality is preserved. It is NOT about updating test cases, user acceptance testing, or competitive advantage. The key is testing an already-released system that has been modified.

Multiple choice technology testing
  1. ) It is easier to manage testing in stages

  2. We can run different tests in different environments

  3. Each test stage has a different purpose.

  4. The more stages we have, the better the testing.

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

Testing is split into stages because each stage serves a distinct purpose: unit testing verifies individual components, integration testing checks interfaces, system testing validates the complete system, and UAT confirms business requirements. This is NOT about manageability, different environments, or maximizing stage count. The different purposes (component-level vs system-level vs user-level) are fundamental.

Multiple choice technology testing
  1. can only be used in component, integration and system testing.

  2. supplements formal test design techniques.

  3. is only performed in user acceptance testing.

  4. is not repeatable and should not be used.

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

Error guessing supplements formal test design techniques by leveraging tester experience to find defects that formal techniques might miss. It can be used at any testing level where humans design tests, not just UAT. It is repeatable when documented as test cases based on guessed fault scenarios. Option B correctly captures its role as complementary to formal methods.

Multiple choice technology testing
  1. time runs out.

  2. no more faults are found.

  3. the users won’t find any serious faults.

  4. the required level of confidence has been achieved.

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

Testing is complete when the required level of confidence is achieved - this is the only valid completion criterion among the options. Time running out is a practical constraint, not a theoretical one. Finding no more faults is impossible to prove. Users not finding serious faults is a desired outcome but unverifiable beforehand. Confidence level is the professional standard for test completion.

Multiple choice technology testing
  1. Usability testing

  2. Performance testing

  3. Boundary value analysis

  4. Security testing

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

Boundary value analysis is a functional testing technique - it tests the functional behavior at input/output boundaries. Usability testing is non-functional (user experience). Performance testing is non-functional (system behavior under load). Security testing is non-functional (security attributes). While BVA is technically a test design technique, it designs functional tests of boundary conditions.

Multiple choice technology testing
  1. the analysis of batch programs.

  2. the analysis of program code

  3. the reviewing of test plans.

  4. the use of black box testing

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

Static analysis analyzes program code without executing it - examining source code for defects, vulnerabilities, and compliance issues. It does not analyze batch programs (that could be dynamic). It is not about reviewing test plans or using black box testing. Static analysis = examining code statically, as opposed to dynamic analysis which executes code.