1. Fundamentals of Testing Quiz
Choose a good example of why testing is necessary. -It allows to detect and prevent contradictions in the requirements. -It allows the software development process to be aligned with the testing process. -It allows to better manage the testing process. X-It fixes defects detected in software.
It allows to detect and prevent contradictions in the requirements.
Which of the following is a true statement about exhaustive testing? -It is commonly done with test automation -It is not feasible except in the case of trivial software -It is a form of stress testing -It is normally the responsibility of the developer during unit testing
It is not feasible except in the case of trivial software
Which of the following is the right relation between quality assurance, quality control, and testing. -Testing is a synonym of quality assurance, which is a part of quality control. -Quality control is a form of quality assurance, which is a synonym for testing. -Testing is a form of quality control, which is a part of quality assurance. -Quality control is a synonym of quality assurance, which is a part of testing.
Testing is a form of quality control, which is a part of quality assurance.
Select the correct statement about the objectives of testing. -One of the testing objectives is to correct defects raised during the development process. -During the acceptance testing, the main objective is to cause as many failures as possible. -Testing objectives may vary depending upon the context of the system under test. X-During the acceptance testing, the main objective is to gain confidence in the system.
Testing objectives may vary depending upon the context of the system under test
In computability theory, the halting problem is the problem of determining, whether the program will finish or continue to run forever for a given input. In 1936 Alan Turing proved that a general algorithm to solve the halting problem for all possible program-input pairs cannot exist. This is a formal proof of which of the Seven Testing Principles? X-Absence-of-errors fallacy. -Testing shows presence of defects. X-Exhaustive testing is impossible. X-Pesticide paradox.
Testing shows presence of defects
What is the test basis? -The point during software development when testing should start -The source to determine the actual results from a set of tests -The method used to systematically devise test conditions -The body of knowledge used for test analysis and design
The body of knowledge used for test analysis and design
Which of the following is a measurable criterion used to validate the test basis? X-Test suite X-Test case -Test step -Test condition
Test condition
Choose the best example of a failure that results from the following root cause: "a low quality of a functional requirement specification." -Functional requirement specification cannot be a subject to a review process. -A bank system incorrectly calculates interest rate. X-System response time is too long when more than 100 users are logged to the system at the same time. -The requirement id number does not follow the numbering rules accepted and used in the organization.
A bank system incorrectly calculates interest rate.
Which of the following is an example of debugging? -A developer performs unit testing -A developer finds and fixes a defect -A tester retests a fix from the developer and finds a regression -A tester finds a defect and reports it
A developer finds and fixes a defect
Which of the following is a correct statement? X-A developer makes a mistake which causes a bug that may be seen as a defect when the software is executed X-A developer has introduced a failure which results in a defect that may be seen as a mistake during dynamic testing -A developer makes a mistake which causes a defect that may be seen as a failure during dynamic testing X-A developer makes an error which results in a failure that may be seen as a fault when the software is executed
A developer makes a mistake which causes a defect that may be seen as a failure during dynamic testing
Choose the correct sequence of events. -A mistake results in a defect, which in turn may result in a failure. -A defect results in failure, which in turn may result in a mistake. -A defect results in a mistake, which in turn may result in a failure. -A failure results in a mistake, which in turn may result in a defect.
A mistake results in a defect, which in turn may result in a failure.
Which of the following is an example of an error? -One of the source code instruction is 'x := x + 1', but it should be 'x := y + 1'. -An ATM machine should dispense $10, but it dispensed $20. -A tester makes a mistake and introduces a defect into the test script. -A software crashes because of overheating of the processor
A tester makes a mistake and introduces a defect into the test script.
Which of the following is the correct statement? -An error causes a defect which is observed as a failure -A failure is observed as an error and the root cause is the defect -A defect causes a failure which results in an error -An error causes a failure which results in a defect
An error causes a defect which is observed as a failure
Typically, the person responsible for fixing the defect in the artifact under test is: -Client -Debugger -Artifact's author -Tester
Artifact's author
What is the direct consequence of communicating defects by a tester to other team members in an unconstructive way? -Conflict in the team -Losing a sense of responsibility for quality -Increasing the team effectiveness -Decreasing the team effectiveness
Conflict in the team
Why is software testing sometimes required for legal reasons? -It prevents developers from suing testers -Testing across systems must be accompanied by legal documentation -Contracts may specify testing requirements that must be fulfilled -International laws require software testing for exported products
Contracts may specify testing requirements that must be fulfilled
Which of the following is not an example of a test objective? -Correcting the defect found X-Preventing from defect occurrence -Gaining confidence about the system quality -Providing to stakeholders an information about system quality
Correcting the defect found
A tester raised a bug in the program that calculates the mean value of a set of variables: when the input set of variables is empty, the software crashes. Developer found that this is caused by the division by 0 in the instruction: meanValue := SumOfVariables / NumberOfVariables He changed this instruction into the following code: IF (NumberOfVariables> 0) THEN meanValue := SumOfVariables / NumberOfVariables ELSE meanValue := 0 The developer's activity in this scenario is: -Debugging X-Testing -Inspection -Code review
Debugging
Why might testers test the software more efficiently than developers? -Developers have the emotional attitude to their code. -Developers' responsibility is to write code, not to test it. -Testers may have programming skills. -Testers usually do not have programming skills.
Developers have the emotional attitude to their code.
When following the fundamental test process, when should the test control activity take place? -During the implementation and execution activities -During the planning activities -During all the activities X-During the monitoring activities
During all the activities
In order to implement effective monitoring and control, it is critical to: X-Evaluate the test coverage against requirements. -Provide the basis for relating testing work products to stakeholders in terms that they can understand. -Understand where we are at any time in the project. -Establish traceability between the test basis and the various test work products.
Establish traceability between the test basis and the various test work products.
Which of the following is correct about defects, failures, and errors? -Executing a defect in code during testing may result in actual result being equal to the expected result. X-Code review can reveal a failure. X-A failure is caused by one or more errors, which are caused by one or more defects. X-A root cause of every failure is one or more human errors.
Executing a defect in code during testing may result in actual result being equal to the expected result.
In what way does root cause analysis contribute to process improvement? -Specifies the desired root causes to be achieved by other teams -Contributes to the justification of future project funding -Helps to better identify and correct the root cause of defects -Outlines how development teams can code faster
Helps to better identify and correct the root cause of defects
You test the online reservation system for a hotel chain. Consider the following artifact: ID 003. Normal reservation Precondition: user exists in the database. 1. Choose "make a reservation". 2. Fill up the form with the valid data. 3. Click "submit". The site should redirect the user into the payment page. 4. Perform the payment with the valid card. The system should go back to the reservation site and show a message with payment confirmation and that the reservation is done correctly. 5. Log out. Postcondition: a new record in the Orders database; user bank account balance decreased by the amount of payment. This artifact is an example of: -High-level test case X-Test suite X-Test condition X-Low-level test case
High-level test case
Which standard describes the testing process as a multilayer model? -IEEE 829 -ISO/IEC/IEEE 25000 -ISO 9126 -ISO/IEC/IEEE 29119
ISO/IEC/IEEE 29119
Testing is a constructive activity, but it may be perceived as a destructive one. What is the reason of this phenomenon? -Independent testers may be perceived as a "bottleneck" in the testing process. -Testing is an expensive process and may be perceived as the one that does not bring any added value. -Testers who do not have programming skills may be perceived as the useless team members. -Identifying failures during testing may be perceived as a criticism against the product or developers.
Identifying failures during testing may be perceived as a criticism against the product or developers.
Traceability between test cases and risk items can allow the testers to do which of the following? X-Calculate statement and decision coverage achieved by the executed tests. -Calculate the risk level by analyzing the test results for each test case. -Perform the impact analysis in terms of the effort needed to change the test cases in case a functional requirement is changed. -Implement effective monitoring in terms of calculating the residual risk.
Implement effective monitoring in terms of calculating the residual risk.
Why is it important to avoid the pesticide paradox? -Running the same tests over and over will reduce the chance of finding new defects -Tests should not be context dependent -Pesticides mixed with static testing can allow bugs to escape detection -Dynamic testing is less reliable in finding bugs
Running the same tests over and over will reduce the chance of finding new defects
What is represented in the following picture? -Traceability -Test basis -Test suite -Impact analysis
Traceability
Which of the following best describes the test basis? -Information used as the basis for the oracle when determining the expected result -Information used as the basis for test analysis and design X-Information used as the basis for achieving specific test objective -Information used as the basis for test monitoring and control
Information used as the basis for test analysis and design
Which of the following skills is the least important one in testing? -Programming skills -Curiosity -Attention to detail -Communication skills
Programming skills
As a tester, which of the following is a key to effectively communicating and maintaining positive relationships with developers when there is disagreement over the prioritization of a defect ? -Convince the developer to accept the blame for the mistake -Escalate the issue to human resources and stress the importance of mutual respect -Communicate in a setting with senior management to ensure everyone understands -Remind them of the common goal of creating quality systems
Remind them of the common goal of creating quality systems
Evaluating testability of the test basis and test items takes place during which phase of the testing process? -Test analysis -Test design -Test implementation -Test planning, monitoring, and control
Test analysis
Test conditions are exercised by which of the following test artifacts? -Requirements -Test cases -Risk items -Test data
Test cases
If you need to provide a report showing test case execution coverage of the requirements, what do you need to track? -Coverage of the risk items by test case -Coverage of the requirements by the test cases that have been designed -Traceability between the test cases and the requirements -Traceability between the requirements and the risk items
Traceability between the test cases and the requirements
Confirmation by examination and through provision of objective evidence that specified requirements have been fulfilled is called: -Validation -Verification -Debugging -Root cause analysis
Verification
A source to determine expected results to compare with the actual results of the system under test is called: X-Comparator -Test specification -Test oracle X-Test basis
Test oracle
What type of activity is normally used to find and fix a defect in the code? -Static analysis -Dynamic analysis -Debugging -Regression testing
Debugging
Which of the following is the activity that removes the cause of a failure? -Testing -Dynamic testing -Reverse engineering -Debugging
Debugging
Pareto rule says that a small number of causes are responsible for the major part of the effects. This rule is a basis of which testing principle? -Early testing -Defect clustering -Exhaustive testing is impossible -Pesticide paradox
Defect clustering
Which of the following is the best example of a quality assurance activity not related to the quality control? -Measuring the product to give information about its quality, so that managers can undertake conscious decisions about the product and project -Conducting the inspection for an architectural design to detect as many architectural defects as possible -Raising a defect report through the defect management system -Defining requirement engineering process in a way that ensures the requirements are defined at the proper level of detail
Defining requirement engineering process in a way that ensures the requirements are defined at the proper level of detail
Select all of the activities that are part of the testing process. -Designing a test case -Checking grammar and spelling of a user manual -Planning test activities -Implementing an automated test case -Performing the review of the architectural design
Designing a test case? Planning test activities? Implementing an automated test case?
Which of the following can be the root cause of the fact that a developer implemented an ineffective algorithm? -Developer's lack of education in the area of algorithms and complexity -Memory leaks that occurred after a long time of the software operation -Acceptance testing done by testers in the client's location, not by client -Poor performance of the system
Developer's lack of education in the area of algorithms and complexity
Which of the following activities is related to quality control? X-Redefining the testing process in the organization X-Improving the testing process in the organization -Performing the code review X-Organizing a training for developers about good programming practices
Performing the code review
When the tester verifies the test basis while designing tests early in the lifecycle, which common test objective is being achieved? X-Finding defects X-Providing information for decision making -Preventing defects -Gaining confidence
Preventing defects
A tester, together with a developer, architect, and test manager, participates in the inspection of an architectural design of a component. The design was done by the architect. During the inspection, the test manager finds an error in the design. After the inspection, the tester creates the new, corrected version of the design. Using the new design, the developer implements the component. Who performed the debugging? -Test manager -Architect -Developer -Tester
Tester
To overcome the pesticide paradox, we should do which of the following? -Align the test strategy to the context. -Start testing activities as early as possible. -Use test techniques to derive a finite number of test cases for a potentially infinite number of combinations of input values. -Review and update tests on a regular basis.
Review and update tests on a regular basis.
Analyzing defects in order to propose preventive actions so that this defect's reoccurrence can be avoided is a process that is called: -Review -Debugging -Root cause analysis -Dynamic testing
Root cause analysis
Which of the following is the activity that compares the planned test progress to the actual test progress? -Test planning -Test control -Test monitoring -Test closure
Test monitoring
A new retail product was released to production by your company. Shortly after the release it was apparent that there were numerous problems with the point of sale application. This resulted in a number of customer complaints and negative postings on social media encouraging people to take their business to your competitor. You have investigated the problems and have discovered that the production point of sale equipment is a later model than the model used in testing. The software functions correctly on the old version, but fails on the later model. Given this scenario, what is the root cause and what is the effect? -The root cause is the software failing on the later model and the effect is the customer complaints -The root cause is the customer complaints and the effect is the social media postings -The root cause is the old equipment and the effect is the new equipment -The root cause is conducting the testing on the wrong version of the equipment and the effect is the customer complaints and postings
The root cause is conducting the testing on the wrong version of the equipment and the effect is the customer complaints and postings
Choose the correct sentence about the developer's and the tester's mindsets. -They are the same, because tester and developer are just the project roles and any person can fulfill both these roles. -They are different, because a tester's primary goal is to raise bugs, and a developer's primary task is to debug and fix them. -They are different, because a developer's primary goal is to design and build a product and a tester's primary task is to verify its quality. -They are the same, because the primary goal for both of them is to care about the highest possible product quality.
They are different, because a developer's primary goal is to design and build a product and a tester's primary task is to verify its quality.
Why are the validation activities examples of a positive role of testing? -They help to ensure that the system meets the client's expectations. -They help to reduce the risk of logic or calculation errors within the code and test cases, because they enforce testers to work closely with developers. -They help to detect defects in the early phases of the software life cycle. -They help to prevent ambiguities in requirements.
They help to ensure that the system meets the client's expectations.
You work as a tester in a software house and you concurrently work on two projects. One of them is an internal tool for on-line room reservation, done within an agile life cycle. The other one is a commercial software for managing hospital patients' data, conducted in the waterfall model. One one month, new versions of both systems will be released. You don't have time to perform all the planned tests for both systems. Your supervisor decides to focus on testing the commercial system. Choose the correct answer. -This is a good decision, because the commercial software is much more important for the company than the internal system. X-This is a good decision, because the waterfall model requires testing during the end of the project. -This is a bad decision, because critical defects can occur in both systems, and one of them will not be tested. -This is a bad decision, because testing commercial project will be much more expensive than testing the internal one.
This is a good decision, because the commercial software is much more important for the company than the internal system.
After test execution, it turned out that one test is implemented incorrectly. This test returned to the implementation phase. During the re-implementation, it turned out that it is not only incorrectly implemented, but also incorrectly designed. It turned back to the design phase, where it was corrected, and then implemented and executed once again. What can we say about this situation from the testing process point of view? -This situation is possible, because the process phases are not sequential and we can go back from one phase to another. -This situation is impossible, because the wrong design should be detected in the implementation phase, not in the execution phase, as the implementation phase precedes the execution phase. -This situation is impossible, because we cannot go back from execution phase to earlier phases, as the phases in the testing process follow the sequential order. X-This situation is possible, because prior to designing the test first time, we had to perform the analysis phase so that we were able to derive this test from the test basis.
This situation is possible, because the process phases are not sequential and we can go back from one phase to another.
Unreachable code is an example of a defect that: -Will never be detected in testing -Will always be detected in testing -Will never result in a failure -May result in a failure
Will never result in a failure