Thursday, March 13, 2008

Role of QA and Testing in Software Product Development

With the ever-shortening software release cycles, assuring the quality of codes, while managing the cost and risks involved, is a major challenge faced by a majority of software development enterprises nowadays. With project life cycles decreasing even as software complexity is increasing, Software Quality Assurance (QA) and Testing activities have become a critical factor in the success of the software development project as a whole. The cost of software defects also places a heavy burden on every software development organization. The business need to address this problem is becoming very essential, with the cost of repair and the cost of failure increasing as software takes on more and more mission critical applications. Thus, all the Software development, Testing and QA processes must include highly defined and published approval points, where a QA evaluation of the product may be accomplished in line with applicable standards. This involves collaboration with Development Groups through all stages of a product s life cycle. An effective Software Quality Assurance has to address three broad categories namely; Software Development, Project Management and Software Development Life Cycle (SDLC). Independent standards for each are available which define competence levels in them. These are;
The Carnegie Mellon University SEI/CMMSM guidelines for software development, The Project Management Institute PMBOK project management guidelines, The SDLC taxonomy, an extension of SEI/CMM
Developing quality software involves much more than just producing defect-free codes. It involves techniques that allow a software developer to understand and measure what real quality means for a software product. It is a team effort involving software engineers, managers, quality assurance staff and others. Thus, the Quality Assurance role also has within it a wide range of potential titles and specific responsibilities. The role of QA and Testing in this light is to use a planned and systematic approach to evaluate the quality of software product/applications, and their adherence to standards, processes, and procedures. QA warrants that standards and procedures are established and followed throughout a product/application s life cycle. QA also enables creating a quality deliverable. In other words, the QA makes sure that the software development process doesn t sacrifice quality in the name of completed objectives. The Quality Assurance role can be split into three parts: To create test cases and scripts. To executes or supervises the execution of these test cases and scripts. To facilitate or perform random testing of all components to ensure that there s are no random bug haunting the system. In some organizations, the quality assurance role has two specializations. The first is the classic functional testing and quality assurance as described above. Second is a performance quality assurance role where the performance of the completed solution is measured and quantified. The performance QA role is an important part of the large system development quality assurance process. Global Trends in QA and Testing The software development industry has far succeeded in gaining a bad reputation of rushing buggy products to market. Uncalled or called for, this is giving a bad name to the whole industry. That s where specialized software testing companies come into the picture. Indian companies were quick to realize it and have latched on to this opportunity in a big way. Today, the global testing market is estimated to be a $13 billion industry. According to IDC (International Data Corporation) statistics, Software Testing in India is a $2 billion industry which is expected to touch $8 billion by 2008. India is also becoming one of the leading destinations for offshore software testing, with market opportunities for the offshore software testing companies currently at $2 billion, and expected to rise to $8 billion by 2008.As per an IDC report, almost $1 billion of the estimated $13 billion global software testing market is accounted for by Indian companies. The next wave of growth in software testing industry will be as a result of an increased adoption of SOA (Service-oriented Architecture) by enterprises world - wide. SOA applications need testing for functionality, inter-operability, security, performance and other non-functional aspects of the composite applications.IDC also forecasts that more than 80 percent of the business applications sold between 2005 and 2008 will be based on the principles of SOA. IDC s report highlights that the worldwide spending on SOA-based external services will reach $8.6 billion in 2006, growing by 138 percent to increase from $3.6 billion in 2005. IDC predicts that global SOA-based services spending will touch $33.8 billion by 2010. Conclusion As software development is becoming more sophisticated, software companies world over are fast realizing that when armed with the right tools, processes, and people QA and testing teams add tremendous value in solving the complex problem of delivering high quality enterprise software development. Author is a Marketing Executive with an Offshore Software Development Service provider located in India. The company deals in offshore software development and offshore outsourcing. For more detailed information about the company and its services visit www.otssolutions.com



Bookmark it: del.icio.usdigg.comreddit.comnetvouz.comgoogle.comyahoo.comtechnorati.comfurl.netbloglines.comsocialdust.comma.gnolia.comnewsvine.comslashdot.orgsimpy.com

No comments: