You may think what the differences between these two are, they sound synonymous. It’s true that they are, but there are some differences.
Let’s first talk with the definition of these twos. In my sense, in the non-profit world, outputs are programs, training, and workshops; outcomes are knowledge transferred and behaviors changed. In the material world, the distinctions are not always so clear. Let's define outputs as the stuff we produce, it may be physical or virtual, for a specific type of customer—say, Foot over-bridge for the people. And let's define outcomes as the difference that it makes—keeping the people safe from the road accidents.
Outcomes are the benefit your customers receive from your stuff. This starts with truly understanding your customers' needs—their challenges, issues, constraints, priorities—by walking in their shoes and in their neighborhoods, businesses, and cultures. See what's inconvenient, taking a lot of time, money, and/or effort.
Outputs are important products, services, profits, and revenues. Outcomes create meanings, relationships, and differences. Outputs, such as revenue and profit, enable us to fund outcomes; but without outcomes, there is no need for outputs.
Considering these definitions and differences, let’s come to the world of software and services. Here, the product itself i.e. any software or service is an output. And, the needs that have been fulfilled by it are the outcomes. So, what the users or audiences look forward to it are their needs and wishes, not actually the product itself. So, if the product cannot fulfill their needs and wishes, it is not the outcome. It is only an output with no uses. And, also if the product can have the features to fulfill the needs, but somehow the users or audiences cannot use it for their needs, it is not the outcome as well. Here comes the use of the term ‘Usability’. If a product or service is not usable enough to get the work done although there is major fault in its functionality, then there is no outcome. So, usability is an important issue to let the user finding the outcomes. So, as QA or Test engineers, it will be our responsibility to look for fine-tuning the outcomes along with the output instead of looking for the output only.