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. find as many faults as possible.

  2. test high risk areas.

  3. obtain good test coverage.

  4. test whatever is easiest to test.

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

Risk-based testing prioritizes testing high-risk areas because defects in these areas would have the greatest impact. While finding faults (A) is important, and good coverage (C) is desirable, prioritization specifically focuses on risk. Testing whatever is easiest (D) is poor practice and not true prioritization.

Multiple choice technology testing
  1. v-3,w-2,x-1,y-5,z-4

  2. v-2,w-5,x-1,y-4,z-3

  3. v-3,w-4,x-1,y-5,z-2

  4. v-2,w-1,x-4,y-3,z-5

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

This requires matching test management activities to their definitions. Test estimation calculates required resources (x=1). Test monitoring reports deviations from the plan (w=4). Test control reallocates resources when needed (v=3). Incident management tracks anomalous test results (y=5). Configuration management maintains records of test results (z=2). Option C correctly maps all five pairs.

Multiple choice technology testing
  1. is that there is some existing system against which test output may be checked.

  2. is that the tester can routinely identify the correct outcome of a test.

  3. is that the tester knows everything about the software under test.

  4. is that the tests are reviewed by experienced testers.

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

The oracle assumption is that there exists some mechanism (the oracle) by which the tester can determine the correct expected outcome of a test. This doesn't require an existing system (A), complete knowledge (C), or reviewer validation (D) - it simply assumes the tester can identify what the correct result should be, whether from specifications, requirements, or other sources.

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

White box techniques require knowledge of internal code structure. Statement, path, and data flow testing all examine code execution paths, branches, and data transformations. State transition testing focuses on system states and transitions based on external behavior, not code structure - it's a black box technique that can be done without seeing the code.

Multiple choice technology testing
  1. i, iii. and iv. are more for developers

  2. ii. and iv. are more for developers

  3. ii, iii. and iv. are more for developers

  4. ii. and iii. are more for developers

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

To answer this question, the user needs to know the purpose of each tool and who typically uses them.

i) Performance testing tools are primarily used by developers to evaluate the performance of their code or application under different conditions. These tools help developers identify and optimize performance bottlenecks.

ii) Coverage measurement tools are used to measure how much of the codebase is covered by automated tests. This information helps developers identify areas that need more testing and ensure that their code is thoroughly tested.

iii) Test comparators are tools that compare the expected output of a test to the actual output. These tools help developers identify errors in their code and ensure that the code is functioning as expected.

iv) Dynamic analysis tools are used to analyze running code and identify issues such as memory leaks, security vulnerabilities, and other runtime errors. These tools are often used by developers to improve the quality and security of their code.

v) Incident management tools are used to manage and track issues that arise in an application or software. While developers may use these tools to track issues related to their code, they are generally used by project managers, support teams, and other non-developer roles.

Based on the above information, we can conclude that:

A. i, iii. and iv. are more for developers - This is incorrect as option i is correct, but options iii and iv are not completely correct as test comparators and dynamic analysis tools are also used by testers and quality assurance teams.

B. ii. and iv. are more for developers - This is partially correct as coverage measurement tools and dynamic analysis tools are more commonly used by developers.

C. ii, iii. and iv. are more for developers - This is partially correct as coverage measurement tools, test comparators, and dynamic analysis tools are more commonly used by developers.

D. ii. and iii. are more for developers - This is partially correct as coverage measurement tools and test comparators are more commonly used by developers.

Therefore, the correct answer is:

The Answer is: B. ii. and iv. are more for developers.

Multiple choice technology testing
  1. i, ii, iii

  2. ii, iii, iv

  3. i, iii, iv

  4. i, ii, iv

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

When selecting and implementing testing tools, you should investigate the organization's test process first (i) to ensure fit. Conducting a proof of concept (ii) validates the tool works for your needs. Identifying coaching needs (iv) ensures adoption. You should NEVER implement a tool on a behind-schedule project to save time (iii) - this adds risk and can make things worse. Proper tool implementation requires planning and training.

Multiple choice technology testing
  1. ii and iv

  2. ii and iii

  3. i and iv

  4. i and iii

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

Test tools provide centralized data repositories, making information access easier, and run tests identically, improving consistency. However, using tools typically increases testware maintenance efforts and involves high initial licensing and implementation costs, making distractors involving ii or iii incorrect.

Multiple choice technology testing
  1. Tool support for performance and monitoring.

  2. Tool support for static testing.

  3. Tool support for test execution and logging.

  4. Tool support for the management of testing and tests.

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

A test comparator tool automatically compares actual test outputs against expected baselines. This activity is performed during the test execution phase to determine pass/fail status, placing it squarely under the category of tools for test execution and logging.

Multiple choice technology testing
  1. Supporting reviews

  2. Validating models of the software

  3. Testing code executed in a special test harness

  4. Enforcement of coding standards

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

To answer this question, the user needs to understand what a static analysis tool is and how it can be used in software development.

A static analysis tool is a software tool that examines the source code of a program without executing it. It checks for programming errors, security vulnerabilities, coding best practices, and other issues that can be detected without actually running the program.

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

A. Supporting reviews: A static analysis tool can help identify potential issues in code before it goes to code review, but it is not the most useful tool for supporting reviews. Other tools, such as code review tools or collaboration platforms, would be more helpful in this scenario.

B. Validating models of the software: A static analysis tool may be useful in this scenario, but it is not the most useful tool. Model validation typically requires the use of specialized tools that can simulate system behavior and verify that the model accurately represents the software.

C. Testing code executed in a special test harness: A static analysis tool is not useful in this scenario because it does not execute the code. Instead, dynamic analysis tools would be more helpful as they can simulate the execution of code and test it in various scenarios.

D. Enforcement of coding standards: This option is the most appropriate answer. Static analysis tools are most useful in enforcing coding standards by identifying violations of coding standards, such as naming conventions, indentation, and other style guidelines. By using a static analysis tool, developers can ensure that their code adheres to the coding standards, which can improve the quality of the code and make it more maintainable.

Therefore, the correct answer is:

The Answer is: D

Multiple choice technology testing
  1. Test data preparation tools – Manipulate Data bases

  2. Test design tools – Generate test inputs

  3. Requirement management tools – Enables individual tests to be traceable

  4. Configuration management tools – Check for consistence

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

Test data preparation tools manipulate databases to create test data (A is correct match). Test design tools help generate test inputs (B is correct match). Requirement management tools enable traceability from requirements to tests (C is correct match). Configuration management tools track versions and changes, not consistency checking (D is the mismatch - that's not their primary function).

Multiple choice technology testing
  1. Testers

  2. Developers

  3. Testers & Developers

  4. None

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

Static analysis tools examine code without executing it to find potential defects, security issues, or code smells. While testers might use some static analysis tools, these are primarily developer tools used during coding - IDEs integrate linters, code quality checkers, and static analyzers that developers run as part of their development workflow. The question asks for 'typically used by' and developers are the primary users.

Multiple choice technology testing
  1. Performance

  2. Record/Playback

  3. A. & B

  4. None

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

Regression testing requires re-running existing tests to verify that recent changes haven't broken existing functionality. Record/playback tools automate this by recording test actions once and replaying them repeatedly. Performance testing tools (A) measure system performance under load, not functional correctness. Record/playback is the standard tool type for automating regression test suites.

Multiple choice technology testing
  1. Can help in finding the requirements for a given function or feature have changed

  2. A set of tests that has run OK in the past has started to have serious problems. What functionality do these tests actually exercise?

  3. How many test cases have been executed?

  4. Was every requirement tested?

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

Requirements traceability helps track which requirements are tested, identify impacted requirements when changes occur, and verify test coverage. However, it does not track test execution statistics. Option C is correctly identified as NOT a benefit of traceability.

Multiple choice technology testing
  1. Test items

  2. Test deliverables

  3. Test tasks

  4. Test specification

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

The IEEE 829 standard defines a Test Plan template containing sections like test items, deliverables, and tasks. A test specification is a separate document type altogether under the standard rather than a component or section of the test plan document itself.

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

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

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

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

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

Early test design prevents fault multiplication (statement i), finds faults early (statement iii), and can trigger requirement changes when issues are discovered (statement iv). Faults found early are actually LESS expensive to fix (statement ii is false), and while it requires effort, saying it 'takes more effort' is misleading compared to the cost of late fixes (statement v is false).