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. Equivalence partition

  2. Decision tables

  3. Transaction Diagrams

  4. Decision Testing

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

Decision Testing is a white-box technique (also called branch testing), not a black-box technique. Black-box techniques include Equivalence Partitioning (A), Boundary Value Analysis, Decision Tables (B), State Transition Testing, and Use Case Testing. Transaction Diagrams (C) are not a standard black-box technique name but may refer to flow-based testing. Decision Testing examines internal code branches and requires knowledge of implementation.

Multiple choice technology testing
  1. Data validity testing.

  2. Data Integritity testing

  3. Performance related to data base.

  4. Testing of Procedure,triggers and functions.

  5. 1 & 2

  6. All the above

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

Database testing is comprehensive, covering data validity (correct values and formats), data integrity (relationships, constraints, and referential integrity), performance (optimization and indexing), and programmatic objects (procedures, triggers, and functions). All these aspects are essential for thorough database quality assurance.

Multiple choice technology testing
  1. Database Initialization

  2. Functional Testing

  3. Data Verification

  4. All the above

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

Database testing encompasses initialization (setting up test data and schema), functional testing (validating CRUD operations work correctly), and data verification (ensuring data accuracy and consistency). These tasks together form a complete database testing strategy from setup through validation.

Multiple choice technology testing
  1. True

  2. False

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

Data-driven testing enables running the same test with multiple input sets from external sources like data tables. This approach efficiently tests various scenarios by replacing parameters with different values from structured data sources.

Multiple choice technology testing
  1. 2

  2. 4

  3. 7

  4. 8

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

Data-driven testing is commonly categorized into four main types based on how data is sourced and structured: CSV/Excel-driven, XML/JSON-driven, Database-driven, and Keyword-driven. Other choices like 2, 7, or 8 are incorrect as they do not represent standard categorizations of automation testing frameworks.

Multiple choice technology testing
  1. Disaster testing

  2. System testing

  3. Smoke testing

  4. Regression testing

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

To answer this question, the user needs to know the different types of software testing.

The correct answer is:

C. Smoke testing

Explanation:

Smoke testing is a type of software testing that is used to check whether the most critical functions of a program are working correctly. The purpose of smoke testing is to determine whether the program is ready for additional testing. It is a quick and simple test that is performed before more comprehensive testing is done. The term "smoke testing" is derived from the idea of turning on a piece of hardware and seeing if it starts smoking. In software, smoke testing is used to determine whether the program will crash or fail catastrophically when run in its most basic configuration.

The other options are incorrect because:

A. Disaster testing: Disaster testing (also called "chaos testing" or "fault injection testing") is a type of software testing that involves creating controlled failures in order to see how well a system can withstand unexpected events.

B. System testing: System testing is a type of software testing that evaluates the functionality of a complete system. It is performed after integration testing and before acceptance testing.

D. Regression testing: Regression testing is a type of software testing that is used to verify that changes to a program have not introduced new bugs or broken existing functionality. It is typically performed after changes have been made to a program, to ensure that the changes did not have unintended consequences.

Multiple choice technology testing
  1. Preventing the defects by inspection

  2. Fixing the defects by debugging

  3. Adding known defects by seeding

  4. A process of fixing the defects by tester

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

Be bugging (or defect seeding) is a technique where known defects are intentionally added to software. This helps measure testing effectiveness by comparing the number of seeded defects found against the number actually present.

Multiple choice technology testing
  1. Narrow band Delphi

  2. Wide band Delphi

  3. Bespoke Delphi

  4. Robust Delphi

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

Wideband Delphi is a structured, consensus-based estimation technique that relies on a panel of experts. The experts provide estimates anonymously in multiple rounds until their estimates converge, making it the most prominent expert-based test estimation method.

Multiple choice technology testing
  1. Desk check

  2. Manual support testing

  3. Walkthrough

  4. Compiler based testing

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

To answer this question, the user needs to understand the concept of unit testing and the purpose of each testing technique.

Unit testing is a software testing technique that focuses on individual units or components of a software system. The goal of unit testing is to ensure that each component of the software system performs as expected. During unit testing, various techniques are employed to test the individual units of a software system.

Now, let's go through each option and determine whether it could be done during unit testing or not:

A. Desk check: This is a technique where a developer or tester reviews the code or a document to ensure that it meets the expected quality standards. Desk checking can be performed during unit testing to ensure that the code meets the expected quality standards.

B. Manual support testing: This is a type of testing where a tester manually tests a system to ensure that it meets the expected quality standards. Manual support testing is not performed during unit testing. Instead, it is typically performed during system testing or acceptance testing.

C. Walkthrough: This is a type of software review where a group of people gets together to review the code or a document to ensure that it meets the expected quality standards. Walkthroughs can be performed during unit testing to ensure that the code meets the expected quality standards.

D. Compiler-based testing: This is a type of testing where a compiler is used to check the syntax and semantics of the code. Compiler-based testing can be performed during unit testing to ensure that the code meets the expected quality standards.

Therefore, the correct answer is:

The Answer is: B

Multiple choice technology testing
  1. I, II&III

  2. II, III&IV

  3. I, II&IV

  4. I, III&IV

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

To answer this question, the user needs to understand the concepts of software verification and validation. Software verification is the process of evaluating a system or component to determine whether it meets the specified requirements. Software validation is the process of evaluating software during or at the end of the development process to determine whether it satisfies specified requirements.

Based on the given options, let's go through each statement and evaluate whether it is true or false:

I. It strives to ensure that quality is built into software.

This statement is true. Software verification and validation programs aim to ensure that software quality is built into the development process. By verifying that the software meets the specified requirements and validating that it satisfies the user's needs, software quality is ensured.

II. It provides management with insights into the state of a software project.

This statement is also true. Software verification and validation programs provide management with insights into the state of a software project. By evaluating the software, the program can provide feedback on the software's quality and progress.

III. It ensures that alpha, beta, and system tests are performed.

This statement is false. While software verification and validation programs may include alpha, beta, and system tests, they do not necessarily ensure that these tests are performed. Instead, the program focuses on evaluating the software to ensure that it meets the specified requirements.

IV. It is executed in parallel with software development activities.

This statement is true. Software verification and validation programs are executed in parallel with software development activities. By verifying and validating the software throughout the development process, quality can be built into the software.

Therefore, the correct answer is:

The Answer is: C. I, II&IV.

Multiple choice technology testing
  1. Test automater, web specialist, DBA, test lead

  2. Tester, test automater, web specialist, DBA

  3. Tester, test lead, test automater, DBA

  4. Tester, web specialist, test lead, test automater

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

Automating web application testing requires a database administrator (DBA) for database checks, a web specialist for browser compatibility, a test automator for writing automation scripts, and a tester for running and validating cases. A test lead is less hands-on for execution.

Multiple choice technology testing
  1. True

  2. False

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

To solve this question, the user needs to be familiar with software development and quality assurance practices.

The statement is FALSE.

Thorough testing can help reduce the number of defects in a program, but it is not possible to completely remove all defects. There are several reasons for this, including the complexity of software systems, the difficulty of testing all possible scenarios, and the fact that defects can be introduced at any stage of the software development lifecycle. Additionally, testing can only identify defects that are visible under the specific test conditions used, and defects may still exist in untested code paths or under different environments.

Therefore, it is important to have a comprehensive testing process, in addition to other quality assurance practices such as code reviews and continuous integration, to identify and address defects as early as possible in the software development lifecycle.

The answer is: B. False

Multiple choice technology testing
  1. True

  2. False

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

A software tester's primary goal is indeed to find defects as early as possible in the development lifecycle (when they're cheaper to fix) and ensure they get resolved before release. This is fundamental to software quality assurance. Testing validates that software meets requirements and is fit for purpose, which requires identifying and tracking bugs to resolution.