In a recent survey of software development managers, the most painful area was software testing and quality assurance. Testing is different from quality assurance in a way that meticulously tested product if badly conceived, activepieces poorly designed and inaccurately programmed will end up a well-tested, futile product because that was not what customer wanted. However, software testing is still a core technical activity to improve the quality of software.
1. Quality assurance:
The objective of QA is to deliver software with minimum defects, on time, valid and verified to meet specified level of functionality, plusiliminus reliability, and enactment. Quality Assurance assures the project will be completed within specified time and deliver standards and functionality agreed upon with the client without defects and possible glitches. It monitors to improve the development process throughout the project life cycle to ensure quality and compliance. Focus is on “prevention” of possible defects because prevention is better than cure.
2. Testing issues:
Testing is a collection of techniques to measure, remove defects and thus improve software quality. Testing is a part of broader category of software management i.e. quality assurance (QA), sanidad along with activities such as defect tracking, design and code assessments. Perception among many is that testing consists of running tests, i.e. executing the software. This is just an activity in testing other activities such as planning and control, picking test conditions, designing test cases and assessing results, evaluating criteria and requirement, reporting on process and system and closure.
Different test objectives:
• finding defects;
•ensuring level of quality and compliance;
• preventing defects; sportis
•evaluating programming logic, criteria and reporting;
Testing can be divided into different types:
• Functional Testing(Regression testing, system integration and user acceptance testing)
• Performance Testing(Load testing, Stress testing and Usability testing)
• Automation Testing
3. QTP(Quick Test Professional):
QTP is an open source test automation framework. It is keyword-driven framework which is application independent and performs most of the possible actions and verifications on an object. Hence, the code for a single object can be used across myriad applications known as polymorphism. In this approach the entire script is developed with keywords. Script is developed in a spreadsheet to be interpreted by another main driver script, which then uses the function library to execute this script completely.The QTP Settings can be used to perform the test settings that are needed for keyword drivenScripting.
4. Software QA outsourcing:
Quality assurance refers to the effective management of service deliverables as specified in the outsourcing contract and the accompanying SLA. Businesses need to create and provide accurate definitions on what is the deal between them as it directly affects all individual gears of the proposed outsourcing project. To achieve desired and agreed strategic goals, these definitions need to provide information about tools, functions and technology platforms that will be used for assessing the quality of service deliverables.
If properly shaped, these definitions would provide an effective quality assurance framework to make it easier for outsourcing services providers and all the internal and external stakeholders to understand the strategic importance of the outsourced project. The subsequent quality assurance framework will then ensure all the major and minor quality related project components or gears such as project life cycle management, QA, KPI’s, and process value additions.
Outsourcing Quality assurance is cost effective and if quality assurance is core competency of the service provider then it can really benefit the customer. At the same time provider should follow step by step procedure to ensure quality which could be following:
• Test feasibility of service deliverables
Defined performance and quality metrics appears achievable initially during planning and analysis phase, but may not always be possible during actual implementations. It is necessary that all the stakeholders agree to make an assessment about the feasibility of specified service deliverables before the actual initialization of the project. This can be done by starting with pilot projects with limited liabilities.
• Modify the processes, if required
Once pilot projects is carried out and results are not satisfactory, editorlistings businesses and their outsourcing partners need to identify the necessary modifications that could be made for accomplishing desired results. Projectabandonment can be considered an option in extreme cases when major flaws are detected during pilot projects in QA framework.
• Arranging quality management systems
Though not mandatory but as a general trend stakes are often high, it would be better if outsourcing service providers arrange time-tested quality management systems such as Six Sigma, biztrophy TQM, etc. This will reduce risks in quality compliance.
• Monitoring project progress and providing feedback to all stakeholders
Success and accomplishment of outsourced projects depends on all the acting variables and because these variables constantly keepchanging, it becomes mandatory for outsourcing service providers to monitor project progress on a regular basis. Slightdeviations in project objectives, can be corrected by the provider itself, businessresource but if there is some major deviation from the set compliance standards are detected,that needs to be communicated to the client and should go for approval process for the proposed remedial action.