Lesson 04 - Functional Testing, Structural Testing Automated Testing

Page 1: Risk Analysis and System Training

  • Overview of Testing Types

    • Functional Testing

    • Structural Testing

    • Automated Testing

Page 2: Types of Testing

  • Functional Testing

    • Unit Testing

    • Integration Testing

    • Smoke / Sanity Testing

    • User Acceptance Testing

    • Localization

    • Globalization

    • Interoperability

  • Non-Functional Testing

    • Performance

    • Endurance

    • Load

    • Volume

    • Scalability

    • Usability

  • Maintenance Testing

    • Regression Testing

    • Maintenance Testing

Page 3: Common Functional Testing Methods

  • Unit Testing

    • Tests individual units of software during development to verify correctness.

  • Integration Testing

    • Combines individual units and tests to identify faults in interactions.

  • Smoke Testing

    • Checks basic components of the software after a build to ensure proper functionality.

Page 4: More Functional Testing Methods

  • User Acceptance Testing

    • Formal testing to determine if the system meets acceptance criteria, performed by the customer.

  • Localization Testing

    • Adapting applications to specific culture/locale, typically done by testing teams.

  • Globalization Testing

    • Tests functionality across various culture/locale settings using international inputs.

Page 5: Non-Functional Testing Methods

  • Performance Testing

    • Assesses software performance under expected workloads, focusing on response time, reliability, scalability.

  • Exploratory Testing

    • Informal testing without predefined plans or test cases.

  • Load Testing

    • Evaluates application behavior under expected load conditions.

Page 6: Additional Non-Functional Testing Methods

  • Volume Testing

    • Analyzes system performance by increasing data volume in the database, also known as Flood Testing.

  • Scalability Testing

    • Evaluates an application’s ability to handle increased data volume and user traffic.

  • Usability Testing

    • Tests software ease of use by observing real users completing tasks.

  • Security Testing

    • Ensures protection from intrusions and vulnerabilities.

Page 7: Maintenance Testing

  • Regression Testing

    • Identifies software errors after changes (e.g., bug fixes, new features) by retesting.

  • Maintenance Testing

    • Evaluates deployed software during enhancements, modifications, or migrations.

Page 8: Functional Testing Overview

  • Focus: Ensures software meets functional requirements and behaves correctly from the user's perspective.

  • Risk Mitigation: Identifies risks related to functionality, ensuring critical functions operate as intended.

  • Techniques: Involves black-box testing and user acceptance testing, concentrating on functional criteria without internal code review.

Page 9: Functional Testing Types

  • Unit Testing

  • Integration Testing

  • User Acceptance Testing

  • System Testing

  • Functional Testing

  • Regression Testing

  • Sanity Testing

  • Smoke Testing

Page 10: Structural Testing

  • Definition: Also known as white-box testing; examines internal code structure for correctness and security.

  • Techniques Used: Code coverage analysis, path testing, mutation testing help identify risks.

Page 11: Automated Testing

  • Definition: Utilizes software tools to automate test execution, improving efficiency and accuracy.

  • Role in Risk Mitigation: Reduces risks from time constraints and human error, allowing efficient functional testing across multiple platforms with tools like Selenium.

Page 12: Conclusion

  • Thank you for reviewing the testing strategies!