Functional Testing vs Non-Functional Testing | Software Testing Training | Edureka

edureka!
6 Mar 201915:54

Summary

TLDRThis video delves into the two main types of software testing: functional and non-functional testing. It explains the role of software testing in evaluating applications, identifying defects, and ensuring they meet user requirements. The video contrasts functional testing, which focuses on verifying specific functionalities, with non-functional testing, which assesses performance, usability, and other non-functional aspects. The speaker also highlights different test types within both categories, such as unit testing, integration testing, load testing, and security testing, while emphasizing their importance in ensuring software reliability and quality.

Takeaways

  • 😀 Software testing is a process to evaluate the functionality and quality of an application, aiming to identify defects and ensure that requirements are met.
  • 😀 There are two major types of software testing: **Functional Testing** and **Non-Functional Testing**. Each serves a different purpose in evaluating software performance.
  • 😀 Functional Testing focuses on validating the software’s functionalities (e.g., login, processing data), ensuring the application works as expected.
  • 😀 Non-Functional Testing focuses on how the system performs under various conditions, evaluating aspects like performance, scalability, and security.
  • 😀 Functional Testing is a **black-box testing** method where the tester does not need knowledge of the system’s internal workings, only its expected behavior.
  • 😀 Non-Functional Testing includes performance testing, which checks the system’s ability to handle various workloads, such as **load**, **stress**, and **endurance** testing.
  • 😀 Functional Testing is executed first and often involves unit testing, integration testing, system testing, regression testing, and user acceptance testing (UAT).
  • 😀 Non-Functional Testing is executed after Functional Testing and includes types like installation testing, security testing, and documentation testing.
  • 😀 The primary objective of **Functional Testing** is to verify that the software behaves according to user specifications, answering the 'what' it does.
  • 😀 **Non-Functional Testing** focuses on answering the 'how'—how the system performs, how it interacts with users, and how secure it is.
  • 😀 Use cases for **Functional Testing** include verifying login functionality and form validation, while **Non-Functional Testing** can be used to check page load times and system performance under different conditions.

Q & A

  • What is software testing, and why is it important?

    -Software testing is a process used to evaluate the functionality of a software application to ensure that all requirements are met and that the system operates defect-free. Its primary purpose is to detect software failures and improve the system's quality, ensuring that users experience minimal risk of software failures.

  • What are the two major types of software testing?

    -The two major types of software testing are functional testing and non-functional testing. Functional testing evaluates the software against specific functional requirements, while non-functional testing assesses aspects such as performance, usability, and security.

  • What is the key difference between functional and non-functional testing?

    -Functional testing focuses on verifying if the system works according to user requirements, answering 'what' the system should do. Non-functional testing, on the other hand, evaluates 'how' the system performs under various conditions, such as performance, usability, and security.

  • What does functional testing validate?

    -Functional testing validates the core functionalities of an application, such as login functionality, data processing, and user interaction based on specified requirements. It ensures that the system performs the intended tasks correctly.

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

    -Black-box testing is a method where the internal structure or workings of the system are not known to the tester. In the context of functional testing, black-box testing is used to validate the functionality of the software without considering its internal implementation.

  • What is non-functional testing, and what does it assess?

    -Non-functional testing evaluates the non-functional aspects of a software application, such as its performance, usability, scalability, and security. It helps determine how well the system performs under load, its reliability, and its ability to meet user expectations.

  • What are the types of testing under functional testing?

    -Functional testing includes unit testing, integration testing, system testing, interface testing, regression testing, and user acceptance testing. Each type targets different levels of the system, from individual components to full system integration and real-world usage scenarios.

  • How does the execution process differ between functional and non-functional testing?

    -Functional testing is executed before non-functional testing because it focuses on defining the core test cases related to the system's functionality. Non-functional testing, which evaluates performance and other non-functional requirements, is carried out after the functional tests have been defined.

  • What is the relationship between user requirements and functional versus non-functional testing?

    -Functional testing is primarily concerned with meeting the user's functional requirements—ensuring the system performs the intended tasks. Non-functional testing, however, focuses on meeting user expectations regarding system behavior, such as performance and reliability, rather than the specific functions of the system.

  • What is the role of security testing in non-functional testing?

    -Security testing, a key part of non-functional testing, ensures that the software application protects its data and resources from unauthorized access and potential intrusions. This is vital for maintaining the integrity and safety of the application and its users.

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
Software TestingFunctional TestingNon-Functional TestingBlackbox TestingWhitebox TestingPerformance TestingLoad TestingStress TestingReliability TestingTesting TechniquesEureka Channel