May 20, 2023

Functional Testing

Great job on starting a new lesson! After reading this lesson, click Next 👉 button at bottom right to continue to the next lesson.

In software testing, functional testing is a test type that validates the functionality and features of your software with respect to the functional requirements. Functional testing focuses on the output of each functionality.

Functional testing examples

  • Unit testing: You test the functionality of each unit or component of the software separately. You test the outputs of each unit, for a variety of test inputs.
  • Integration testing: You test the individual units or components of your software system together as a group. You test the control flow and data flow between units.
  • User acceptance testing: You test if the system meets the end user needs and expectations.
  • Regression testing: You test if the system still works correctly and completely after any changes or modifications. In other words, you test if the changes did not break any existing functionality.

Tips for functional testing

  • Get complete and correct functional requirements for the software and understand the functionalities clearly.
  • Design test cases that cover the possible scenarios and edge cases for each functionality.
  • Prioritize the tests based on the test objectives in your test plan.
  • Use standard test automation tools and techniques for functional testing, such as keywords, page objects and data-driven testing.
  • Report defects clearly and promptly.
  • Use the project test management tool to track and report the test results.
  • Update the test suite (i.e. all test cases) to keep it relevant and effective.

FAQ (interview questions and answers)

  1. What is the difference between functional testing and non-functional testing?
    Functional testing is a test type that validates the functionality and features of the software against the functional requirements and specifications. Non-functional testing are the test types that validate the other (non-functional) aspects of the software, such as performance, usability, security, etc.
  2. What are the benefits of functional testing?
    It finds the functional quality of the software, reduces the risk of unexpected issues and failures in using the system, tests compliance with functional requirements and specifications, and avoids the cost of downstream defect fixes.
  3. What challenges did you face in functional testing?
    It can be time-consuming, resource-intensive, repetitive, and complex. It requires correct and complete requirements and specifications. It is not possible to test all scenarios. It may not detect non-functional issues. It may be difficult to prioritize the selected test cases for functional testing.
  4. Is user acceptance testing a type of functional testing?
    Yes, user acceptance testing (UAT) is a type of functional testing that tests whether the system meets the end user needs and business requirements, in real-world conditions.
  5. How to measure the progress of functional testing?
    By measuring the number of test cases executed vs test cases planned, number of defects fixed vs found, number of functionalities validated, number of requirements met vs total requirements etc.
Remember to just comment if you have any doubts or queries.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.