• Software Testing Dictionary
  • Home

Software Anomaly Testing

A software once developed can behave such that the actual results are not matching with the expected ones. Thus a software anomaly is a deviation from the expected outcome in the software.

An anomaly can occur in both living and non-living things. For example, a man with one hand instead of two, is considered an anomaly in a human being.

What is a Software Anomaly?

The software anomaly refers to deviation from the expected behavior of the software. A defect or a bug is also called an anomaly. A software anomaly happens because of the reasons listed below −

  • If the software is not working as per requirements.
  • If the software is not following design documents.
  • If the software is not as per the user expectations.
  • If the software is built without following the standards.
  • If the software is not as per the expert views.

How is a Software Anomaly Detected?

A software anomaly can be detected by reviewing the documentations, and code namely the peer, formal, informal reviews. Thus reviewing is one of the ways of anomaly detection in software. It can also be detected by testing the software where the testers catch the anomalies and call them as defects.

While a software is made available to the public, the end users actually start using it. Software anomalies can also be observed at the time when the end users find that there are deviations from the expected and actual outcomes in the software.

Different Names of Software Anomaly

The different names of software anomalies are listed below −

  • Errors − Some mistakes are detected by developers in their own code. These mistakes or deviations are known as errors.
  • Defects − Deviations from the expected and actual results in the software detected by testers are known as defects.
  • Failures − A product owner while reviewing and approving a feature in a software finds deviations from the expected behavior, they are known as failures.

Where can an Anomaly Occur?

An anomaly can occur not only occur in a developed software but also in other areas listed below −

  • Requirement Documents
  • High and Low Level Design Screens
  • Code
  • User Manual
  • Help Documentation

What is Data Flow Anomaly?

Data Flow Anomalies are identified while performing while box testing or Static Testing. Data flow anomalies are represented using two characters based on the sequence of actions.

They are defined (d), killed (k), and used (u). There are nine possible combinations based on these 3 sequence of actions which are dd, dk, du, kd, kk, ku, ud, uk, uu. The below table clearly shows which one of these combinations are accepted and which one of these are suspected to be an anomaly.

Combination Description Anomaly Possibilities
dd Defined the data objects twice Harmless but suspicious
dk Defined the data object but killed it without using it. Bad Programming Practice
du Defined the data object and using it NOT an Anomaly
kd Killed the Data Object and redefined NOT an Anomaly
kk Killed the Data Object and killed it again Bad Programming Practice
ku Killed the Data Object and then used Defect
ud Used the Data Object and redefined NOT an Anomaly
uk Used the Data Object and Killed NOT an Anomaly
uu Used the Data Object and used it again NOT an Anomaly


This concludes our comprehensive take on the tutorial on Software Anomaly. We’ve started with describing what is a software anomaly, how is a software anomaly detected, different names of software anomaly, where an anomaly occurs, and process of alpha testing, and differences between alpha and beta testing.

This equips you with in-depth knowledge of Software Alpha Testing. It is wise to keep practicing what you’ve learned and exploring others relevant to Software Testing to deepen your understanding and expand your horizons.