Welcome!

Linux Containers Authors: Elizabeth White, Chris Colosimo, SmartBear Blog, XebiaLabs Blog, Yeshim Deniz

Related Topics: @DevOpsSummit, Linux Containers, Containers Expo Blog

@DevOpsSummit: Blog Feed Post

What Is Functional Testing? | @DevOpsSummit #DevOps #ContinuousTesting

Types, tips, limitations and more

What is Functional Testing? Types, Tips, Limitations & More
By Angela Stringfellow

A Definition of Functional Testing
Functional testing is a type of software testing that evaluates the performance of individual functions of a software application. The purpose of functional testing is to ensure that the application and all of its individual functions work as they should in the real world and meet all requirements and specifications. It's a valuable testing method for verifying that the output provided by each application function is in line with what's expected.

How Functional Testing Works
Functional testing is typically conducted by providing an appropriate input to the function being tested (in line with the typical inputs expected in real-world use cases), and then verifying the result by comparing it to the expected result. This type of testing can answer questions about the capabilities of a software application, such as what actions users are able to perform.

It's typically approached from one of two perspectives:

  • Requirements-focused testing, which prioritizes requirements based on risk criteria in order to evaluate the most critical and important features and functions first.
  • Business-process-focused testing, which relies on knowledge of end-user business requirements to evaluate an application's performance in the context of typical use cases.

There are several specific testing techniques. The two primary techniques include white box testing and black box testing, although there are additional techniques including:

  • Smoke testing
  • Unit testing
  • User acceptance testing
  • Integration testing
  • Interface testing
  • System testing
  • Localization testing
  • Regression testing
  • Globalization testing

Benefits of Functional Testing
Functional testing is an essential step in evaluating the performance of a software application before it's delivered for real-world use. Releasing applications with serious functional shortcomings can create disastrous consequences for end users relying on a software application to meet their use requirements.

In the best-case scenario, an application that doesn't work as it should is a frustration for end users. But for applications designed for business use, the consequences can be serious. Many industries have specific compliance requirements and regulatory guidelines that must be met, and applications that fall short of meeting these requirements almost always result in negative outcomes for the user.

For instance, a payroll application that fails to accurately account for the various taxes the business is responsible for calculating and remitting can lead to underpayments, penalties, and even fines from regulatory agencies. From a minor inconvenience to a serious disaster, there are always consequences for applications that don't function properly, and functional testing is one of the most effective ways to avoid these negative outcomes.

Because functional testing is carried out with the end user's requirements in mind, it aids developers in creating test scenarios that closely mimic real-world use scenarios. The more specific the user specifications, the better functional testing works to ensure that these expectations are met by informing the design of appropriate functional tests. Ultimately, the effectiveness of the testing hinges on knowledge of user requirements coupled with savvy test design.

Limitations of Functional Testing
Functional testing focuses on how well an application does what it's supposed to do, although it doesn't include other performance issues that aren't directly related to its functions but are nonetheless crucial factors to consider when determining whether an application is ready to be deployed. Typically, evaluation and usability factors not falling under the functional testing umbrella are categorized as "non-functional testing," which may include:

  • Security testing
  • Usability testing
  • Operational readiness testing
  • Endurance testing
  • Interoperability testing
  • Maintainability testing
  • Ergonomics testing
  • Availability testing
  • Recoverability testing
  • And others

Essentially, functional testing encompasses the key components of an application's design, ensuring that each function does what it's expected to do based on the application's design and client or end user requirements, but it fails to account for other variables such as how long it takes specific functions to execute, security, and other concerns also of vital importance to most users. So while functional testing is an integral testing process, it alone doesn't ensure that an application is ready for real-world use.

According to Software Testing Fundamentals, other disadvantages of functional testing include the possibility of missing logical errors in applications and the high probability of conducting redundant testing. Functional testing also requires an in-depth knowledge of user requirements, which may not always be clear or readily available, and designing context-specific tests to evaluate functional performance can be time-consuming.

Best Practices for Functional Testing
Functional testing can be a lengthy process, and your timeline can change depending on whether functional shortcomings are identified in the testing process. That means you'll need to be flexible so that your team can easily adapt to changing demands.

Additionally, most software applications have a plethora of individual functions, so having an established system and defined criteria to help you prioritize tests will help your team to stay focused and ensure that the most critical functions are evaluated first. You'll also want to make sure that your testing plan covers all the primary business use cases - evaluating the functions through a typical process flow, start to finish. In fact, it's a good idea to craft user stories before you begin the functional testing process to provide guidance and context as you plan and design appropriate tests.

It's also a sound practice to ensure that all tests can be traced readily to application/user requirements and any bugs identified. Without a map that traces requirements, tests, and bugs, it's next to impossible to ensure that you've rectified every identified issue before release.

Some testers prefer to conduct functional and performance testing simultaneously, which can provide greater context for functional testing techniques. Plus, performance can actually impact testing in some cases, so it's pretty crucial to ensure that both function and performance are in sync and that one isn't hindering the other. Finally, maintaining functional and performance testing as two separate deliverables can, at times, result in performance testing falling lower on the priority scale, leading to assumptions that if the functions work, performance should follow - which isn't always the case.

To make the best use of functional testing efforts, map functions to business requirements, prioritize individual tests accordingly and maintain flexibility to adapt to your sure-to-change needs as functional issues are discovered. Above all, never limit testing to functional testing only. Failing to address performance issues can make or break the success of your application, with serious ramifications for end users if your application doesn't perform to expectations.

The post What is Functional Testing? Types, Tips, Limitations & More appeared first on Stackify.

Read the original blog entry...

More Stories By Stackify Blog

Stackify offers the only developers-friendly solution that fully integrates error and log management with application performance monitoring and management. Allowing you to easily isolate issues, identify what needs to be fixed quicker and focus your efforts – Support less, Code more. Stackify provides software developers, operations and support managers with an innovative cloud based solution that gives them DevOps insight and allows them to monitor, detect and resolve application issues before they affect the business to ensure a better end user experience. Start your free trial now stackify.com

@ThingsExpo Stories
Apache Hadoop is emerging as a distributed platform for handling large and fast incoming streams of data. Predictive maintenance, supply chain optimization, and Internet-of-Things analysis are examples where Hadoop provides the scalable storage, processing, and analytics platform to gain meaningful insights from granular data that is typically only valuable from a large-scale, aggregate view. One architecture useful for capturing and analyzing streaming data is the Lambda Architecture, represent...
My team embarked on building a data lake for our sales and marketing data to better understand customer journeys. This required building a hybrid data pipeline to connect our cloud CRM with the new Hadoop Data Lake. One challenge is that IT was not in a position to provide support until we proved value and marketing did not have the experience, so we embarked on the journey ourselves within the product marketing team for our line of business within Progress. In his session at @BigDataExpo, Sum...
Things are changing so quickly in IoT that it would take a wizard to predict which ecosystem will gain the most traction. In order for IoT to reach its potential, smart devices must be able to work together. Today, there are a slew of interoperability standards being promoted by big names to make this happen: HomeKit, Brillo and Alljoyn. In his session at @ThingsExpo, Adam Justice, vice president and general manager of Grid Connect, will review what happens when smart devices don’t work togethe...
SYS-CON Events announced today that Ocean9will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Ocean9 provides cloud services for Backup, Disaster Recovery (DRaaS) and instant Innovation, and redefines enterprise infrastructure with its cloud native subscription offerings for mission critical SAP workloads.
In his session at @ThingsExpo, Eric Lachapelle, CEO of the Professional Evaluation and Certification Board (PECB), will provide an overview of various initiatives to certifiy the security of connected devices and future trends in ensuring public trust of IoT. Eric Lachapelle is the Chief Executive Officer of the Professional Evaluation and Certification Board (PECB), an international certification body. His role is to help companies and individuals to achieve professional, accredited and worldw...
SYS-CON Events announced today that Technologic Systems Inc., an embedded systems solutions company, will exhibit at SYS-CON's @ThingsExpo, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Technologic Systems is an embedded systems company with headquarters in Fountain Hills, Arizona. They have been in business for 32 years, helping more than 8,000 OEM customers and building over a hundred COTS products that have never been discontinued. Technologic Systems’ pr...
SYS-CON Events announced today that CA Technologies has been named “Platinum Sponsor” of SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY, and the 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. CA Technologies helps customers succeed in a future where every business – from apparel to energy – is being rewritten by software. From ...
The taxi industry never saw Uber coming. Startups are a threat to incumbents like never before, and a major enabler for startups is that they are instantly “cloud ready.” If innovation moves at the pace of IT, then your company is in trouble. Why? Because your data center will not keep up with frenetic pace AWS, Microsoft and Google are rolling out new capabilities In his session at 20th Cloud Expo, Don Browning, VP of Cloud Architecture at Turner, will posit that disruption is inevitable for c...
SYS-CON Events announced today that Cloudistics, an on-premises cloud computing company, has been named “Bronze Sponsor” of SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Cloudistics delivers a complete public cloud experience with composable on-premises infrastructures to medium and large enterprises. Its software-defined technology natively converges network, storage, compute, virtualization, and management into a ...
Keeping pace with advancements in software delivery processes and tooling is taxing even for the most proficient organizations. Point tools, platforms, open source and the increasing adoption of private and public cloud services requires strong engineering rigor - all in the face of developer demands to use the tools of choice. As Agile has settled in as a mainstream practice, now DevOps has emerged as the next wave to improve software delivery speed and output. To make DevOps work, organization...
The explosion of new web/cloud/IoT-based applications and the data they generate are transforming our world right before our eyes. In this rush to adopt these new technologies, organizations are often ignoring fundamental questions concerning who owns the data and failing to ask for permission to conduct invasive surveillance of their customers. Organizations that are not transparent about how their systems gather data telemetry without offering shared data ownership risk product rejection, regu...
SYS-CON Events announced today that Loom Systems will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Founded in 2015, Loom Systems delivers an advanced AI solution to predict and prevent problems in the digital business. Loom stands alone in the industry as an AI analysis platform requiring no prior math knowledge from operators, leveraging the existing staff to succeed in the digital era. With offices in S...
SYS-CON Events announced today that Interoute, owner-operator of one of Europe's largest networks and a global cloud services platform, has been named “Bronze Sponsor” of SYS-CON's 20th Cloud Expo, which will take place on June 6-8, 2017 at the Javits Center in New York, New York. Interoute is the owner-operator of one of Europe's largest networks and a global cloud services platform which encompasses 12 data centers, 14 virtual data centers and 31 colocation centers, with connections to 195 add...
SYS-CON Events announced today that SoftLayer, an IBM Company, has been named “Gold Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2016, at the Javits Center in New York, New York. SoftLayer, an IBM Company, provides cloud infrastructure as a service from a growing number of data centers and network points of presence around the world. SoftLayer’s customers range from Web startups to global enterprises.
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 20th International Cloud Expo, which will take place on June 6–8, 2017, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buyers...
SYS-CON Events announced today that T-Mobile will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. As America's Un-carrier, T-Mobile US, Inc., is redefining the way consumers and businesses buy wireless services through leading product and service innovation. The Company's advanced nationwide 4G LTE network delivers outstanding wireless experiences to 67.4 million customers who are unwilling to compromise on ...
SYS-CON Events announced today that Infranics will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Since 2000, Infranics has developed SysMaster Suite, which is required for the stable and efficient management of ICT infrastructure. The ICT management solution developed and provided by Infranics continues to add intelligence to the ICT infrastructure through the IMC (Infra Management Cycle) based on mathemat...
SYS-CON Events announced today that SD Times | BZ Media has been named “Media Sponsor” of SYS-CON's 20th International Cloud Expo, which will take place on June 6–8, 2017, at the Javits Center in New York City, NY. BZ Media LLC is a high-tech media company that produces technical conferences and expositions, and publishes a magazine, newsletters and websites in the software development, SharePoint, mobile development and commercial UAV markets.
SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 20th International Cloud Expo, which will take place on June 6–8, 2017, at the Javits Center in New York City, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.
"I think that everyone recognizes that for IoT to really realize its full potential and value that it is about creating ecosystems and marketplaces and that no single vendor is able to support what is required," explained Esmeralda Swartz, VP, Marketing Enterprise and Cloud at Ericsson, in this SYS-CON.tv interview at @ThingsExpo, held June 7-9, 2016, at the Javits Center in New York City, NY.