Functional Testing Is A Quality Assurance Process And A Type Of Black-box Testing That Bases Its Test Cases On The Specifications Of The Software Component Under Test. Functions Are Tested By Feeding Them Input And Examining The Output, And Internal Program Structure Is Rarely Considered.
1.What is Functional Testing
This is a type of black-box testing that is based on the specifications of the software that is to be tested. The application istested by providing input and then the results are examined that need to conform to the functionality it was intended for.Functional testing of a software is conducted on a complete, integrated system to evaluate the system's compliance withits specified requirements.
2.What is Unit Testing? What are the lmitations of Unit Testing?
This type of testing is performed by developers before the setup is handed over to the testing team to formally execute thetest cases. Unit testing is performed by the respective developers on the individual units of source code assigned areas. Thedevelopers use test data that is different from the test data of the quality assurance team.
The goal of unit testing is to isolate each part of the program and show that individual parts are correct in terms ofrequirements and functionality.
Limitations of Unit Testing
Testing cannot catch each and every bug in an application. It is impossible to evaluate every execution path in everysoftware application. The same is the case with unit testing.
There is a limit to the number of scenarios and test data that a developer can use to verify a source code. After havingexhausted all the options, there is no choice but to stop unit testing and merge the code segment with other units.
3.Define Integration Testing.How many ways for this?
Integration testing is defined as the testing of combined parts of an application to determine if they function correctly.Integration testing can be done in two ways: Bottom-up integration testing and Top-down integration testing.
1. Bottom-up integration : This testing begins with unit testing, followed by tests of progressively higher-levelcombinations of units called modules or builds
2. Top-down integration : In this testing, the highest-level modules are tested first and progressively, lower-levelmodules are tested thereafter.
In a comprehensive software development environment, bottom-up testing is usually done first, followed by top-downtesting. The process concludes with multiple tests of the complete application, preferably in scenarios designed to mimicactual situations
4.What is System Testing?
System testing tests the system as a whole. Once all the components are integrated, the application as a whole is testedrigorously to see that it meets the specified Quality Standards. This type of testing is performed by a specialized testingteam.
5.What is Regression Testing? Why it is important?
Whenever a change in a software application is made, it is quite possible that other areas within the application have beenaffected by this change. Regression testing is performed to verify that a fixed bug hasn't resulted in another functionalityor business rule violation. The intent of regression testing is to ensure that a change, such as a bug fix should not result inanother fault being uncovered in the application.
Regression testing is important because of the following reasons:
6.Explain about Acceptance Testing
This is arguably the most important type of testing, as it is conducted by the Quality Assurance Team who will gaugewhether the application meets the intended specifications and satisfies the client’s requirement. The QA team will have aset of pre-written scenarios and test cases that will be used to test the application.
More ideas will be shared about the application and more tests can be performed on it to gauge its accuracy and thereasons why the project was initiated. Acceptance tests are not only intended to point out simple spelling mistakes,cosmetic errors, or interface gaps, but also to point out any bugs in the application that will result in system crashes ormajor errors in the application.
By performing acceptance tests on an application, the testing team will deduce how the application will perform inproduction. There are also legal and contractual requirements for acceptance of the system.
7.Explain Alpha Testing
This test is the first stage of testing and will be performed amongest the teams (developer and QA teams). Unit testing,integration testing and system testing when combined together is known as alpha testing. During this phase, the followingaspects will be tested in the application:
8.Explain about Beta Testing
This test is performed after alpha testing has been successfully performed. In beta testing, a sample of the intendedaudience tests the application. Beta testing is also known as pre-release testing. Beta test versions of software are ideallydistributed to a wide audience on the Web, partly to give the program a "real-world" test and partly to provide a previewof the next release. In this phase, the audience will be testing the following: