Software Testing MCQ Quiz - Objective Question with Answer for Software Testing - Download Free PDF
Last updated on Nov 2, 2023
Latest Software Testing MCQ Objective Questions
Software Testing Question 1:
Comprehension:
Software testing is a vital process within software development that involves evaluating computer software to establish whether it's performing as expected under various conditions. Its core aim is ____________.
Given that no software application can be totally error-free, it's important to execute software testing to ensure that the software is functioning correctly and delivering an optimal user experience. Different types of software testing methodologies exist, each tailored to examine various functionality and performance aspects of the system. These include unit testing, integration testing, system testing, and acceptance testing.
'Unit testing' involves checking individual components to ascertain they're working correctly, whereas 'integration testing' ________________. 'System testing,' on the other hand, is performed on a complete system to check whether it meets specified requirements. Lastly, 'acceptance testing' is executed to verify if the system satisfies the customer's needs.
Various philosophies guide software testing, but a widely shared one is that any software's purpose must be adequately understood before conducting trials. Additionally, it's crucial to consider the actual use and potential misuse of the software while testing. Testers often employ tests that are exploratory or automated, and sometimes a mix of both types, to ensure comprehensive coverage.
Different models of software development shape the timing and strategy of testing. For instance, in the waterfall model, testing is a distinct phase that occurs after programming is completed. In contrast, testing is continuous in Agile software development, often conducted at the same time as programming.
How does testing fit into Agile software development?
Answer (Detailed Solution Below)
Software Testing Question 1 Detailed Solution
The correct answer is Testing is continuous and often conducted concurrently with programming.
Explanation:
- In the Agile software development approach, testing is not considered as a distinct phase that happens only after all programming is completed. Instead, it is an ongoing process that happens continually throughout the development cycle.
- Agile encourages a integrated model in which developers and testers often work together from the beginning of a project. Testing is conducted in parallel with programming, even on small chunks of functionality as they become available. By the time a feature or functionality is fully developed, it has also been thoroughly tested.
- This ongoing testing has many benefits, including finding and fixing bugs or inconsistencies early, before they become too entrenched. Also, it allows for feedback and changes from stakeholders to be incorporated more easily and efficiently. As a result, the end product is more likely to meet users' needs and expectations.
Software Testing Question 2:
Comprehension:
Software testing is a vital process within software development that involves evaluating computer software to establish whether it's performing as expected under various conditions. Its core aim is ____________.
Given that no software application can be totally error-free, it's important to execute software testing to ensure that the software is functioning correctly and delivering an optimal user experience. Different types of software testing methodologies exist, each tailored to examine various functionality and performance aspects of the system. These include unit testing, integration testing, system testing, and acceptance testing.
'Unit testing' involves checking individual components to ascertain they're working correctly, whereas 'integration testing' ________________. 'System testing,' on the other hand, is performed on a complete system to check whether it meets specified requirements. Lastly, 'acceptance testing' is executed to verify if the system satisfies the customer's needs.
Various philosophies guide software testing, but a widely shared one is that any software's purpose must be adequately understood before conducting trials. Additionally, it's crucial to consider the actual use and potential misuse of the software while testing. Testers often employ tests that are exploratory or automated, and sometimes a mix of both types, to ensure comprehensive coverage.
Different models of software development shape the timing and strategy of testing. For instance, in the waterfall model, testing is a distinct phase that occurs after programming is completed. In contrast, testing is continuous in Agile software development, often conducted at the same time as programming.
What is fundamentally important to consider before conducting software testing?
Answer (Detailed Solution Below)
Software Testing Question 2 Detailed Solution
The correct answer is The actual use and potential misuse of the software.
Explanation:
- Before conducting software testing, it's empirically important to understand the actual usage and potential misuse scenarios of the software. This means understanding what the software is supposed to do (its intended functionality), and also thinking about how it might be incorrectly or maliciously used.
- By understanding the intended use, you can design tests that verify the software behaves correctly under normal circumstances. However, it's also important to understand potential misuse, either by accident (for example, a user entering data in a way that wasn't anticipated) or deliberate attempts to hack or break the system. This knowledge helps testers to validate inputs, confirm error messages, and test exceptional or boundary conditions which can prompt software failures.
- Therefore, understanding both use and misuse assists in comprehensive test case development, leading to the improvement of the software's quality and robustness.
Software Testing Question 3:
Comprehension:
Software testing is a vital process within software development that involves evaluating computer software to establish whether it's performing as expected under various conditions. Its core aim is ____________.
Given that no software application can be totally error-free, it's important to execute software testing to ensure that the software is functioning correctly and delivering an optimal user experience. Different types of software testing methodologies exist, each tailored to examine various functionality and performance aspects of the system. These include unit testing, integration testing, system testing, and acceptance testing.
'Unit testing' involves checking individual components to ascertain they're working correctly, whereas 'integration testing' ________________. 'System testing,' on the other hand, is performed on a complete system to check whether it meets specified requirements. Lastly, 'acceptance testing' is executed to verify if the system satisfies the customer's needs.
Various philosophies guide software testing, but a widely shared one is that any software's purpose must be adequately understood before conducting trials. Additionally, it's crucial to consider the actual use and potential misuse of the software while testing. Testers often employ tests that are exploratory or automated, and sometimes a mix of both types, to ensure comprehensive coverage.
Different models of software development shape the timing and strategy of testing. For instance, in the waterfall model, testing is a distinct phase that occurs after programming is completed. In contrast, testing is continuous in Agile software development, often conducted at the same time as programming.
Integration testing is defined as:
Answer (Detailed Solution Below)
Software Testing Question 3 Detailed Solution
The correct answer is Testing performed to confirm that various integrated parts of a system function together as expected.
Explanation:
- Integration testing is a method of software testing that checks how different parts or components of a software system interact and operate together.
- During the development process, individual modules are often built separately before they get merged into larger subsystems or the full system. Each module may work perfectly when considered in isolation, but issues may arise when these pieces start to interact, so it's important to test them together.
- For example, data can get lost across an interface, or one module might adversely affect another. Integration testing, therefore, aims to catch and correct these potential problems early, facilitating the delivery of a quality software product.
Software Testing Question 4:
Comprehension:
Software testing is a vital process within software development that involves evaluating computer software to establish whether it's performing as expected under various conditions. Its core aim is ____________.
Given that no software application can be totally error-free, it's important to execute software testing to ensure that the software is functioning correctly and delivering an optimal user experience. Different types of software testing methodologies exist, each tailored to examine various functionality and performance aspects of the system. These include unit testing, integration testing, system testing, and acceptance testing.
'Unit testing' involves checking individual components to ascertain they're working correctly, whereas 'integration testing' ________________. 'System testing,' on the other hand, is performed on a complete system to check whether it meets specified requirements. Lastly, 'acceptance testing' is executed to verify if the system satisfies the customer's needs.
Various philosophies guide software testing, but a widely shared one is that any software's purpose must be adequately understood before conducting trials. Additionally, it's crucial to consider the actual use and potential misuse of the software while testing. Testers often employ tests that are exploratory or automated, and sometimes a mix of both types, to ensure comprehensive coverage.
Different models of software development shape the timing and strategy of testing. For instance, in the waterfall model, testing is a distinct phase that occurs after programming is completed. In contrast, testing is continuous in Agile software development, often conducted at the same time as programming.
Core aim of Software Testing is:
Answer (Detailed Solution Below)
Software Testing Question 4 Detailed Solution
The correct answer is To identify any bugs, defects, or inconsistencies
Key Points
- Software testing is crucial because it helps detect and fix any bugs, defects, or faults in the system before it goes live or becomes operational.
- Without thorough testing, these flaws could undermine the software's functionality, leading to unsatisfied users and potential financial and reputational damage.
- By identifying issues early, developers can make necessary corrections, thus ensuring that the software works as intended and delivers an optimal user experience.
- Software testing, therefore, plays a pivotal role in enhancing the quality of a product and reducing the risk of failure.
Software Testing Question 5:
Which of the following testing processes is used to test the functionally of a software?
Answer (Detailed Solution Below)
Software Testing Question 5 Detailed Solution
Top Software Testing MCQ Objective Questions
A multimedia project is said to be _________ and user-interactive when users are given navigational control.
Answer (Detailed Solution Below)
Software Testing Question 6 Detailed Solution
Download Solution PDFConcept:
Mutlimedia means combination of text, audio, video, graphics, and animation. Mutlimedia project are the multimedia materials which are presented on computer screen.
Explanation:
Phases of a multimedia project are : planning, designing , testing and delivering.
Some points about multimedia project :
- Interactive mutlimedia gives the navigational controls to the user. It control what elements are to be delivered.
- It requires creative skills, tools and organization talent to create mutlimedia projects.
- There are two categories in multimedia : linear and non - linear.
- Linear multimedia is without any navigational control example cinema.
- Non - linear provides user interactivity to control progress. Example : computer game.
- Mutlimedia system must be integrated, handled digitally and usually interactive.
- Mutlimedia can be delivered using optical disk, web or distributed network.
In unit testing of a module, it is found that for a set of test data, at the maximum 90% of the code alone were tested with the probability of success 0.9. What is the reliability of the module ?
Answer (Detailed Solution Below)
Software Testing Question 7 Detailed Solution
Download Solution PDFData
code testes in unit testing = t =90% = 0.9
probability of success = p = 0.9
Calculation
Reliability ≤ t × p = 0.9 ×0.9 = 0.81
Threfere, the reliability of the module is at most 0.81
In context of requirement analysis in software engineering, which of the following is not a type of 'non functional requirements'?
Answer (Detailed Solution Below)
Software Testing Question 8 Detailed Solution
Download Solution PDFNON-FUNCTIONAL REQUIREMENT (NFR)
It specifies the quality attribute of a software system. They judge the software system based on Responsiveness, Usability, Security, Portability, and other non-functional standards that are critical to the success of the software system
Product requirements
Requirements specify that the delivered product must behave in a particular way, e.g. execution speed, reliability, etc.
Organizational requirements
Requirements which are a consequence of organizational policies and procedures, e.g. process standards used, implementation requirements, etc.
External requirement
Requirements which arise from factors which are external to the system and its development process, e.g. interoperability requirements, a legislative requirement
Debugger is a program that:
Answer (Detailed Solution Below)
Software Testing Question 9 Detailed Solution
Download Solution PDFDebugger:
- A debugger is a computer program used to test and debug target programs.
- The main use of a debugger is to run the target program under controlled conditions that permit the programmer to track its operations in progress and monitor changes in computer resources that may indicate malfunctioning code.
- Typical debugging facilities include the ability to run or halt the target program at specific points, display the contents of memory, CPU registers or storage, and modify memory or register contents in order to enter selected test data that might be a cause of faulty program execution.
Which of the following is/are the types of testing?
Answer (Detailed Solution Below)
Software Testing Question 10 Detailed Solution
Download Solution PDFConcept:
Regression Testing
It is defined as a type of software testing to confirm that a recent program or code change has not adversely affected existing features. Regression Testing is nothing but a full or partial selection of already executed test cases which are re-executed to ensure existing functionalities work fine
Smoke Testing
It is a software testing technique performed post software build to verify that the critical functionalities of software are working fine. It is executed before any detailed functional or regression tests are executed.
Stress testing
It is a software testing activity that determines the robustness of software by testing beyond the limits of normal operation. Stress testing is particularly important for "mission critical" software, but is used for all types of software
Hence Option 4 is correct
Alpha and Beta testing are forms of
Answer (Detailed Solution Below)
Software Testing Question 11 Detailed Solution
Download Solution PDFThe correct answer: Acceptance Testing
Alpha and Beta testing are forms of:
Acceptance Testing
Important Points
Alpha Testing is usually done by internal staff before the product is released to external testers. It is a type of acceptance testing that's done in a lab environment and not by the end users. It helps identify all possible issues and problems in the system before it goes for Beta testing.
Beta Testing is performed by actual users or potential customers in their own environment. It is the second phase of testing in which a sampling of the intended audience tries the product out before it is officially released to the general public. This is the final test before shipping the product. Problems that were not discovered during Alpha testing may be identified here.
These types of tests are done to make sure that the system is working as expected and will be accepted by the end users. They are types of User Acceptance Testing (UAT) and are very important in software development processes.
Which testing focuses on heavily testing of one particular module?
Answer (Detailed Solution Below)
Software Testing Question 12 Detailed Solution
Download Solution PDFThe correct option is (4)
Gorilla testing
Concept:-
This kind of software testing methodology places a lot of emphasis on thoroughly evaluating one specific module. By having various testing teams evaluate the same capability, quality assurance teams examine one or a few functionalities fully or exhaustively to discover any deviations.
Key Points
- Gorilla testing is a method of software testing in which a program module is routinely examined to ensure that it is working correctly and is free of flaws.
- A module can be assessed in exactly the same manner 100 times. Gorilla testing is so frequently referred to as "Frustrating Testing."
Additional InformationFuzz testing:- An automated software testing technique called fuzzing introduces erroneous, abnormal, or unexpected inputs into a system in order to detect flaws and vulnerabilities in the software.
Breadth Testing:- It is a test suite that confirms a product's complete functionality but does not thoroughly evaluate all of the features.
Inter-system testing:- Inter-system testing is the process of evaluating the integration points and functionality between various systems that share a common data source.
Consider a software program that is artificially seeded with 100 faults. While testing this program, 159 faults are detected, out of which 75 faults are from those artificially seeded faults. Assuming that both real and seeded faults are of same nature and have same distribution, the estimated number of undetected real faults is ______.
Answer (Detailed Solution Below)
Software Testing Question 13 Detailed Solution
Download Solution PDFThe correct answer is option 1.
Key Points
- Total number of faults found = 159
- Real faults detected among all detected faults = 159 - 75 = 84
- Since probability distribution is the same, the total number of real faults is (100/75)*84 = 112
- Undetected real faults = 112- 84 = 28
Alternate Method
- 75% of defects are observed because of 75 of 100 artificially seeded defects. Given that the total faults detected = 159
- Real faults detected among all detected faults = 159 – 75= 84
- Since probability distribution is the same, the total number of real faults is (100/75)*84 = 112
Therefore undetected real faults = 112-84 = 28.
Hence the correct answer is 28.
Which of the following is/are behavioral testing technique(s) ?
(A) Equivalence Partitioning
(B) Graph-Based Teating Method
(C) Boundery Value Analysis
(D) Data flow Testing
(E) Loop Testing
Choose the correct answer from the options given below:
Answer (Detailed Solution Below)
Software Testing Question 14 Detailed Solution
Download Solution PDFThe correct answer is option 2.
Key Points
Black-box testing, also known as behavioural testing, focuses on the software's functional specifications. In other words, black-box testing allows a software developer to create sets of input conditions that completely exercise all of a program's functional requirements. The methods for behavioural testing are as follows.
- graph-based testing methods
- equivalence partitioning
- boundary value analysis
- comparison testing
- orthogonal array testing
∴ Hence the correct answer is (A), (B) and (C) only.
Which of the following testing techniques ensures that the software product runs correctly after the changes during maintenance?
Answer (Detailed Solution Below)
Software Testing Question 15 Detailed Solution
Download Solution PDFThe correct answer is "option 4".
CONCEPT:
Testing is a process of evaluating software in order to identify any errors contrary to actual requirements.
Testing ensures that the software product is defect-free.
EXPLANATION:
option1: Path testing is used to design the test cases.
option2: Integration testing includes the testing of two or more combined modules of the software.
option3: Unit testing includes the testing of every single module or component of the software.
option4: Regression testing is used to test modified parts of code & parts affected by the code to ensure that software doesn't have any defect after modifications.
Hence, Regression Testing ensures that the software product runs correctly after the changes during maintenance.