Functional Testing
The process of functional testing involves first identifying Test Conditions, Deriving Test Cases, Forming Test Suites and then executing Test Suites/ Test Procedures.
Once this is completed we will track the defects using Defect Tracking tool. Once the defects are fixed we will do Retesting (Executing the defects which failed and fixed) and Regression testing (Test cases which are likely to get impacted and high risk functionality test cases to check if there are any side effects).
The Different Functional System Testing Techniques are – 1. Requirements Testing (Business Process / Use Case Based)
2. GUI Validation and Testing (Field Validation, Spelling, Consistency…)
3. Regression Testing ( High Priority Test Cases/Impacted Test Cases)
4. Error – Handling Testing (Is it handling Exceptions and issues and providing meaningful messages)
5. Usability Testing (Navigation, Learnability, Easiness )
6. Compatibility Testing (Different browsers)
7. Manual – support Testing (Optional)
8. Intersystem Testing (Optional)
9. Control Testing (Optional)
10. Parallel Testing (Optional)……………..
Depending on the type of the project risks we add and delete all this tests. There are no rules that we should do all this tests.
A client needs a website with a very min budget and we can’t afford this much manpower being a company. So, this tests are tailored for the purpose and need.
A small project let us say a website which provides details about a organization and is a small client. We need to perform Requirements testing, GUI testing, and Error handling.
A mid size project where the users are more and involves money transaction or amount donations. Here we need to use the Use cases which show the business processes.
We need to perform Requirements testing, GUI testing, and Error handling and bit of performance testing check how time it is taking to load a page etc…
A good project will have all the rules, documentation, and many type of tests. For this kind of projects need to start the testing process very early. Better to start once the Requirements are streamlined (Subjected to project type like Phase release in which case requirements for that particular phase)
These projects require Reviews, Inspections, Many kinds of testing, Regression suite of critical functionality etc…