AllCoolJobs.Com

Home Job Seekers Login Post Your Resume Employers Contact Us

Jobs Help
Browse Latest Jobs
Job Seekers Register Here
Employers Post Jobs
Jobs Help
Jobs Tips
Career

Software testing

                         

Introduction

Software testing is an important part of Quality control measures and when done in a proper methodical manner can increase overall software quality of conformance by testing that the product conforms to its requirements. It is totally different from Software Quality Assurance (SQA), which encompasses all business process areas and not just testing. Software testing can be done by various methods such as Unit Testing , Functional Testing , Performance Testing , Failover Testing and Usability Testing to name a few.

Types of Testing:

Depending on the requirements of a project, the organizations or the testing group can include testing at various levels such as at the end or in between different modules or even early in the development cycle to ensure quality in their products. The testing can be done either by the Quality assurance group or by allocating manpower within the development group. Mostly, organizations go for a mix of testers and developers who work closely together in a single project team. And overall QA processes are monitored by project managers or the specific QA group of the organization.. Not only the responsibility of testing , but the type of testing is also flexible with different organizations going for different types of testing depending on what best fits an organization's size and business structure. Some of the most common testing methods are : Black box testing where the tests are based on requirements and functionality, White box testing which is based on knowledge of the internal logic of an application's code. Unit testing in which the tester tests particular functions or code modules, incremental integration testing which involves continuous testing of an application as new functionality is added and so on. There are others such as regression testing , acceptance testing load testing or usability testing etc.

A very important limitation of software testing is that the number of defects in a software product can be very large. Thus the test cases (A test case is nothing but a set of events, action, input, output, expected result, and actual result) must try to include all these possible problems. Moreover bugs that occur infrequently are difficult to catch in testing environments. And since time allocated for testing is usually less, it becomes very difficult to control or catch all the bugs in the software. Thus many companies have started using "test-driven software development" model. In this process unit tests are written first, by the software engineers before the actual coding starts. As expected, initially these tests fail but the failure rate decreases as the code is written. The test cases are continuously added and are continuously updated for new conditions.

Verification and Validation (V&V) are the two processes used in conjunction with the software testing. While verification refers to the checking of or testing of items, for conformance and consistency with an associated specification, the Validation is the process of checking what has been specified is what the user actually wanted. Software testing is therefore a type of verification process.

Training and Opportunities

There are various certifications offer red for software testing such as CSTE offered by the Quality Assurance Institute (QAI) , CSTP offered by the International Institute for Software Testing , ISEB offered by the Information Systems Examinations Board

And ISTQB offered by the International Software Testing Qualification Board

The basic qualifications required to be a software tester is a degree in software engineering or computer engineering plus an experience in testing and debugging a lot of programs. The certifications as mentioned above are an added advantage.

                         

Copyright © 2006. All rights reserved.