Software QA FYI - SQAFYI

STRUCTURED SYSTEM TESTING TECHNIQUES

By:

STRUCTURED SYSTEM TESTING TECHNIQUES


" Structural System Testing is to verify developed system and program works
" Most effective method of Structured system Testing is " Inspection Process ".
" Objective is to -
" Ensure system design is structurally sound.
" Technology used properly.
" All the components in the system function as cohesive unit.
" The Different structural System Testing Techniques are -

1. Compliance Testing ( to process )
2. Operational Testing
3. Recovery Testing
4. Stress Testing
5. Execution Testing
6. Security Testing.



1) Compliance Testing:

Usage " To verify that application was developed in accordance to Information Technology standards, procedures and guidelines.
Objectives " To ensure compliance to methodology
" To ensure to compliance to departmental standards, procedures and guidelines.
" Help Testing professionals to comply with the methodology.
" Determining system development and maintenance methodologies are followed.
" Determining that application system documentation is complete and reasonable.
How to Use " Necessary that the documents / programs prepared for a system is reviewed (peer review).
When to use " Compliance to IT procedures, standards and guidelines depends upon the management when they desire to make these procedures and standards to be followed.
" In order to compliance with the standards and procedures the management needs to find out the degree of compliance to be adhered and then find out who the violators are.
Examples " Standards followed
" Documentation complete.

2) Operational Testing:

Usage " To verify that before application goes to production the operating procedures and staff can properly execute the application.
" Evaluation of process and execution of process .
Objectives " Determine that System can execute normally during operating the system.
" Determine completeness of documentation of computer operator.
" Evaluate that operator training is complete.
" Ensure that support mechanism has been prepared and working properly.
" Check that operators can operate the computer system properly.
How to Use " Requirements phase - operational requirements are evaluated to find that the requirements are reasonable and complete.
" Design phase - Operating procedures are created and evaluated.
" Operations testing can be carried out " In conjunction " with other tests.
When to use " Should take place before placing application system into production.
Examples " Verifying file labeling and protection functions are working properly.
" Determine system can run using document.

3) Recovery Testing:

Usage " Recovery is ability to restart the operation after integrity of application is lost.
" It includes reverting to a point where integrity of system is known , then reprocessing up until the point of failure.
" The time taken to recover depends upon :
the number of restart points
volume of application
training and skill of people conducting recovery activities
tools available for recovery
Objectives " To ensure operations can be continued after a disaster .
" Recovery testing verifies recovery process and effectiveness of recovery process.
" Adequate back up data is preserved and kept in secure location.
" Recovery procedures are documented.
" Recovery personnel have been assigned and trained.
" Recovery tools have been developed and are available.
How to Use " Procedures , methods , tools and techniques are assessed to evaluate the adequacy.
" After system is developed a failure can be introduced in the system and check whether the system can recover.
" A simulated disaster is usually performed on one aspect of application system.
" When there are no. Of failures then instead of taking care of all recovery testing should be carried out for one segment and then another i.e. structured fashion.
Who uses it " System Analysts
" Testing professionals
" management personnel.
When to use " When user says that the continuity of the system is needed inorder for system to perform or function properly.
" User then should estimate the losses, time span to carry out recovery testing.
Examples " Loss of communication , loss of database integrity.
" Evaluate adequacy of back up data.

4) Stress Testing:

Usage " To determine if the system can function when subject to large volumes.
" It includes testing of
input transactions
Internal tables
Disk Space
Out put
Communication
Computer capacity
Interaction with people.
Objectives " To simulate production environment
" Normal or above normal volumes of transactions can be processed through the transaction within expected time frame.
" Application system would be able to process larger volume of data.
" System capacity should have sufficient resources to meet expected turnaround time.
How to Use " It should simulate as closely as possible to production environment.
" Online system should be stress tested with users entering test data with normal or above normal pace.
" Batch system should be tested with huge volumes/ numbers of batches
" The test conditions should have error conditions.
" Transactions used in stress testing are obtained from following 3 sources :
Test data generators
Test transactions created by test group
Transactions which were previously used in production.
" In stress testing the system should run as it would in the production environment.
When to use " When there is uncertainty that system will work with huge volumes of data and without generating any faults.
" Attempt is made to break system with huge amount of data.
" Most commonly used technique to test for online transaction systems as other
techniques are not effective.
Examples " Sufficient disk space allocated
" Communication lines are adequate
Disadvantage " Amount of time taken to prepare for testing
" Amount of resources utilized during test execution.

5) Execution Testing:

Usage " To determine whether the system achieves the desired level of proficiency in the production status.
" Used to verify -
Response time
Turn around time
Design performance.
" Test execution can be done using the simulated system and actual system.
" The system either can be tested as a whole or in parts.
Objectives " To determine whether the system can meet the specific performance criteria
" Verify whether system make optimum use of hardware and software.
" Determining response time to online use requests
" Determining transaction processing turnaround time.
How to Use " Can be performed in any phase of SDLC
" Used to evaluate single aspect of system
" Executed in following manner -
Using h/w and s/w monitor
Simulation of functioning using simulation model
Creating quick or dirty programs to evaluate approximate performance of completed system.
When to use " Should be used early in SDLC
" Should be performed when it is known that the results can be used to make changes to the system structure.
Examples " Transaction turnaround time adequacy
" Optimum use of h/w and s/w.

6) Security Testing:

Usage " Security is a protection system that is needed for both securing the confidential information and for competitive purposes to assure third parties that their data will be protected.
" Amount of security provided depends upon risks associated with compromise or loss of information.
" Protecting the confidentiality of the information is designed to protect the resources of the organization.
" Used to check the adequacy of protective procedures and countermeasures..
Objectives " To identify the defects which are very difficult to identify.
" The failures in security system operation may not be detected , resulting in a loss or compromise of information without the knowledge of that loss.
" To determine that adequate attention is paid to identify security risks.
" Determine realistic definition and enforcement of access to the system has been implemented.
" To determine that sufficient expertise exists to perform adequate security testing.
" Conducting reasonable tests to ensure that the implemented security measures function properly.
How to Use " Involves a wide spectrum of conditions.
" Testing divided into physical and logical security.
" Physical security - deals with penetration by people in order to physically gather information.
" Logical Security - deals with use of computer operations / communications capabilities to improperly access information.
When to use " Security testing should be used when the information and/or assets protected by the application system are of significant value to the organization.
" Should be conducted before system goes to operational status.
" Extent of testing should depend upon the security risk.
Examples " Access denied " Procedures in place

Other Resource

... to read more articles, visit http://sqa.fyicenter.com/art/

STRUCTURED SYSTEM TESTING TECHNIQUES