Software Testing Tutorial #17 - What is Functional Testing

Software Testing Mentor
12 Nov 202009:53

Summary

TLDRThis tutorial introduces functional testing in software testing. It explains how functional testing focuses on verifying the functionality of an application, using Gmail as an example. The tutorial walks through testing processes such as account creation and email composition, highlighting the steps involved in manual testing. Functional testing ensures that the application's requirements are met without concern for performance or speed. The video also touches on how functional testing can be automated using tools like Selenium, and mentions that it is a type of black box testing.

Takeaways

  • 😀 Functional testing verifies the functionality of an application.
  • 📧 An example used is creating an account in Gmail, which involves steps like launching the site, providing user details, and verifying account creation.
  • 🧪 Functional testing focuses on the functional aspects, not non-functional aspects like response time or performance.
  • 🔍 Functional requirements are derived from customer or end-user needs and market research.
  • 📄 Testing steps are written as test cases to verify that each requirement is fulfilled by the application.
  • 📝 Each test step, like launching a site or filling out user details, is verified as part of functional testing.
  • 🛠 Functional testing can be automated after manual verification using tools like Selenium.
  • 🔒 Functional testing is considered black-box testing, where the tester doesn’t need to understand the internal code.
  • 📊 Functional testing is one of the first steps in software testing, especially for beginners.
  • 📧 Testing the Gmail example includes functionalities like account creation, email composition, and editing features.

Q & A

  • What is functional testing?

    -Functional testing is the process of testing the functionality of a software application by verifying that it meets the specified requirements. It focuses on checking whether the application performs its intended functions correctly.

  • How is functional testing different from non-functional testing?

    -Functional testing focuses on verifying that the software functions as expected, while non-functional testing assesses aspects like performance, scalability, and security. For example, functional testing checks if you can create an account, whereas non-functional testing evaluates how fast the account is created.

  • Can you give a real-life example of functional testing?

    -A real-life example of functional testing is testing the 'create account' feature in Gmail. The tester verifies that after launching the Gmail website, clicking 'create account,' and entering the necessary user details, the account is successfully created.

  • What are some typical steps in a functional test case for Gmail's 'create account' feature?

    -Typical steps include: launching Gmail's website, clicking on 'create account,' supplying user details (such as first name, last name, email, and password), and clicking the 'create account' button. Each step is verified to ensure proper functionality.

  • What does a functional tester verify when testing a feature like 'compose email' in Gmail?

    -A functional tester verifies that after creating an account, the user can compose an email. The tester checks functionalities within the email editor, such as typing text, formatting options, attaching files, and sending the email.

  • Why is functional testing important in software development?

    -Functional testing is important because it ensures that the software works as intended, meeting the user's requirements and providing a good user experience. It helps identify bugs and issues early in the development process.

  • What is black-box testing, and how does it relate to functional testing?

    -Black-box testing is a testing approach where the tester does not need to know the internal workings of the application. In functional testing, black-box testing is often used, as the tester focuses only on verifying the software's functionality based on user inputs and expected outputs.

  • How can functional testing be automated?

    -Functional testing can be automated by using tools like Selenium to write scripts that mimic user actions (e.g., clicking buttons, filling out forms). Once the functional steps are automated, they can be run repeatedly without manual intervention, saving time and effort.

  • Who are the 'customers' when referring to functional testing?

    -The 'customers' can either be end-users (like the general public in the case of Gmail) or internal stakeholders within a company. Functional testing ensures that the software meets the needs and expectations of these customers.

  • Why is it important to perform manual functional testing before automation?

    -Manual functional testing is important before automation because it allows testers to verify that the core functionalities are working correctly. Once these tests pass, they can be automated to ensure that future changes do not break existing functionality.

Outlines

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Mindmap

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Keywords

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Highlights

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Transcripts

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now
Rate This

5.0 / 5 (0 votes)

Related Tags
Functional TestingSoftware TestingManual TestingTest AutomationGmail ExampleBlack Box TestingSelenium AutomationTesting TutorialUI TestingTesting Process