Functional Testing - knowlesy/AZ400 GitHub Wiki
https://learn.microsoft.com/en-us/training/modules/run-functional-tests-azure-pipelines/
Functional tests verify whether each function of the software does what it should.
Functional tests verify that each function of the software does what it should. How the software implements each function isn't important in these tests.
You provide input and check that the output is what you expect.
Nonfunctional tests check characteristics like performance and reliability.
Smoke testing
Smoke testing verifies the most basic functionality of your application or service. These tests are often run before more complete and exhaustive tests. Smoke tests should run quickly.
Unit testing
unit testing verifies the most fundamental components of your program or library, such as an individual function or method. You specify one or more inputs along with the expected results. The test runner performs each test and checks to see whether the actual results match the expected results.
Integration testing
Integration testing verifies that multiple software components work together to form a complete system. For example, an e-commerce system might include a website, a products database, and a payment system. You might write an integration test that adds items to the shopping cart and then purchases the items. The test verifies that the web application can connect to the products database and then fulfill the order.
Regression testing
A regression occurs when existing behavior either changes or breaks after you add or change a feature. Regression testing helps determine whether code, configuration, or other changes affect the software's overall behavior. regression testing might involve just running all unit tests and integration tests each time the software changes.
Sanity testing
Sanity testing involves testing each major component of a piece of software to verify that the software appears to be working and can undergo more thorough testing. You can think of sanity tests as being less thorough than regression tests or unit tests, but sanity tests are broader than smoke tests.
User interface testing
User interface (UI) testing verifies the behavior of an application's user interface. UI tests help verify that the sequence, or order, of user interactions, leads to the expected result.
Usability testing
Usability testing is a form of manual testing that verifies an application's behavior from the user's perspective. Usability testing is typically done by the team that builds the software.
User acceptance testing
User acceptance testing (UAT), like usability testing, focuses on an application's behavior from the user's perspective. Unlike acceptance testing, UAT is typically done by real end users.
UI Test Tools
- Selenium
- Windows Application Driver
- SpecFlow
In Azure Pipelines, you run functional tests just like you run any other process or test.
Planning of tests
- Takes the expectations of the business into account.
- Takes the expectations of the target users into account.
- Defines the metrics you'll use.
- Defines the KPIs you'll use.