Software Testing Practice Test-1

Approved & Edited by ProProfs Editorial Team
The editorial team at ProProfs Quizzes consists of a select group of subject experts, trivia writers, and quiz masters who have authored over 10,000 quizzes taken by more than 100 million users. This team includes our in-house seasoned quiz moderators and subject matter experts. Our editorial experts, spread across the world, are rigorously trained using our comprehensive guidelines to ensure that you receive the highest quality quizzes.
Learn about Our Editorial Process
| By Mohit Zenith
M
Mohit Zenith
Community Contributor
Quizzes Created: 2 | Total Attempts: 16,376
Questions: 30 | Attempts: 15,419

SettingsSettingsSettings
Software Testing Practice Test-1 - Quiz

Software Testing Practice Test-1


Questions and Answers
  • 1. 

    1.Software testing activities should start

    • A.

      A. as soon as the code is written

    • B.

      B. during the design  stage

    • C.

      C. when the requirements have been formally documented

    • D.

      D. as soon as possible in the development life cycle

    Correct Answer
    D. D. as soon as possible in the development life cycle
    Explanation
    The correct answer is d. as soon as possible in the development life cycle. This is because software testing is an essential part of the development process and should ideally begin as early as possible. By starting testing early, any issues or bugs can be identified and resolved sooner, reducing the risk of them causing problems later on. It also allows for better planning and allocation of resources for testing activities throughout the development life cycle. Starting testing early helps ensure that the software meets the required quality standards and is ready for deployment.

    Rate this question:

  • 2. 

    2.Faults found by users are due to:

    • A.

      A. Poor quality software

    • B.

      B. Poor software and poor testing

    • C.

      C. bad luck

    • D.

      D. insufficient time for testing

    Correct Answer
    B. B. Poor software and poor testing
    Explanation
    The correct answer is b. Poor software and poor testing. This means that the faults found by users are a result of both the software being of low quality and the testing process being inadequate. It suggests that the software itself is not up to standard and that the testing conducted on it is not thorough enough to identify and fix all the issues. This combination of poor software and poor testing leads to the faults being discovered by users.

    Rate this question:

  • 3. 

    3.What is the main reason for testing software before releasing it?

    • A.

      A. to show that system will work after release

    • B.

      B. to decide when the software is of sufficient quality to release

    • C.

      C. to find as many bugs as possible before release

    • D.

      D. to give information for a risk based decision about release

    Correct Answer
    D. D. to give information for a risk based decision about release
    Explanation
    The main reason for testing software before releasing it is to give information for a risk-based decision about release. This means that through testing, the software is evaluated for any potential risks or issues that could arise after release. Testing helps identify any bugs or issues in the software, allowing the development team to make informed decisions about whether the software is ready for release or if further improvements are needed to mitigate risks. By conducting thorough testing, the team can gather valuable information that helps determine the level of risk associated with releasing the software.

    Rate this question:

  • 4. 

    4. which of the following statements is not true

    • A.

      A. performance testing can be done during unit testing as well as during the testing of whole system

    • B.

      B. The acceptance test does not necessarily include a regression test

    • C.

      C. Verification  activities should not involve testers (reviews, inspections etc)

    • D.

      D. Test environments should be as similar to production environments as possible

    Correct Answer
    C. C. Verification  activities should not involve testers (reviews, inspections etc)
    Explanation
    The statement "Verification activities should not involve testers (reviews, inspections etc)" is not true. Verification activities, such as reviews and inspections, involve testers to ensure that the software meets the specified requirements and standards. Testers play a crucial role in identifying defects and recommending improvements during the verification process. Therefore, this statement is incorrect.

    Rate this question:

  • 5. 

    5. When reporting faults found to developers, testers should be:

    • A.

      A. as polite, constructive and helpful as possible

    • B.

      B. firm about insisting that a bug is not a “feature” if it should be fixed

    • C.

      C. diplomatic, sensitive to the way they may react to criticism

    • D.

      D. All of the above

    Correct Answer
    D. D. All of the above
    Explanation
    Testers should be as polite, constructive, and helpful as possible when reporting faults to developers to maintain a positive and collaborative working relationship. They should also be firm about insisting that a bug is not a "feature" if it should be fixed, to ensure that the necessary improvements are made. Additionally, testers should be diplomatic and sensitive to the way developers may react to criticism, as this can help foster a respectful and productive environment for resolving issues. Therefore, all of the options mentioned (a, b, and c) are important qualities for testers when reporting faults to developers.

    Rate this question:

  • 6. 

    6.In which order should tests be run?

    • A.

      A. the most important tests first

    • B.

      B. the most difficult tests first(to allow maximum time for fixing)

    • C.

      C. the easiest tests first(to give initial confidence)

    • D.

      D. the order they are thought of

    Correct Answer
    A. A. the most important tests first
    Explanation
    Tests should be run in the order of importance to ensure that critical functionalities are tested first. Running the most important tests first helps identify high-priority issues early in the testing process, allowing them to be addressed promptly. This approach ensures that any critical bugs or flaws are caught early on, reducing the risk of major issues in the final product. By prioritizing important tests, the testing team can focus on critical functionalities and ensure that they are working correctly before moving on to less crucial tests.

    Rate this question:

  • 7. 

    7. The later in the development life cycle a fault is discovered, the more expensive it is to fix. why?

    • A.

      A. the documentation is poor, so it takes longer to find out what the software is doing.

    • B.

      B. wages are rising

    • C.

      C. the  fault has been built into more documentation,code,tests, etc

    • D.

      D. None of the above

    Correct Answer
    C. C. the  fault has been built into more documentation,code,tests, etc
    Explanation
    The later a fault is discovered in the development life cycle, the more expensive it is to fix because the fault has been built into more documentation, code, tests, etc. This means that the fault has propagated and affected various aspects of the software, making it more complex and time-consuming to identify and rectify. Additionally, fixing the fault at a later stage may require reworking or redesigning multiple components, leading to increased costs and efforts.

    Rate this question:

  • 8. 

    Which is not true-The black box tester

    • A.

      Should be able to understand a functional specification or requirements document

    • B.

      Should be able to understand the source code.

    • C.

      Is highly motivated to find faults

    • D.

      Is creative to find the system’s weaknesses

    Correct Answer
    B. Should be able to understand the source code.
    Explanation
    The black box tester should be able to understand a functional specification or requirements document because it helps them to understand the expected behavior of the system. They should also be highly motivated to find faults in the system as their main goal is to identify any defects or issues. Additionally, they should be creative in finding the system's weaknesses by thinking outside the box and trying different scenarios. However, it is not necessary for a black box tester to understand the source code as their focus is on the system's functionality from an end-user perspective.

    Rate this question:

  • 9. 

    9. A test design technique is

    • A.

      A. a process for selecting test cases

    • B.

      B. a process for determining expected outputs

    • C.

      C. a way to measure the quality of software

    • D.

      D. a way to measure in a test plan what has to be done

    Correct Answer
    A. A. a process for selecting test cases
    Explanation
    A test design technique refers to a systematic approach or method used to select test cases. It helps in deciding which test cases should be executed to ensure maximum coverage and effectiveness in testing the software. This technique considers various factors such as requirements, risks, and test objectives to identify the most suitable test cases. By using a test design technique, testers can ensure that they have a well-defined and comprehensive set of test cases that can effectively validate the functionality and quality of the software being tested.

    Rate this question:

  • 10. 

    10. Testware(test cases, test dataset)

    • A.

      A. needs configuration management just like requirements, design and code

    • B.

      B. should be newly constructed for each new version of the software

    • C.

      C. is needed only until the software is released into production or use

    Correct Answer
    A. A. needs configuration management just like requirements, design and code
    Explanation
    Testware, which includes test cases and test datasets, needs configuration management just like requirements, design, and code. Configuration management helps in managing and controlling changes to the testware throughout the software development lifecycle. It ensures that the testware is version controlled, documented, and easily accessible. This is important because testware can evolve and change as the software is developed and modified. By applying configuration management to testware, it becomes easier to track changes, maintain traceability, and ensure the integrity and consistency of the testing process.

    Rate this question:

  • 11. 

    11. An incident logging system

    • A.

      A only records defects

    • B.

      B is of limited value

    • C.

      C is a valuable source of project information during testing if it contains all incidents

    • D.

      D. should be used only by the test team.

    Correct Answer
    C. C is a valuable source of project information during testing if it contains all incidents
    Explanation
    An incident logging system is a valuable source of project information during testing if it contains all incidents. This means that the system should record not only defects but also any other incidents that occur during testing. By logging all incidents, the system can provide valuable insights and data that can be used to analyze and improve the testing process. It helps in identifying patterns, trends, and common issues that may arise during testing, allowing the team to take appropriate actions to address them. Therefore, a comprehensive incident logging system is essential for effective testing and project management.

    Rate this question:

  • 12. 

    12. Increasing the quality of the software, by better development methods, will affect the time needed for testing (the test phases) by:

    • A.

      A. reducing test time

    • B.

      B. no change

    • C.

      C. increasing test time

    Correct Answer
    A. A. reducing test time
    Explanation
    Improving the quality of the software through better development methods will reduce the time needed for testing. This is because when the software is of higher quality, there will be fewer defects and issues to identify and fix during the testing phase. As a result, the testing process can be completed more efficiently and in less time.

    Rate this question:

  • 13. 

    13. Coverage measurement

    • A.

      A. is nothing to do with testing

    • B.

      B. is a partial measure of test thoroughness

    • C.

      C. branch coverage should be mandatory for all software

    • D.

      D. can only be applied at unit or module testing, not at system testing

    Correct Answer
    B. B. is a partial measure of test thoroughness
    Explanation
    Coverage measurement is a technique used in testing to determine the extent to which the code has been exercised by the test cases. It helps in assessing the thoroughness of the testing process by measuring the percentage of code or specific aspects of the code that have been executed. Option b. states that coverage measurement is a partial measure of test thoroughness, which means that it provides an indication of how much of the code has been tested, but it does not guarantee complete coverage. This explanation aligns with the concept of coverage measurement in testing.

    Rate this question:

  • 14. 

    14. When should you stop testing?

    • A.

      A. when time for testing has run out.

    • B.

      B. when all planned tests have been run

    • C.

      C. when the test completion criteria have been met

    • D.

      D. when no faults have been found by the tests run

    Correct Answer
    C. C. when the test completion criteria have been met
    Explanation
    The correct answer is c. when the test completion criteria have been met. This means that testing should continue until the predetermined criteria for completion have been achieved. These criteria could include factors such as a certain level of test coverage, a specific number of test cases executed, or a certain percentage of defects found and resolved. It is important to have clear completion criteria in order to determine when testing can be stopped and the product can be considered ready for release.

    Rate this question:

  • 15. 

    15. Which of the following is true?

    • A.

      A. Component testing should be black box, system testing should be white box.

    • B.

      B. if u find a lot of bugs in testing, you should not be very confident about the quality of software

    • C.

      C. the fewer bugs you find,the better your testing was

    • D.

      D. the more tests you run, the more bugs you will find.

    Correct Answer
    B. B. if u find a lot of bugs in testing, you should not be very confident about the quality of software
    Explanation
    If a lot of bugs are found during testing, it indicates that there may be more undiscovered bugs in the software. This suggests that the quality of the software may not be very high, as there are likely to be more issues present. Therefore, finding a large number of bugs during testing should make one less confident about the quality of the software.

    Rate this question:

  • 16. 

    16. What is the important criterion in deciding what testing technique to use?

    • A.

      A.  how well you know a particular technique

    • B.

      B. the objective of the test

    • C.

      C. how appropriate the technique is for testing the application

    • D.

      D. whether there is a tool to support the technique

    Correct Answer
    B. B. the objective of the test
    Explanation
    The important criterion in deciding what testing technique to use is the objective of the test. This means that the reason for conducting the test and what needs to be achieved through the testing process will determine the most suitable technique to be used.

    Rate this question:

  • 17. 

    17. If the pseudo code below were a programming language ,how many tests are required to achieve 100% statement coverage? 1.If x=3 then 2. Display_messageX; 3. If y=2 then 4. Display_messageY; 5.Else 6.Display_messageZ; 7.Else 8.Display_messageZ; 

    • A.

      A. 1

    • B.

      B. 2

    • C.

      C. 3

    • D.

      D. 4

    Correct Answer
    C. C. 3
    Explanation
    The pseudo code consists of two if-else statements. To achieve 100% statement coverage, we would need to execute each statement at least once. In this case, we would need to test the following scenarios:
    1. x = 3, y = 2
    2. x = 3, y ≠ 2
    3. x ≠ 3

    By testing these three scenarios, we would cover all the statements in the pseudo code. Therefore, the correct answer is 3.

    Rate this question:

  • 18. 

    18. Regression testing should be performed: v)    every week w)    after the software has changed x)    as often as possible y)    when the environment has changed z)    when the project manager says

    • A.

      A)    v & w are true, x, y & z are false

    • B.

      B)    w, x & y are true, v & z are false

    • C.

      C)    w & y are true, v, x & z are false

    • D.

      D)    w is true, v, x, y & z are false

    Correct Answer
    C. C)    w & y are true, v, x & z are false
    Explanation
    Regression testing should be performed when the software has changed (option w) and when the environment has changed (option y). This is because regression testing is done to ensure that the previously working functionalities of the software still work correctly after any changes have been made. It is important to test the software after changes to identify and fix any potential issues or bugs that may have been introduced. Performing regression testing regularly helps to maintain the stability and reliability of the software. The other options (v, x, and z) are false because they do not accurately describe when regression testing should be performed.

    Rate this question:

  • 19. 

    19 Which of the following is NOT a type of non-functional test?

    • A.

      A. State-Transition

    • B.

      B. Usability

    • C.

      C. Performance

    • D.

      D. Security

    Correct Answer
    A. A. State-Transition
    Explanation
    State-Transition testing is a type of functional testing that focuses on testing the behavior of a system as it transitions between different states. It involves testing the system's response to various inputs and events. On the other hand, non-functional testing focuses on testing the quality attributes of the system, such as performance, usability, and security. Therefore, State-Transition testing does not fall under the category of non-functional testing.

    Rate this question:

  • 20. 

    20. Which of the following  tools would you use to detect a memory leak?

    • A.

      A. State analysis

    • B.

      B. Coverage analysis

    • C.

      C. Dynamic analysis

    • D.

      D. Memory analysis

    Correct Answer
    C. C. Dynamic analysis
    Explanation
    Dynamic analysis is the most suitable tool for detecting a memory leak. This technique involves analyzing the program while it is running to identify any memory allocation and deallocation issues. By monitoring the program's memory usage during runtime, dynamic analysis can detect memory leaks by identifying memory blocks that are not properly released. This tool allows developers to track down and fix memory leaks, ensuring that resources are efficiently managed and preventing potential crashes or performance issues caused by excessive memory usage.

    Rate this question:

  • 21. 

    21. What is the purpose of a test completion criterion?

    • A.

      A)    to know when a specific test has finished its execution

    • B.

      B)    to ensure that the test case specification is complete

    • C.

      C)    to set the criteria used in generating test inputs

    • D.

      D)    to determine when to stop testing

    Correct Answer
    D. D)    to determine when to stop testing
    Explanation
    The purpose of a test completion criterion is to determine when to stop testing. This criterion helps in setting a specific condition or criteria that, when met, indicates that testing can be considered complete. It helps in ensuring that sufficient testing has been done and that the desired level of quality has been achieved. This criterion is important as it helps in optimizing the testing process and prevents unnecessary testing beyond a certain point.

    Rate this question:

  • 22. 

    22.  Given the following code, which statement is true about the minimum number of test cases required for full statement and branch coverage? Read p Read q IF p+q > 100 THEN Print “Large” ENDIF IF p > 50 THEN Print “p Large” ENDIF

    • A.

      A)    1 test for statement coverage, 3 for branch coverage

    • B.

      B)    1 test for statement coverage, 2 for branch coverage

    • C.

      C)    1 test for statement coverage, 1 for branch coverage

    • D.

      D)    2 tests for statement coverage, 2 for branch coverage

    Correct Answer
    B. B)    1 test for statement coverage, 2 for branch coverage
    Explanation
    The code has two IF statements, so at least two test cases are required for branch coverage. However, the second IF statement is nested inside the first one, so it will only be executed if the condition of the first IF statement is true. Therefore, only one test case is needed to cover both statements. This is why the minimum number of test cases required for full statement and branch coverage is 1 for statement coverage and 2 for branch coverage.

    Rate this question:

  • 23. 

    23.   Functional system testing is:

    • A.

      A)    testing that the system functions with other systems

    • B.

      B)    testing that the components that comprise the system function together

    • C.

      C)    testing the end to end functionality of the system as a whole

    • D.

      D)    testing the system performs functions within specified response times

    Correct Answer
    C. C)    testing the end to end functionality of the system as a whole
    Explanation
    Functional system testing refers to the testing of the end-to-end functionality of the system as a whole. This means that the entire system is tested to ensure that it performs all the required functions and meets the specified requirements. It involves testing the system's functionality from the user's perspective, ensuring that it behaves as expected and delivers the desired outcomes. This type of testing focuses on verifying that the system is working correctly and can handle real-world scenarios, rather than testing individual components or integration with other systems.

    Rate this question:

  • 24. 

    24.    What can static analysis NOT find?

    • A.

      A)    the use of a variable before it has been defined

    • B.

      B)    unreachable (“dead”) code

    • C.

      C)    memory leaks

    • D.

      D)    array bound violations

    Correct Answer
    C. C)    memory leaks
    Explanation
    Static analysis is a method used to analyze code without actually executing it. It can detect issues such as the use of a variable before it has been defined, unreachable code, and array bound violations. However, it is unable to find memory leaks. Memory leaks occur when a program does not release memory that it no longer needs, leading to inefficient memory usage. Static analysis cannot detect this issue because it requires runtime information to determine if memory is being properly managed.

    Rate this question:

  • 25. 

    25.    A typical commercial test execution tool would be able to perform all of the following, EXCEPT:

    • A.

      A)    calculating expected outputs

    • B.

      B)    comparison of expected outcomes with actual outcomes

    • C.

      C)    recording test inputs

    • D.

      D)    reading test values from a data file

    Correct Answer
    A. A)    calculating expected outputs
    Explanation
    A typical commercial test execution tool is designed to automate the execution of test cases and assist in the verification of software functionality. It is capable of recording test inputs, reading test values from a data file, and comparing expected outcomes with actual outcomes. However, calculating expected outputs is typically the responsibility of the tester or test designer, as it requires a deep understanding of the software being tested and the expected behavior. Therefore, a typical commercial test execution tool would not be able to perform this task automatically.

    Rate this question:

  • 26. 

    26.   Expected results are:

    • A.

      A)    only important in system testing

    • B.

      B)    only used in component testing

    • C.

      C)    most useful when specified in advance

    • D.

      D)    derived from the code

    Correct Answer
    C. C)    most useful when specified in advance
    Explanation
    Expected results are most useful when specified in advance because they serve as a benchmark to compare the actual results of a test with the expected outcome. By defining the expected results beforehand, testers can determine whether the system or component being tested is functioning correctly or not. This allows for better tracking of defects and helps in identifying areas where the system or component may not be meeting the desired requirements.

    Rate this question:

  • 27. 

    27.    Which of the following uses Impact Analysis most?

    • A.

      A)    component testing

    • B.

      B)    non-functional system testing

    • C.

      C)    user acceptance testing

    • D.

      D)    maintenance testing

    Correct Answer
    D. D)    maintenance testing
    Explanation
    Maintenance testing is the process of testing changes or modifications made to an existing system or software. Impact analysis is a technique used to assess the potential effects or consequences of these changes on the system. It helps in identifying the areas of the system that may be affected by the changes and allows for targeted testing to ensure that the modifications do not introduce any new issues or problems. Therefore, maintenance testing utilizes impact analysis more than other types of testing mentioned in the options.

    Rate this question:

  • 28. 

    28.    We split testing into distinct stages primarily because:

    • A.

      A)    Each test stage has a different purpose.

    • B.

      B)    It is easier to manage testing in stages.

    • C.

      C)    We can run different tests in different environments.

    • D.

      D)    The more stages we have, the better the testing.

    Correct Answer
    A. A)    Each test stage has a different purpose.
    Explanation
    We split testing into distinct stages primarily because each test stage has a different purpose. This allows us to focus on specific objectives and goals at each stage, ensuring that all aspects of the system or software are thoroughly tested. By dividing testing into stages, we can also allocate resources and manage the testing process more effectively. Additionally, it allows for better traceability and documentation of test results, making it easier to identify and address any issues or defects that may arise during testing.

    Rate this question:

  • 29. 

    29.    Which of the following would NOT normally form part of a test plan?

    • A.

      A)    Features to be tested

    • B.

      B)    Incident reports

    • C.

      C)    Risks

    • D.

      D)    Schedule

    Correct Answer
    B. B)    Incident reports
    Explanation
    Incident reports would not normally form part of a test plan because incident reports are typically generated after the testing phase, when issues or defects are identified and reported. A test plan, on the other hand, is a document that outlines the approach, objectives, resources, and schedule for testing a particular system or software. It includes details such as the features to be tested, risks associated with the testing, and the schedule for executing the tests. Incident reports are important for tracking and resolving issues, but they are separate from the test plan itself.

    Rate this question:

  • 30. 

    30.    Which of the following statements about reviews is true?

    • A.

      A)    Reviews cannot be performed on user requirements specifications.

    • B.

      B)    Reviews are the least effective way of testing code.

    • C.

      C)    Reviews are unlikely to find faults in test plans.

    • D.

      D)    Reviews should be performed on specifications, code, and test plans.

    Correct Answer
    D. D)    Reviews should be performed on specifications, code, and test plans.
    Explanation
    Reviews should be performed on specifications, code, and test plans. This means that it is important to conduct reviews on all three aspects - specifications, code, and test plans - in order to identify any potential faults or issues. Reviews help in identifying errors, improving quality, and ensuring that the requirements are met.

    Rate this question:

Quiz Review Timeline +

Our quizzes are rigorously reviewed, monitored and continuously updated by our expert board to maintain accuracy, relevance, and timeliness.

  • Current Version
  • Apr 29, 2024
    Quiz Edited by
    ProProfs Editorial Team
  • May 27, 2011
    Quiz Created by
    Mohit Zenith

Related Topics

Back to Top Back to top
Advertisement
×

Wait!
Here's an interesting quiz for you.

We have other quizzes matching your interest.