OpenText brings decades of expertise to help you unlock data, connect people and processes, and fuel AI with trust
Unify data seamlessly across your enterprise to eliminate silos, improve collaboration, and reduce risks
Get AI-ready and transform your data into structured, accessible, optimized information
Meet regulatory and compliance requirements and protect your information throughout its lifecycle
OpenText helps people manage content, automate work, use AI, and collaborate to boost productivity
See how thousands of companies around the world are succeeding with innovative solutions from OpenText™
Our people are our greatest asset; they are the life of the OpenText brand and values
Learn how we aspire to advance societal goals and accelerate positive change
Find a highly skilled OpenText partner with the right solution to enable digital transformation
Explore scalable and flexible deployment options for global organizations of any size
Local control. Global scale. Trusted AI
Your cloud, your control
Free up resources, optimize performance and rapidly address issues
Run anywhere and scale globally in the public cloud of your choice
See information in new ways
AI that understands your business, your data, and your goals
Say hello to faster decisions. Your secure personal AI assistant is ready to get to work
Gain better insights with generative AI for supply chains
Power work with AI content management and an intelligent AI content assistant
Improve your security posture with AI cybersecurity and agile threat detection
Enable faster app delivery, development, and automated software testing
Elevate customer communications and experiences for customer success
Empower users, service agents, and IT staff to find the answers they need
See information in new ways
AI that understands your business, your data, and your goals
Say hello to faster decisions. Your secure personal AI assistant is ready to get to work
Gain better insights with generative AI for supply chains
Power work with AI content management and an intelligent AI content assistant
Improve your security posture with AI cybersecurity and agile threat detection
Enable faster app delivery, development, and automated software testing
Elevate customer communications and experiences for customer success
Empower users, service agents, and IT staff to find the answers they need
Predict, act, and win with real-time analytics on a smarter data platform
Give users access to the answers they need, faster and easier, with multi-repository AI-based search that lets you contextualize everything from clicks to conversations
Connect once, reach anything with a secure B2B integration platform
Reimagine knowledge with AI-ready content management solutions
Supercharge intelligent workspaces with AI to modernize work
Integrated cybersecurity solutions for enterprise protection
Purpose built data protection and security solutions
Reinvent threat hunting to improve security posture with the power of agile AI
Ship better software—faster—with AI-driven DevOps automation, testing, and quality
Reimagine conversations with unforgettable customer experiences
Get the clarity needed to cut the cost and complexity of IT operations
Redefine Tier 1 business support functions with self-service capabilities from private generative AI
Build custom applications using proven OpenText Information Management technology
Build it your way with OpenText Cloud APIs that create the real-time information flows that enable custom applications and workflows
Protect what matters, recover when it counts
Get greater visibility and sharper insights from AI-driven information management. Ready to see how?
Break free from silos, streamline processes, and improve customer experiences with secure information management for AI
Improve efficiency, security, and customer satisfaction with OpenText
Run processes faster and with less risk
Achieve digital transformation with guidance from certified experts
Modernize your information management with certified experts
Unlock the full potential of your information management solution
Turn support into your strategic advantage
Extend IT teams with certified OpenText application experts
Discover training options to help users of all skill levels effectively adopt and use OpenText products
Modernize your information management with certified experts
Unlock the full potential of your information management solution
Turn support into your strategic advantage
Extend IT teams with certified OpenText application experts
Discover training options to help users of all skill levels effectively adopt and use OpenText products
Information is the heartbeat of every organization. We build information management software so you can build the future
OpenText partners with leading cloud infrastructure providers to offer the flexibility to run OpenText solutions anywhere
OpenText partners with top enterprise app providers to unlock unstructured content for better business insights
Discover flexible and innovative offerings designed to add value to OpenText solutions
Discover the resources available to support and grow Partner capabilities
Get expert product and service support to accelerate issue resolution and keep business flows running efficiently
Explore detailed services and consulting presentations, briefs, documentation and other resources
Functional testing is a type of testing that seeks to establish whether each application feature works as per the software requirements. Each function is compared to the corresponding requirement to ascertain whether its output is consistent with the end user’s expectations. The testing is done by providing sample inputs, capturing resulting outputs, and verifying that actual outputs are the same as expected outputs.
Some functional testing examples are:
Unlike non-functional testing, functional testing isn’t concerned with investigating the quality, security, or performance of the application’s underlying source code. It doesn’t gauge speed, scalability, and reliability.
Rather, functional testing focuses on the results of processing and not the mechanics of the processing and determines whether the application satisfies the basic minimum user expectations.
In this sense, the functional testing definition is near synonymous with black-box testing, whereas white-box testing on the other hand is more commonly a characteristic of non-functional tests.
A functional testing plan usually follows the below sequence:
Identify the testing goals
Functional testing goals are the features the software is expected to have based on the project requirements. Testing goals include validating that the application works as it was intended to, and that it handles errors and unexpected scenarios gracefully.
Create test scenarios
Develop a list of all possible (or at least all the most important) test scenarios for a given feature. Test scenarios describe the different ways the feature will be used. For instance, for a payment module, the test scenarios may include multiple currencies, handling invalid or expired card numbers, and generating a notification on successful transaction completion.
Create test data
Create test data that simulates normal use conditions based on the test scenarios you identified. You could enter test data manually (e.g. from an MS-Excel spreadsheet or a printout) or automatically via a script or test tool that reads and inputs the data from a database, flat file, XML, or spreadsheet. Each set of input data should also have associated data that describes the expected result that the input data should generate.
Design test cases
Create test cases based on the different desired outcomes for the test inputs. For example, if you enter an invalid credit card number, the application should display a meaningful error message.
Execute the test cases
Run the test cases through the application and compare actual outcomes against expected results. If actual and expected outputs are different, the feature has failed the test and a defect should be recorded.
Deliberate on, track and resolve defects
Once a defect is identified, it should be recorded on a formal tracking system that’s accessible to the entire project team. The requisite changes should be made to the application and the test case executed again to confirm resolution before a defect is marked as closed.
Functional test automation tools are able to interact with the user interface of the application under test. They can identify objects on the screen, such as list boxes, text boxes and buttons, and can make selections, enter data, and press them.
Many functional test automation tools include a recorder, which ‘watches’ the user as they interact with an application and its objects on the screen, records the data that they enter into the system, and the actions that the user performs, such as pressing buttons or selecting menus. These actions can then be replayed, using the objects, data and actions captured during the recording, to replicate the user’s activities. The results of these actions are noted by the testing tool, and compared to the expected results defined by the automation engineer to determine whether the test passed or failed.
Functional test automation engineers can build their tests step-by-step using the objects recognized by the tool, or they can start with a recording, customizing the steps and parameterizing the data to generalize it and enable tests to run on different environments, including various browsers and mobile devices.
Leading test automation tools today encapsulate Artificial-Intelligence (AI) capabilities that employ advanced techniques such as machine learning, computer vision, neural networks and natural language processing. This helps identify on-screen objects the same way as a human does, interact with and manipulate objects naturally, and enable tests to be written using plain English.
AI-based functional test automation has been shown to reduce test creation time, boost test coverage, increase resiliency of testing assets, and cut down on test maintenance efforts.
Create test cases early
Don’t wait for application or module coding to be completed before you start creating test cases. It’s in the early phases of the project that user requirements will be freshest. You can always amend test cases later as needed.
Automate
Functional testing can be an arduous, repetitive, and time-consuming process. The more you automate, the faster you can ensure desired functionality or identify and correct defects, and the more you save on test time and costs in the app delivery process. It may not be possible, or even desirable, to automate all test cases, but just getting the most important test cases off the manual roster can vastly improve your test ROI.
Understand the user’s thought process
Functional testers must have a deep appreciation of the end user’s thought process. There are often different types of users for each application (buyers, sellers, administrators, data entry clerks, supervisors, etc.). The different types of users and their typical navigation of the application must be taken into consideration for each test plan.
Prioritize
Testers have finite time and resources. Not every feature can be tested. Some application functions are high-priority and must, therefore, take testing precedence over lower priority features.
Although functional testing can be a challenge to many organizations, the benefits of a properly automated functional testing QA organization far outweigh these challenges, and leveraging the power of proven functional testing tools is the best way to go about it. Find out how OpenText™ functional testing solutions can help you extract optimal value from your functional testing.
Accelerate test automation with the power of AI
Engage your developers with integrated, automated shift-left testing
Develop, debug, monitor, and optimize applications from anywhere
Speed up software testing with realistic API and simulations
Ship better software—faster—with AI-driven DevOps automation, testing, and quality