Software Testing Objectives and Principles

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

When the tester verifies the test basis while designing tests early in the lifecycle, which test objective is being achieved?

  • Finding defects
  • Evaluating work products (correct)
  • Gaining confidence
  • Providing information for decision making

In some Agile teams, people are encouraged to use their skills to help the team, regardless of their role. This could mean that testers help the developers write code and developers help testers test. What is this approach called?

  • Whole Team (correct)
  • First Aid
  • Skills First
  • Team Aid

Which of the following is a correct statement?

  • 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 bug that may be seen as a defect when the software is executed
  • 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 (correct)

Why is it important to avoid the principle of tests wearing out?

<p>Running the same tests repeatedly will reduce the chance of finding new failures (B)</p>
Signup and view all the answers

When following a standard test process, when should the test control activity take place?

<p>During all the activities (B)</p>
Signup and view all the answers

Which of the following is the activity that compares the planned test progress to the actual test progress?

<p>Test monitoring (A)</p>
Signup and view all the answers

If you are working on a project that is constrained by time and budget, which is pressuring testing to be done quickly. How should the test approach be adjusted?

<p>Use techniques such as exploratory and checklist testing to spend less time on test case development (C)</p>
Signup and view all the answers

What is the biggest problem with a developer testing his own code?

<p>Developers are not objective about their own code (C)</p>
Signup and view all the answers

Which of the following is an example of a good testing practice?

<p>Testers should review requirements documents as soon as a readable draft is available (C)</p>
Signup and view all the answers

When coding is directed by the test cases, what development approach is being used?

<p>TDD (D)</p>
Signup and view all the answers

During which level(s) of testing should non-functional tests be executed?

<p>Unit, integration, system and acceptance only (C)</p>
Signup and view all the answers

When a system is targeted for decommissioning, what type of maintenance testing may be required?

<p>Data migration testing (A)</p>
Signup and view all the answers

In an iterative lifecycle model, which of the following is an accurate statement about testing activities?

<p>For every development activity, there should be a corresponding testing activity (A)</p>
Signup and view all the answers

In what way is CI/CD an example of the concept of shift-left?

<p>It requires continuous testing throughout the pipeline (D)</p>
Signup and view all the answers

In a formal review, which role is normally responsible for documenting all the open issues?

<p>The scribe (C)</p>
Signup and view all the answers

What is the primary reason to get early and frequent feedback from stakeholders regarding a product being developed?

<p>To ensure that their vision for the product will be realized (C)</p>
Signup and view all the answers

Which of the following is a benefit of static analysis?

<p>Defects can be identified that might not be caught by dynamic testing (A)</p>
Signup and view all the answers

For a formal review, at what point in the process are the exit criteria defined?

<p>Planning (D)</p>
Signup and view all the answers

Which of the following test techniques uses the requirements specifications as a test basis?

<p>Black-box (C)</p>
Signup and view all the answers

If you are testing a module of code, how do you determine the level of branch coverage you have achieved?

<p>By taking the number of branches you have tested and dividing that by the total number of branches in the module (B)</p>
Signup and view all the answers

If you have a section of code that has one simple IF statement, how many tests will be needed to achieve 100% branch coverage?

<p>2 (D)</p>
Signup and view all the answers

Which of the following is a good reason to use experience-based testing?

<p>You can find defects that might be missed by more formal techniques (A)</p>
Signup and view all the answers

What is error guessing?

<p>A testing technique used to guess where a developer is likely to have made a mistake (C)</p>
Signup and view all the answers

When using the 3 C's technique for user story development, what is the work product that is created for the Confirmation aspect?

<p>Acceptance Criteria (B)</p>
Signup and view all the answers

You are testing a machine that scores exam papers and assigns grades. Based on the score achieved the grades are as follows: 1-49 = F, 50-59 = D-, 60-69 = D, 70-79 = C, 80-89 = B, 90-100=A. If you apply equivalence partitioning, how many test cases will you need to achieve minimum test coverage?

<p>8 (D)</p>
Signup and view all the answers

You are testing a thermostat for a heating/air conditioning system. You have been given the following requirements: When the temperature is below 70 degrees, turn on the heating system When the temperature is above 75 degrees, turn on the air conditioning system When the temperature is between 70 and 75 degrees, inclusive, turn on fan only Which of the following is the minimum set of test temperature values to achieve 100% two-value boundary value analysis coverage?

<p>69, 70, 75, 76 (A)</p>
Signup and view all the answers

You have been given the conditions and results for a system (details in table). Given this information, using the decision table technique, what is the minimum number of test cases you would need to test these conditions? (Conditions: Valid cash, Valid credit card, Valid debit card, Valid pin, Bank accepts, Valid Selection, Item in Stock. Results: Reject Cash, Reject Card, Error Message, Return Cash, Refund Card, Sell Item)

<p>15 (C)</p>
Signup and view all the answers

You have been given the following requirement: A user must log in to the system with a valid username and password. If they fail to enter the correct combination three times, they will receive an error and will have to wait 10 minutes before trying again. The test terminates when the user successfully logs in. How many test cases are needed to provide 100% state transition coverage?

<p>1 (A)</p>
Signup and view all the answers

You are creating test cases for the following story, applying the ATDD approach. As a hotel owner I want to reserve all the rooms on a floor before moving to the next floor So I can maximize the efficiency of the housekeeping staff You have decided to apply equivalence partitioning to this requirement and have identified the following partitions for the occupancy of a floor: 0 | 1 - floor full | overbooked You also want to be sure that the software is usable by the staff and that it performs quickly in determining which floors have availability. Given this information, what should be the priority order for the tests you will design?

<p>0, 1-floor full, overbooked, usability, performance (A)</p>
Signup and view all the answers

A metric that tracks the number of test cases passed is gathered during which activity in the test process?

<p>Execution (D)</p>
Signup and view all the answers

You are working in a team of testers who are all writing test cases. You have noticed that there is a significant inconsistency with the length and amount of detail in the different test cases. Where should the criteria for test case writing be documented?

<p>The test plan (B)</p>
Signup and view all the answers

Unit tests belong in which testing quadrant?

<p>Q1 (D)</p>
Signup and view all the answers

Which of the following is a project risk?

<p>A problem with the development manager which is resulting in his rejecting all defect reports (D)</p>
Signup and view all the answers

Which of the following variances should be explained in the Test Summary Report?

<p>The variances between what was planned for testing and what was actually tested (D)</p>
Signup and view all the answers

If the developers are releasing code for testing that is not version controlled, what process is missing?

<p>Configuration management (B)</p>
Signup and view all the answers

Your team is using Planning Poker to estimate the effort for a story. Developer Votes: 3 (1st), 5 (2nd), 5 (3rd) Tester Votes: 8 (1st), 8 (2nd), 5 (3rd) Although three votes were taken to reach consensus, how many story points should be allocated to the story?

<p>5 because that was the consensus (B)</p>
Signup and view all the answers

You have been given the following set of test cases to run (details in table). You have been instructed to run them in order by risk and to accomplish the testing as quickly as possible to provide feedback to the developers as soon as possible. Test Case ID | Duration | Risk Priority | Dependency 1 | 30 mins | Low | 6 2 | 10 mins | Medium | none 3 | 45 mins | High | 1 4 | 30 mins | High | 2 5 | 10 mins | Medium | 4 6 | 15 mins | Low | 2 Given this information, what is the best order in which to run these tests?

<p>2, 4, 5, 6, 1, 3 (B)</p>
Signup and view all the answers

You have been testing software that will be used to track credit card purchases. You have found a defect that causes the system to crash, but only if a person has made and voided 10 purchases in a row. What is the proper priority and severity rating for this defect?

<p>Priority low, severity high (A)</p>
Signup and view all the answers

Which of the following is an example of a tool that supports static testing?

<p>A tool that assists with tracking the results of reviews (B)</p>
Signup and view all the answers

Which of the following is a benefit of test automation?

<p>Test execution is faster (D)</p>
Signup and view all the answers

Flashcards

Test Objective

Evaluating work products to achieve test objectives.

Whole Team Approach

An approach where team members leverage skills regardless of roles to achieve common goals.

Error, Defect, Failure

A mistake by a developer that causes a defect, potentially leading to failure during dynamic testing.

Tests Wearing Out

Running the same tests repeatedly reducing the chance of discovering new defects.

Signup and view all the flashcards

Test Control Activity

Ensuring a project stays on track by taking corrective actions based on monitoring information.

Signup and view all the flashcards

Test Monitoring

The activity that compares planned test progress to actual test progress.

Signup and view all the flashcards

Adjust Test Approach

Using techniques like exploratory testing to save time.

Signup and view all the flashcards

Developer Testing Drawbacks

Developers may have biases towards their own code.

Signup and view all the flashcards

Good Testing Practice

Testers reviewing requirements documents as soon as a readable draft is available.

Signup and view all the flashcards

Test-Driven Development

TDD is a test-driven development approach.

Signup and view all the flashcards

Non-Functional Tests

Execute non-functional tests at all levels of testing.

Signup and view all the flashcards

Data Migration Testing

Data migration testing involves moving data to another or archival system.

Signup and view all the flashcards

Iterative Testing Activities

For every development activity, there should be a corresponding testing activity.

Signup and view all the flashcards

CI/CD Shift-Left Example

CI/CD requires continuous testing throughout the pipeline.

Signup and view all the flashcards

Scribe's Role

Documenting all issues, problems, and open points.

Signup and view all the flashcards

Early Feedback

Ensuring what they are building is what the stakeholders want.

Signup and view all the flashcards

Benefit of Static Analysis

Defects that might not be caught by dynamic testing.

Signup and view all the flashcards

Defining Exit Criteria

Entry and exit criteria should be defined during the planning step.

Signup and view all the flashcards

Black-box Test Basis

Black-box testing is based off the requirements documents.

Signup and view all the flashcards

Branch Coverage

By dividing the former by the latter.

Signup and view all the flashcards

Error Guessing

Error guessing involves anticipating where developers are likely to make mistakes and to create tests to cover those areas.

Signup and view all the flashcards

The Confirmation Aspect

Acceptance Criteria

Signup and view all the flashcards

The design of test cases

This tests the valid scenarios first, then invalid (overbooked), then the non-functional tests.

Signup and view all the flashcards

Test execution metrics

Gathered during the Test Execution activity; these metrics are used in reporting.

Signup and view all the flashcards

Good test case documentation

The level of detail and structure for the test documentation should be included in the test plan as part of the criteria for the performance of testing activities.

Signup and view all the flashcards

Study Notes

Test Objective Identification

  • Verifying the test basis early during test design achieves the objective of evaluating work products.
  • Dynamic testing primarily achieves objectives like gaining confidence, finding defects, and informing decision-making.

Whole Team Approach Benefits

  • Agile teams use the Whole Team approach, where members apply skills to assist the team.
  • Testers might help developers with code and developers might aid testers in testing, regardless of roles.

Root Cause, Error, Defect, and Failure

  • A developer's mistake causes a defect which may be seen as a failure during dynamic testing.
  • A developer's mistake/error leads to a defect/fault/bug, causing a failure when the code is dynamically tested or executed.

Testing Principles

  • Avoiding tests wearing out is important, as running the same tests repeatedly reduces the chance of finding new failures.
  • Repeated tests become less effective over time.

Test Activities and Tasks

  • Test control occurs throughout a project to ensure it stays on track, using monitoring information to determine necessary actions.
  • Test monitoring compares planned test progress to actual test progress.

Context Impact on Test Process

  • In time- and budget-constrained projects, use exploratory and checklist testing to spend less time on test case development.
  • These techniques adjust to the project context, requiring less documentation and allowing quicker test execution.

Independence of Testing

  • A developer testing their own code could risk the fact the developers are not objective about their own code.
  • Testers and developers think differently, allowing testers to be more objective because they are not invested in the code.

Good Testing Practices

  • Reviewing requirements as soon as a readable draft is available is good testing practice.
  • Test design should begin during code design and implementation, not after the code is completed.

Test-First Approaches

  • Coding directed by test cases means test-driven development (TDD) is being used.

Test Levels

  • Non-functional tests should be executed at all test levels (unit, integration, system, and acceptance).

Maintenance Testing and Triggers

  • When decommissioning a system, data migration testing might be required.
  • Data migration may involve moving to another system or an archival system.

Development Lifecycle Impact

  • In an iterative lifecycle model, every development activity should have a corresponding testing activity.
  • It is correct for any lifecycle model.

Shift-Left Approach

  • CI/CD incorporates the shift-left concept through continuous testing throughout the pipeline.
  • CI/CD starts testing as early as possible, moving it to the left in the timeline.

Review Roles

  • In a formal review, the scribe documents all open issues, problems, and points.

Stakeholder Feedback Benefits

  • Early and frequent stakeholder feedback ensures the product being developed meets their vision.

Static Testing

  • Static analysis can identify defects, like uninitialized variables, that dynamic testing might miss.

Review Process

  • Exit a formal review, entry and exit criteria should be defined during the planning stage.
  • These criteria should be evaluated at each step to ensure product readiness.

Test Techniques

  • Black-box testing uses requirements specifications as a test basis.
  • Black-box differs from techniques that use the software structure as a test basis

Branch Testing

  • Branch coverage determines the level based on number of branches tested divided by the total number of branches.
  • A section of code with a simple IF statement needs two tests for 100% branch coverage.
  • Simple IF statement will be composed of IF... then... else.... end if - has two branch outcomes, true and false, which needs at least one test case.

Exploratory Testing

  • Experience-based testing can find defects missed by more formal techniques.
  • Experience testing fills the gaps left by more formal testing techniques.

Error Guessing

  • Error guessing anticipates where developers are likely to make mistakes and creates tests to cover those areas.

User Stories

  • Acceptance criteria is the work product created for Confirmation in the 3 C's technique for user story development.

Equivalence Partitioning

  • Applying equivalence partitioning to a grading machine would need 8 test cases for minimum test coverage.
  • Tests are needed for the invalid low, each valid partition, and the invalid high test coverage

Boundary Value Analysis

  • Testing a thermostat requires a minimum set of test temperature values (69, 70, 75, 76) for 100% two-value boundary value analysis coverage.

Decision Table Testing

  • Using the decision table technique, 15 test cases are needed to test the condition.

State Transition Testing

  • A log in requirement can be tested with one test case to provide 100% state transition coverage

Acceptance Test-Driven Development (ATDD)

  • Prioritize tests based on the ATDD approach: valid scenarios, invalid (overbooked), then non-functional tests.

Testing Metrics

  • A metric tracking the number of test cases passed is gathered during execution.
  • Test execution metrics are used in reporting.

Test Plan

  • Documenting criteria for writing test cases: length and detail, should be in the test plan.
  • The test plan should should include the level of detail and structure for the test documentation as criteria for the performance of testing activities.

Testing Quadrants

  • Unit or component tests belong in quadrant 1.

Project Risks

  • Problems with the development manager rejecting defect reports is an example of a project risk.
  • Problems with modules, failed performance, or any interface issues are examples of product risks.

Test Reports

  • A Test Summary should explain variances/deviations between the test plan and the actual testing.
  • The Test summary report should not explain any information on weekly status reports, defects found/fixed, or the amount of test cases.

Configuration Management

  • If code is released for testing without version control, configuration management is missing.
  • Configuration management is not performed if code is not being properly versioned or tracked.

Estimation techniques

  • Voting should continue until the consensus is reached and that number should be used to assign the points to the story.
  • Using Planning Poker to estimate effort for a story requires three votes.

Test case prioritization

  • It's is best in cases that address the highest risk tests first in order to provide the developers feedback quickly..

Defect Reports

  • A defect only causes a system crash after being invoked an unlikely chain of events.
  • Has severity high, defect would have low priority.

Test Tools

  • A tool that assists with tracking the result of reviews is an example of a tool that supports static testing.
  • It is a tool that would support and track reviews.

Test Automation

  • Test execution should be faster with automation than with manual testing.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser