- Views: 3
- Report Article
- Articles
- Computers
- Software
Functional Testing best practices.
Posted: Nov 21, 2017
Functional Testing is a type of Quality Assurance where basic features of the Mobile or Web Application are tested. It verifies how the hardware, software, Web application or internal applications executes its intended features and functions. It validates user commands, business processes, data manipulation, search functions, integrations and user screens. Such a kind of validation of a mobile or a web application ensures conformity to its specifications and functions. Application Usability is of the highest importance here as compared to the internal working so of the application. If the user interface of an application is inefficient and does not work as intended, then it is a frustrating experience for the user regardless of the high quality internal code.
Functional Testing starts with gathering test requirement which continues through the designing and development of test cases, executing the test cases and analyzing the results. The product quality depends on the effective planning and execution of the different stages in the functional testing life cycle.
There are different stages of the functional testing life cycle and there are some best practices to be followed in each phase. Let us review the different phases and the best practices that need to be followed in that particular phase.
Test Requirement Gathering
- Conduct a product feature presentation by the business team. This minimizes the communication gap between the actual requirement and that what is developed.
- Prepare a traceability matrix. It maps the relationship from
features -> requirements -> test cases -> issues. Also, update this matrix with every change in requirement.
- Testers need to collaborate with the development team throughout the life cycle of the product development. Being a part of the requirements discussion, feature expectations can be understood better which can help in better designing of test cases.
Test Planning
- Get the traceability matrix approved and reviewed. This helps to reduce functionality gaps in test plans.
- Review the test plan with the development team.
Test Strategy
- Prepare a consolidated functional test coverage for the various test cases.
- Make use of an extensive decision model while finalizing on the test matrix.
- Prioritizing the test cases helps to reduce the risk factors for high risk features.
Test Execution
- Get the intermediate product build before the formal handover for QA.
- Maintain a knowledge repository of various problems faced during setting up of the test environment and their possible solutions.
- Exercise flexibility in the plans if the project needs change.
- Ensure that the installation and configuration instructions are detailed.
Defect Management
- Use standard templates for filing and verifying defects.
- Establish a clear criteria for defect severity and priority.
- Maintain an up to date list of defects found in the product with appropriate details.
- Focus on filing technical defects more than cosmetic defects.
- Escalate highly impactful defects so that the development team works on them first.
Test Results Reporting
- Reports generated should be easy to understand and hence should be prepared in a spreadsheet format.
- Provide a list of all the executed test cases and the effort spent for each testing.
- Mention the all the risks associated along with all the defects found.
- Provide a chart diagram of the distribution of the defects based on severity and priority.
Test Metrics Collection
- The various metric that need to be collected are:
- Number of bugs
- Time to resolve the bugs.
- Number of defects missed by the QA and were reported by the user.
- Reopened defects and regression defects.
Conclusion
Functional testing or web application testing need not be a time-consuming or an expensive process. Automated functional testing can help in better test coverage and increase both speed and accuracy of the testing process.
Michael works for Cigniti Technologies, which is the world's first Independent Software Testing Company to be appraised at CMMI-SVC Level 5, and an ISO 9001:2008 & ISO 27001:2013 certified organization.