Compliance Testing (Conformance Testing) in Software Testing
โก Smart Summary
Conformance Testing certifies that a software system meets the standards and regulations set by bodies such as IEEE, W3C or ETSI, covering performance, functions, robustness, interoperability and overall system behavior.
Conformance Testing
Conformance Testing is a software testing technique used to certify that a software system complies with the standards and regulations defined by bodies such as IEEE, W3C or ETSI. It determines how well a system under test conforms to the individual requirements of a particular standard. Conformance Testing is also called Compliance Testing.
It may deal with technical aspects, but by design it also covers:
- Performance
- Functions
- Robustness
- Interoperability
- Behavior of system
Types of Conformance Testing
Conformance Testing can be logical or physical, and it comprises the following types of testing:
- Compliance Testing
- Load Testing
- Stress Testing
- Volume Testing
The diagram below shows how these testing types sit together inside a single conformance program.
Why do we need Conformance Testing?
- To check the fulfillment of the system requirements
- To check whether the system documentation is complete
- To check the development, design and evaluation against the specifications
What do we need to test?
- The standards through which the implementation takes place
- The call of the system that is to be developed
- Scope of specifications
- Specification objectives
Conformance Testing is initiated by management, with assurance that the team understands the applicable standards, specifications and procedures.
Standards and specifications should be stated clearly to avoid ambiguity. Where they are not, conformance testing is itself useful in identifying the steps needed to make them relevant and reliable.
When and how to perform Conformance Testing?
Conformance testing is performed when the overall consistency, completeness and correctness of the system has to be checked against the requirement specifications. The methodologies used are not very different from the ordinary development lifecycle stages:
- Analyzing requirements specifications
- Preparing the test plan
- Preparing test cases and stating their purpose
- Creating documentation for the prepared test designs
Some additional aspects of the specifications need attention, in particular subsets, which are generally of three types โ Profile, Level and Modules:
- Profile is a subset of the specifications that includes the system functionality required to satisfy a particular group of users
- Levels are nested subsets of the specifications, where Level1 indicates the basic specifications and Level2 indicates Level1 plus additional or new functionality
- Modules are collections of significantly correlated standards and specifications
Conformance Testing Process
The Conformance Testing Process, or Compliance Testing Process, is necessary to ensure efficiency and performance and to avoid future risk for a software application. An effective conformance test follows this step-by-step process:
- Analyzing standards and specifications
- Selecting test tools and the test suite
- Designing testing procedures
- Checking necessary validations
- Adopting relevant testing policies and certifications
The diagrammatic representation of the Conformance and Compliance Testing Process below makes the sequence easier to follow.
Expressed as a use case, the same process shows which actor performs each stage.
Conformance Testing vs Compliance Testing
Conformance Testing is occasionally called Compliance Testing, yet a few basic facts separate the two. The table below compares them.
| Conformance Testing | Compliance Testing |
| A formal and precise way of testing against standards | An informal and less precise way of testing against standards |
| Certification of conformance applies only to an operating system holding official Certification Authority approval | An operating system that provides a single API of POSIX (Portable Operating System Interface) is said to be compliant |
| Used for testing a system that provides full support for the given standards | Used for testing a system that provides support for only some of the given standards |
Advantages of Conformance Testing
- Assures the proper implementation of the specifications
- Assures portability and interoperability
- Provides appropriate utilization of standards
- Makes it possible to assure that interfaces and functions work as expected
- Helps identify the areas that must conform and those that need not, such as syntax and semantics
Disadvantages of Conformance Testing
Like other types of testing, Conformance Testing carries tasks that are difficult to perform and may become a challenge. Some of them are listed below:
- Efficient conformance testing requires the class of the system under test to be identified along with a suitable methodology
- Categorizing specifications into Profiles, Levels and Modules
- Predefining values
- Designing the extensions, options and approaches needed to run the testing process successfully
Conformance Testing: Critical Views
Conformance Testing has areas that need extra attention and knowledge for successful implementation:
- Testing methodologies that are best suited
- Selection of a test tool that will automate the testing process
- Clear understanding that conformance testing shows only non-conformance, never conformance itself
- Designing and implementing the Conformance Testing Program
- Defining how formally it should be performed
- Policies and regulation
Conformance Testing for Mobile System
Like other types of software testing, Conformance Testing can also be done for mobile systems. Once the system is assembled, it is checked for use prior to deployment through a conformance test.
According to the type of network, such as GSM or CDMA, the tests are performed to achieve conformance and interoperability. These tests may include:
- Protocol Testing
- Safety and Security Testing
- SIM card Testing
- Radio Frequency (RF) Testing
- Audio Tests
- Specific Absorption Tests
Example Use Case Diagram
The following use case diagram shows how conformance testing is performed for deployed mobile systems.
This can be elaborated for SIM card testing in two stages. The first stage is password validation, shown below.
The second stage is making a call, which has two outcomes, call succeeded and call failed.
Protocol testing follows the same pattern, as this use case shows.
The test case template below shows how test cases are written for protocol testing.
| Test ID | Test Scenario | Test Steps | Test Data | Expected Result | Actual Result | Status | Remarks |
| PT001 | Protocol has no deadlock | Start with the communication process | _ | Should establish communication successfully | Communication established successfully | Pass | _ |
| PT002 | “Ping” command operates correctly for timeout | Enter Ping command as ‘Ping -w’ in command prompt | Ping 1000 | Should show message “Transmit Successful.” | The message shows “Transmit Successful.” | Pass | _ |
| PT003 | Count the number of ‘echo’ requests | Enter Ping command as ‘Ping -n’ in command prompt | Ping 4 | Should start pinging 0.0.0.4 with 32 bytes data and show the message “Transmit Successful.” | Starts pinging 0.0.0.4 with 32 bytes data but shows the message “Transmit Failed.” | Fail | Semantic or functional error |
| PT004 | Any state can be reached from any state | Exit from a state and return to the previous or next one | _ | Should successfully change the state | Successfully changes the state | Pass | _ |
Templates like this bring uniformity to the test process. Depending on the type of network, hundreds of test cases may be defined and executed to confirm the mobile system works as the requirement specification demands.







