INDUSA Blog

 

Custom Software Development

Friday, May 8, 2009

The Software Testing Process and its Types

Offshore software development centers in India have started out with independent testing services and quality assurance software testing. Some of the software testing types covered are:

1) System Testing: This includes complete product feature testing through Functional Testing by taking into account the business functions mapped with the implemented modules. Other areas covered are overall navigation, browsing features & GUI part of the application.

2) Regression Testing: It is carried out for each of the test cycle to validate the impact areas due to code change/fix. Regression testing is support with the use of Regression Test Suite & Traceability Matrix to identify the change impact.

3) User Acceptance Testing: SME’s & Domain Experts carry out the test to ensure that the software is as per the business requirements.

4) Compatibility testing: This test is for assessing the compatibility of the software on various systems of different domains, platforms, and interfaces. This is solved through virtualization, which helps in optimum utilization of resources.

5) Performance testing: This test is particularly with respect to web applications like CMS and interactive software. This is to gauge the performance of the different applications. Simulation tools are used for the same to check the stress (stress testing), the load which can be handled (load testing).

6) Integration Testing: Testing is done related to the integration of different modules in a logical manner for providing a seamless effect between modules.

7) Unit Level Testing: This type of testing involves tallying the specifications sent by the client with the product design. The process involves QC on the various intrinsic modules of the software.

8) Security testing: Security testing involves security measures and penetration testing of softwares to find traces of SQL and HTML injections as well as cross scripting, and get rid of them.

9) Alpha testing and Beta testing: The program is tested by third party users but only to a limited segment to remove left out kinks and errors.

10) API testing: APIs are basically used as a communication medium between the drivers and the systems, and are based below the kernel level. This test involves testing of APIs (application programming interfaces).

11) Black box and white box testing: Black box testing involves testing of output with a preset input to a certain application and test on the basis of results only. White-box testing is testing of the overall input-process-output streamline which pays attention to detail.

Software Processes involved throughout STLC (Software Testing Life Cycle):

- Test Maintenance: Execution, tracking, and analysis for an integral part of test maintenance. Tools such as Rational test manager, and quality center are used and test cases are made along with integration and management of scripts. Defects are also detected, if any.

- Test Automation: This process involves usage of automated tools to form test cases and analysis of results. E-testing is also a part of test automation which performs tests on e-commerce applications.

- Defect Management: This process involves task of logging, tracking & analysis of the defect that are found throughout the Testing phase. Defect Analysis is carried out with the view of identifying root cause & the preventive actions that needs to be carried out. Tools like Rational ClearQuest, Quality Center & other bug tracking tools are used for the same.

- Test Environment Management: This process involves task of setup, configuration & regular upgradation of Test Environment that would be used for Software Testing. Virtualization tools are used to setup Test Environment & Automation is done to ensure timely deployment & configuration of the Test Lab.

There are many other software testing types and processes along with approaches. It primarily depends on the client if he wants to rely on a provider of independent testing services or a quality assurance testing service provider or someone from its own in-house team of developers.

Labels: , ,

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home