Structural System Testing Techniques

Introduction :

Structural system testing aims to verify whether the developed system or program works correctly or not. This testing technique is implemented for ensuring accuracy/correctness of the design and functionality of the system.

Structural system testing process is to determine that the technology used to build the product has been properly implemented. Also this technique aids in verifying that all components work as a single unit. The purpose of structural system testing is to ensure that it is designed correctly.

Structural system testing is thus executed with the help of various techniques.

Structural system Testing Techniques :

  • Stress Testing :

    This testing primarily encompasses the test mechanisms used to validate the system's endurance capacity due to heavy amount of load. Data volume is checked on areas like transactions, disk space, output, memory, CPU utilizations etc. The idea behind stress testing is to determine how far the system's structure is able to handle large volumes of data.

    Objectives of Stress Testing :

    Generally, online systems should be tested by generating large volumes of data by involving as many users possible. When the system is checked, error conditions or the point at which an error occurs should be noted down.
    • Transactions for stress testing can be gathered from any of the three sources – test data generators, test transaction created by the test group and the transactions previously processed in the production environment.
    • This testing is a preferable choice when there is uncertainty regarding the amount of data to be handled by the application.
  • Execution Testing :

    This type of testing aims to detect the performance levels in terms of response and turnaround times. Execution testing checks system's conformance with predefined performance criteria, that is, verifies optimum utilisation of software and hardware. This testing can be performed at any phase of the software development life cycle .

  • Objectives of Execution testing :
    • To check the performance of the system's structure
    • To verify optimization of hardware and software
    • Check the response and turnaround time of user requests
  • Recovery Testing :

    Well, at a certain point of time during testing, it may so happen that the system fails or stops responding. The state of the system is restored and transactions are reprocessed until the point of failure. Recovery testing simply ensures that the system is capable of restoring to the point where it failed. The motive is to preserve data in a secured location.

  • Objectives of Recovery testing :
    • Determine that adequate backup data is maintained.
    • Ensure storing backup data in a secured location.
    • Develop recovery tools and make them available at the time of requirement.
  • Operations Testing:

    After completing all the previous forms of testing, the product is integrated into the actual operating environment. At this stage, the application is tested under a real environment with normal staff, operations, procedures and documentation. The purpose is to ensure that the requirements are met and are complete and reasonable in the actual operational environment.

  • Objectives of Operations testing :
    • To determine completeness of documentation
    • To assess whether necessary support mechanisms are available.
  • Compliance Testing :

    This testing helps to verify conformance of the application with the prescribed standards, procedures and guidelines. Compliance testing helps to forecast the success of the project and to enhance the chances of maintainability of the application system. This methodology helps the professionals working on the project comply with the standards so there are chances of least occurrence of errors.

  • Objectives of compliance testing -
    • To ensure that standards are followed appropriate for the project.
    • Verify compliance to departmental standards, procedures and guidelines.
  • Security Testing :

    Security testing aims at verifying whether integrity of confidential data is strictly maintained. Data protection is the most important part for an organisation as the vulnerability of data loss can hamper the business as a whole.

  • Objectives of security testing :
    • To determine whether much needed attention is paid to identifying security risks.
    • To assess whether stringent measures have been implemented to enforce system's authorisation.
    • Determine whether an organisation has adequate number of people who are an adept at performing security testing.

Conclusion :

Structure or architecture of an application is the foundation upon which rest of the things depend. Structural testing can thus be implemented at all levels or at any phase throughout the software development life cycle.