UNIT 3: Test Execution and Management

   Hey Welcome to BTER Rajasthan Polytechnic.

1. Join Groups for PDF's & Regular Updates
Join the community of Civil Engineering students at BTER Polytechnic and stay updated:


2. Help & Donations 💖

If you find our resources helpful and wish to support our initiative, your donation will help us continue improving and providing valuable study material.

  • UPI ID: garimakanwarchauhan@oksbi
  • QR Code

💰 Your support matters! Every contribution helps us reach more students and provide better resources! 🙏


3. Notes Website

  • Official Notes WebsiteVisit Notes Website 📝
    This website provides all study materials, notes, and important updates for Civil Engineering students.

4. Important Links

Explore the following links for additional resources and exam preparation:



UNIT 3: Test Execution and Management

This unit focuses on the core aspects of test execution and how to manage the entire testing process effectively. It covers topics such as test execution, test oracles, test planning, test strategy, traceability matrix, bug tracking tools like JIRA and Bugzilla, test data mining, and test reporting.


3.1 Test Execution

Test execution refers to the process of running the test cases on the software to validate that it functions as expected. During test execution, testers compare the actual result with the expected result and log any discrepancies (bugs).

Key Steps in Test Execution:

  1. Test Environment Setup: Ensure that the software environment is ready for testing (install the software, configure the hardware, set up databases, etc.).
  2. Run Test Cases: Execute the test cases written earlier, following the predefined test steps.
  3. Record Results: Note the outcome of each test case – whether it passed, failed, or was blocked.
  4. Bug Reporting: If a test fails, report the bug to the development team with all necessary details.
  5. Re-test: If bugs are fixed, re-test to confirm that the issue is resolved.

Example:

If you're testing a "Login" feature, you execute the test case where a valid username and password should successfully log a user in. If it fails (e.g., the system doesn't log in), it is marked as a bug, reported, and re-tested once the fix is applied.


3.2 Test Oracles

A Test Oracle is a mechanism or tool used to determine whether a test case has passed or failed. It is the expected source of truth that helps evaluate the results. In simple terms, it answers the question, "How do you know if the system is correct?"

Types of Test Oracles:

  1. Human Oracle: The tester uses their own knowledge and experience to determine if the test passed or failed.
    • Example: A tester manually checks the login functionality based on the system requirements.
  2. Regression Oracles: Pre-recorded test results used for comparison.
    • Example: You compare current test results with the results from previous versions to check if there are any unexpected changes.
  3. Automated Oracles: Scripts or automated tests that check the behavior of the system.
    • Example: Automated test scripts can check whether a button is clickable on a webpage.

3.3 Test Planning, Test Strategy, and When to Stop Testing

Test Planning

Test planning is the process of defining the strategy, approach, and resources required to conduct testing. It provides a blueprint for the testing process and helps ensure that testing is conducted efficiently.

  • Test Plan Components:
    1. Scope of Testing: What features or functionalities will be tested.
    2. Resources: Who will perform the tests and what tools will be used.
    3. Schedule: Timelines for when each phase of testing will be completed.
    4. Risk Management: Potential risks that could affect testing and mitigation plans.

Test Strategy

A test strategy defines the overall approach to testing and helps guide the entire testing process. It includes decisions like what types of tests will be conducted (e.g., unit tests, integration tests), tools to be used, and how testing will be executed.

  • Key Components of Test Strategy:
    1. Test Types: Functional testing, regression testing, performance testing, etc.
    2. Test Levels: Unit testing, integration testing, system testing, etc.
    3. Test Tools: Automation tools, defect tracking tools, test management tools.
    4. Test Environment: Hardware, software, network configurations, etc.

When to Stop Testing?

The decision to stop testing is not always straightforward, but it can be determined by the following factors:

  1. Test Coverage: All test cases have been executed and passed.
  2. No New Bugs: No major bugs have been found after a certain number of test cycles.
  3. Time Constraints: The allocated time for testing has ended.
  4. Test Exit Criteria Met: All exit criteria (e.g., passing a certain percentage of tests) are satisfied.

3.4 Test Coverage - Traceability Matrix, JIRA, Bugzilla, and Other Bug Tracking Tools

Test Coverage

Test coverage refers to the extent to which the software has been tested. It ensures that all requirements, features, and functionalities are adequately tested. The higher the test coverage, the more confident you can be about the software’s quality.

  • Types of Test Coverage:
    1. Code Coverage: Measures how much of the code has been executed during testing.
    2. Requirements Coverage: Ensures that all business and functional requirements are covered by tests.
    3. Path Coverage: Tests all possible execution paths in the application.

Traceability Matrix

A Traceability Matrix is a document that maps and traces user requirements with the test cases that validate them. It helps ensure that all requirements are covered by tests.

  • Example: A traceability matrix may map a login functionality requirement to test cases that verify username validation, password validation, and the login process.

JIRA and Bugzilla

JIRA and Bugzilla are popular tools used for tracking defects (bugs) and managing the software development lifecycle.

  • JIRA:

    • JIRA is an issue tracking tool commonly used in Agile environments.
    • It allows users to track the status of issues, manage tasks, and monitor progress.
  • Bugzilla:

    • Bugzilla is another bug tracking tool used by many organizations to report and track defects.
    • It helps track bug status, severity, and priority.

Both tools allow users to log bugs, assign them to developers, and track their resolution.


3.5 Test Data Mining

Test Data Mining is the process of extracting relevant data from various sources (e.g., databases, logs, or previous test cases) to create meaningful and useful test cases. By analyzing historical data, testers can identify patterns, potential areas for failure, and generate better test cases.

Steps in Test Data Mining:

  1. Data Collection: Gather data from various sources, including past test cases, application logs, and production data.
  2. Data Analysis: Identify patterns, edge cases, and unusual scenarios in the data.
  3. Test Case Generation: Based on the analysis, create test cases to cover scenarios that might not have been considered during initial planning.

Example:

If you are testing an e-commerce platform, you could analyze past transactions to generate test data for different payment methods, shipping addresses, or order amounts.


3.6 Test Reporting

Test Reporting involves documenting the results of the testing process and providing feedback to stakeholders (e.g., developers, product owners, management).

Key Elements of a Test Report:

  1. Test Summary: A high-level summary of the testing activities.
  2. Test Case Execution Results: Details of which test cases passed, failed, or were blocked.
  3. Defects: A list of any bugs or issues found during testing.
  4. Test Coverage: Information about which features or requirements were covered by tests.
  5. Test Environment: Details of the environment in which testing was conducted (e.g., operating systems, browsers, hardware).
  6. Test Metrics: Metrics such as the number of test cases executed, defects found, etc.
  7. Recommendations: Suggestions for improvements or areas needing further testing.

Example of a Test Report:

Test Case IDTC001
Test CaseLogin functionality
StatusPass
Defects FoundNone
Test Coverage100% (All login scenarios tested)
Test EnvironmentWindows 10, Chrome 90
Test Metrics50 test cases executed, 1 defect found

Summary of Topics:

  1. Test Execution: The process of running test cases, comparing results, and reporting bugs.
  2. Test Oracles: A source of truth to determine if a test passed or failed (can be human, regression, or automated).
  3. Test Planning & Strategy: Outlines the scope, approach, resources, and schedule for testing, including when to stop testing.
  4. Test Coverage: Ensures that all requirements and functionalities are covered, measured by code, requirements, and path coverage.
  5. Traceability Matrix: Maps requirements to corresponding test cases to ensure full test coverage.
  6. Bug Tracking Tools (JIRA, Bugzilla): Used to track and manage bugs throughout the development cycle.
  7. Test Data Mining: Extracting relevant test data from past experiences to create new, meaningful test cases.
  8. Test Reporting: Documents and communicates the testing process, results, and defects to stakeholders.

📢 🔔 Download PDF & Join Study Groups:
📥 WhatsApp Group: Join Now
📥 Telegram Channel: Join Now
📺 Watch Lecture on YouTube: BTER Polytechnic Classes
📍 Stay connected for more study materials! 🚀

Thank You for Visiting!

We wish you all the best for your studies. Keep learning, and don't hesitate to reach out for help! 📚✨

Post a Comment

0 Comments