Thursday, 23 June 2011

Testing Process

Introduction
             The purpose of testing is to verify the software and remove defects. Test verifies the code against the requirements and the design to ensure that requirements are implemented. We adopt rigorous quality control and management procedures to ensure that the defects are minimized to the lowest possible level.

Testing Process


Testing Cycle


1.      Test Planning

Test Planning is carried out on receipt of Approved Project Plan and Approved SRS. Traceability Matrix needs to be updated as per Test Execution Process. During the review process, any risk identified shall be updated into Risk Management Plan then and there.

2.      Test Case
Unit test case preparation is initiated for program releases in a progressive manner in line with delivery commitments. Integration test cases are written for testing integration between the modules and overall flow of the project.

3.  Software testing automation
               Industry analysts predict that during the second half of this decade, increases in software testing activity will be fueled by software testing automation. Automated testing tools have matured and ROI to a state where ROI (return on investment) need no longer be a pipe dream.
It is important to consider automation of the test environment as early as possible and design it into the system from the outset. It's also important to recognize that automation is not appropriate for every project or for all testing on any particular project. We can help you achieve this balance so that the benefit from test automation at the right time and in the right way. We create the scripts and data for automation and execute the scripts.

4     Test Readiness (Smoke Testing)
On completion of preparation of Unit and Integration Testing, Smoke Testing is initiated accordance with the Deployment Plan.

5.   Test Execution Process
With the approved Test Plan, System Requirement Specification, Test Worksheet and Traceability Matrix, various types of testing are performed.

a.      Unit Testing: 
              Unit Testing is the first level of dynamic testing and developers has its primary responsibility.

b.      Functional Testing: 
          The objective of this test is to ensure that each element of the application meets the functional requirements of the projects.

c.      Integration (Combination) Testing: 
           Upon completion of successful Unit testing, Integration testing is done based on Integration test case. To ensure that distinct components of the application still work in accordance to client’s requirements.

d.     System Testing: 
           System Testing is done after Integration Testing. The complete system is configured and tested in a controlled environment to validate its accuracy and completeness in performing the desired functions.
Performance Testing is also part of System testing, but treated as a different test. This will verify the load, volume and response times as defined by requirements

e.      Regression(Failure) Testing: 
             Regression Testing is done to check the impact on account of resolution of defects found in a previous version of the application. This will ensure that software remains intact on account of changes done.
f.       Acceptance Testing: 
              Acceptance Testing gives the client the opportunity to verity the system functionality and usability prior to the system being moved to production.

Non functional Testing
             Besides the functional types of testing as described above, Hitech exports follow non functional testing based on the requirement. Some of the Non functional testing we are doing is as follows:

a.     Security testing:  We are doing security testing to determine that the security features of a system are implemented as designed and that they are adequate for a proposed application environment.

b.      Usability Testing: Our usability testing services will help you design your products and services with your customers at the forefront of your mind. By making the product more efficient to use, your customers or users will take less time to accomplish a particular task, and find it easier to learn and satisfying to use.

c.       Migration testing: If you've ever migrated to new software applications or converted from one IT platforms or infrastructures to another you'll be aware of the risks in this activity. We have developed our migration testing services. One of the key elements of a successful data migration is the conversion of the business data into the required format. This data is often extremely valuable and needs to be treated accordingly. It is also often incomplete, inconsistent or inaccurate so data clean-up is a key element of data migration. Our risk based approach ensures that the critical data conversion is prioritized by the impact and likelihood of failure.

d.      Compatibility Testing:  We are doing compatibility testing to evaluate the applications Compatibility with the computing environment.
        
        

No comments:

Post a Comment