2. Concepts of Software Testing – Test Yourself

Please find the answers at the end of the test.

Q1. Which 2 statements best describe what Software Testing is?

  1. The process of checking whether the results of an activity matches the expected results
  2. To ensure that the results of an activity always matches the expected results
  3. The process of checking that the software system, being tested, is free of defects (bugs)
  4. To ensure that the software system, being tested, is free of all defects (bugs)

Q2. Which of the following 3 statements is the Software Test Team looking to check?

  1. The tested system works
  2. The system works to the agreed requirements of the customer
  3. The delivered functionality works correctly,  defect and bug free
  4. The system performs adequately
  5. The system is usable and its performance reaches the agreed standard 

Q3. Which of the following 2 things can “Test Analysts” identify through testing?

  1. Gaps in Requirements
  2. Poor coding standards produced by Developers
  3. That the Requirements will blow the Project’s budget
  4. Errors (defects / bugs)

Q4. Which 3 of the following are benefits of Software Testing:

  1. Improves software quality
  2. Ensures the software is delivered on time
  3. Helps reduce development costs
  4. Ensures the Project’s budget is met
  5. Helps improve performance

Q5. Which 4 of the following statements best describes why we test software? 

  1. Software is designed and developed by humans, therefore, mistakes can be made
  2. To ensure that no defects are found
  3. To ensure that the safety of human lives for certain systems
  4. To ensure the economical survival of businesses
  5. To ensure systems are up and running 100% of the time
  6. To determine how successful systems are

Q6. Which of the following IT personnel perform testing activities?

  1. Business Analyst
  2. Developer
  3. Designer (Architect)
  4. Test Manager

Q7. Which of the following activities would a manual Test Analyst perform?

  1. Writing of a Test Strategy or Test Plan
  2. Writing of Test Cases
  3. Producing a System Design
  4. Executing Manual Tests
  5. Executing Automation Tests

Q8. In large companies who would perform testing to see if a system is running fast enough?

  1. Automation Test Team
  2. Performance Test Team
  3. Manual Test Analyst

Q9. Which of the following 3 statements is a benefit of having a Seperate Test Team?

  1. They have a separate budget solely for training Test Team members
  2. It is cheaper to test
  3. They are dedicated to only test, therefore, are more likely to be experts in the field of testing and dedicated to finding errors
  4. They provide a fresh pair of eyes to test functionality that has been coded and can provide early testing in a Project

Q10. Which of the following are the 7 “Principles of Software Testing”?

  1. Testing shows the presence of defects
  2. Exhaustive testing is “impossible”
  3. Testing is about preventing errors 
  4. Early testing
  5. Exhaustive testing can be achieved
  6. Defects means poor development
  7. Defect clustering
  8. Pesticide paradox
  9. Testing is context dependent
  10. Absence of errors is a myth

Q11. Place the following in the correct order for the Software Test Process (Fundamental Test Process):

  1. Test Analysis and Design
  2. Test Planning and Control
  3. Test Closure activities
  4. Evaluating Exit Criteria and Reporting
  5. Test Implementation and Execution

Q12. Which activities would be performed in the “Test Planning and Control” phase of a “Software Test Process”?

  1. Produce Test Cases
  2. Specify the Test Strategy for a Project
  3. Determine the Scope of Testing, the Test Approach and the required Test Resources needed  for a Project
  4. Execute the Test Cases
  5. Design the High Level Tests to be performed
ANSWERS:

Q1. Which 2 statements best describe what Software Testing is?

  1. The process of checking whether the results of an activity matches the expected results
  2. To ensure that the results of an activity always matches the expected results
  3. The process of checking that the software system, being tested, is free of defects (bugs)
  4. To ensure that the software system, being tested, is free of all defects (bugs)

Answer:

1 and 3. 

Testing cannot ensure that a system works and that it is free of defects! It can only check that the system is working as required and that there are no defects and then feed its results back to have issues fixed 

Q2. Which of the following 3 statements is the Software Test Team looking to check?

  1. The tested system works
  2. The system works to the agreed requirements of the customer
  3. The delivered functionality works correctly,  defect and bug free
  4. The system performs adequately
  5. The system is usable and its performance reaches the agreed standard 

Answer:

2, 3 and 5. 

1 and 4 are too vague, they need to be quantified. 

To simply say that the System Works is like saying that a car works, because the engine turns over, even though it has no wheels and can’t drive away! 

Again, to say that the system performs adequately would be like saying that an online retail application performs, even though it takes 5 minutes for a product page to return!

Q3. Which of the following 2 things can “Test Analysts” identify through testing?

  1. Gaps in Requirements
  2. Poor coding standards produced by Developers
  3. That the Requirements will blow the Project’s budget
  4. Errors (defects / bugs)

Answer:

1 and 4. 

Number 2 would be a Developer’s job and number 3 would be the job of the person looking after a Project (the Project Manager) 

Q4. Which 3 of the following are benefits of Software Testing:

  1. Improves software quality
  2. Ensures the software is delivered on time
  3. Helps reduce development costs
  4. Ensures the Project’s budget is met
  5. Helps improve performance

Answer:

1, 3 and 5. 

Indirectly, testing can improve a system by finding defects and fixing them, help reduce development costs by finding issues early on in a project and help with performance by testing that the system performs to a standard set by the Customer’s Requirements  

Q5. Which 4 of the following statements best describes why we test software? 

  1. Software is designed and developed by humans, therefore, mistakes can be made
  2. To ensure that no defects are found
  3. To ensure that the safety of human lives for certain systems
  4. To ensure the economical survival of businesses
  5. To ensure systems are up and running 100% of the time
  6. To determine how successful systems are

Answer:

1, 3, 4 and 6. 

Testing has no direct influence on the quality, cost savings and success of a Software Project, it can only report the fact that there are issues, then indirectly helping by having any problems fixed and retesting them.

Number 2: Testing cannot ensure that no defects will be found, they can only check to see if there are any

Number 5: Testing has no direct influence on whether a system is up and running 100% of the time, it can only check that hopefully no defects or performance issues exist to bring the system down

Q6. Which of the following IT personnel perform testing activities?

  1. Business Analyst
  2. Developer
  3. Designer (Architect)
  4. Test Manager

Answer:

All these roles can be involved in testing, as can all members of a Software Development Life Cycle Team (Project Team). Testing not only means testing a system dynamically (hands on), but it can mean statically testing by reviewing documents (Requirements, Design docs). 

A Business Analyst and Designer would definitely get involved with reviewing a each others and their peer’s Requirements / Design documents

A Developer would need to review a peer’s code

A Test Manager, along with reviewing Requirements and Designs, would be the one to produce the overall Test Plan of a Project

Q7. Which of the following activities would a manual Test Analyst perform?

  1. Writing of a Test Strategy or Test Plan
  2. Writing of Test Cases
  3. Producing a System Design
  4. Executing Manual Tests
  5. Executing Automation Tests

Answer:

2 and 4.

possibly 5. A Test Analyst can have both Manual and Automation skills. Albeit, a Test Analyst with Automation is usually called an Automation Test Analyst or Software Test Engineer or Developer in Test.

Number 1 is usually done by a Test Manager.

Number 3 is done by a System / Software Architect (Designer).

Q8. In large companies who would perform testing to see if a system is running fast enough?

  1. Automation Test Team
  2. Performance Test Team
  3. Manual Test Analyst

Answer:

2

Q9. Which of the following 3 statements is a benefit of having a Seperate Test Team?

  1. They have a separate budget solely for training Test Team members
  2. It is cheaper to test
  3. They are dedicated to only test, therefore, are more likely to be experts in the field of testing and dedicated to finding errors
  4. They provide a fresh pair of eyes to test functionality that has been coded and can provide early testing in a Project

Answer:

1, 3 and 4.

Number 2: It is not necessarily cheaper. The upfront costs of having a separate team will be more expensive, but by having a separate team, hopefully, costly errors can be found early and better quality will be provided…therefore, making great savings on big projects

Q10. Which of the following are the 7 “Principles of Software Testing”?

  1. Testing shows the presence of defects
  2. Exhaustive testing is “impossible”
  3. Testing is about preventing errors 
  4. Early testing
  5. Exhaustive testing can be achieved
  6. Defects means poor development
  7. Defect clustering
  8. Pesticide paradox
  9. Testing is context dependent
  10. Absence of errors is a myth

Answer:

Numbers 3, 5 and 6 should not be included in this list, the rest are the 7 Principles

Q11. Place the following in the correct order for the Software Test Process (Fundamental Test Process):

  1. Test Analysis and Design
  2. Test Planning and Control
  3. Test Closure activities
  4. Evaluating Exit Criteria and Reporting
  5. Test Implementation and Execution

Answer:

2, 1, 5, 4,  3

Q12. Which activities would be performed in the “Test Planning and Control” phase of a “Software Test Process”?

  1. Produce Test Cases
  2. Specify the Test Strategy for a Project
  3. Determine the Scope of Testing, the Test Approach and the required Test Resources needed  for a Project
  4. Execute the Test Cases
  5. Design the High Level Tests to be performed

Answer:

2, 3 and 4 belong to the Test Planning and Control phase.

Number 1 would be done in the Test Implementation and Execution phase.

Number 5 would be done in the Test Analysis and Design phase.


Return To Lesson ⇒ 2. Concepts of Software Testing