Quality Assurance
|Perform all Phases of life cycle| |QA Platform and Tool Selection| 
|
QA Process Engineering| |QA Testing Process Management|
 
 
 
 
 
 
 
 
 

In today's climate of rapidly changing technology and time-to-market pressures, Quality Assurance Engineering process ensures a systematic approach towards defect discovery and capability limitation findings in your software components or applications. We have successfully established sustainable credibility and user/ client acceptance on the projects that we have been part of.

Our mission is to facilitate organization's build robust and reliable, software systems by being a partner in their software quality assurance engineering effort. Our QA team prefers to start work at the early stages of software development cycle to ensure timely and exhaustive coverage of the application for quality assurance. With this approach we have developed a strong and reliable quality assurance process that offers unique benefits to our customers.

Quality Assurance Services:

• Perform all Phases of life cycle
• QA Platform and Tool Selection
• QA Process Engineering
• QA Testing Process Management
 

1) Perform all Phases of life cycle

Our QA specialists perform any or all of the QA Life Cycle Phases starting from defining the architecture of QA process thru performing specific testing cycle (i.e. functional, system, load/stress testing etc.).

  • Design Review - A thorough review of the processes and design of the product/ application. Subject matter specialists and senior designers do this exercise. Architectural, Development and Implementation issues are discussed and frozen at this point in time. Our QA architects get involved at this stage to determine the potential influence of architecture and design on the QA process, platform and tools selection.

  • Unit testing - The most 'micro' scale of testing to test particular code modules. Typically done by the programmer and not by QA engineers, as it requires detailed knowledge of the internal program code. Not always easily done unless the application has a well-designed architecture with tight code; may require developing test driver modules or test harnesses.

  • Code Walkthrough - Code walkthrough entails looking at a programmer or developer's code. We encourage it as a part of the QA Engineering process. There is no substitute for a close examination a programmer's code by other qualified members of the team as it catches programming errors early. The idea of code walkthrough also ensures that a programmer has used good coding practices and established coding standards.

  • Functional testing - Our QA engineers develop test cases to target each desirable and undesirable function of the software. Each function of the software is targeted and tested in separation from other functions of the software.

  • Integration testing - We test the combined parts of an application to determine if they function together correctly. The 'parts' can be code modules, individual applications, client and server applications on a network, etc.. An automated tool can also be used to do an integration testing.

  • Regression testing – In this phase, we ensure that a bug fix or modification of software doesn't have undesirable impact on other parts or functions of the software. A mix of test cases involving different functions of the software form a regression bucket. This regression bucket needs to be executed each time a bug fix or software modification is released to QA. Automated testing tools are especially useful for this regression testing.

  • Stress / Load testing - As the name suggests, we put an application under heavy loads to determine at what point the software systems response time degrades or fails. The purpose is to determine the capability limitation of the software system.

  • Acceptance Testing - This is more of a customer (or user) side function as opposed to being a part of QA life cycle. We ensure that the software system meets the set criterion of quality before being accepted or released. The acceptable criterion of quality could be based on results from previous phases of QA (system testing or performance testing etc.) or may involve entirely different testing phase independent of previous testing phases performed.
 
 

2) QA Platform and Tool Selection

Once a QA process has been defined, platforms and tools meeting the specific requirements of the process need to be selected to implement it. Our Architects or Senior QA engineers define the requisite QA environment or platform, including tools needed to execute or manage different phases of QA process, to effectively carry out the complete QA process

  • Purpose - To recommend and/or build the appropriate QA environment and automation tools needed for the specific software system.

  • Deliverable - Recommendation of QA environment and QA automation tools, which will ensure optimal and efficient execution and delivery of the defined Quality Assurance processes for the specific software system. The Quality Assurance platform, which will drive the testing efforts of your software, will be an important decision in successful delivery of the software.

    The architecture, scalability, implementation and usage are some of the issues that will determine the environment. A real-time embedded system software puts a different set of requirements on the QA platform and tools as opposed to a Web based e-commerce software even though the steps to be taken in the QA process may be more or less similar.

    Many companies choose an automated test tool only to find that it ends up as shelf-ware and not test-ware. A QA automation tool may or may not be required for a project. Some times it may not even exist even if required. The first decision is of the necessity and the second of the decision to build or buy depending on the suitability to the task in hand. Our QA architects will identify an appropriate automation tool for your QA environment and provide you with the comparative evaluation report.
 

3) QA Process Engineering

Each software system has unique requirements in terms of approach needed to ensure quality. Our QA architects define the systematic approach or methodology for quality assurance of particular software system, be it embedded or system software, high-availability business application or n-tier web application. This encompasses the complete Software Development Life Cycle and defines the QA Life Cycle for the software.

Software QA Engineering involves the entire software development process - monitoring and improving the process, making sure that any agreed-upon standards and procedures are followed, and ensuring that defects are found and remedied. It is oriented towards 'prevention' rather than just 'correction'.

Our QA process engineering focuses on the following critical processes:

  • Management of Requirements Changes
  • Development process
  • Standards Definition
  • Reviews
  • Configuration Management
  • Quality Assurance Life Cycle customization specific to type of Software
    system

Our expertise is based on years of software development and project management experience. We believe that QA processes that are well documented, automated and well entrenched into the culture are long-term investments rather than one-time expenditures. Good QA processes, if institutionalized, will increase the effectiveness of your software development resources. Not once, but repeatedly. It doesn't just help to resolve today's challenges: it strengthens your capabilities for future growth.

 

3) QA Testing Process Management

Timely delivery of a quality software system depends heavily on the effective management of the QA testing process along with the Software Development process. Managing the QA testing process involves setting up of test environment, test plan development and execution, QA & Software development team interaction, defect tracking and fix release acceptance, minimum quality criterion determination for releases and delivery.

  • Purpose - Manage the Quality Assurance process for a software project. Building the appropriate control process, implementing it and managing it.

  • Deliverable - The management of the QA process starts with the design reviews and extends up to the implementation and post implementation monitoring. The inter-workings of design reviews, code reviews and release engineering are crucial processes to manage as they are part of the interaction between software development team and QA engineering... Configuration management, which entails sorting out development environment, test environment and a production environment also concerns QA process management.. With various kinds of technologies in place and with n-tier architecture, it is often more complex than it seems like.

    QA is obviously concerned with errors, faults, failures, situations and incidents. A test is the act of exercising software with a test case. The precursor of testing is to determine a set of test cases for the software system being tested. The act of testing entails establishing the necessary pre-conditions, providing the test case inputs, observing the outputs, and then comparing these with the expected outputs to determine whether or not the test passed. Each test case should have any identity, and a reason for being. The test cases need to be developed, reviewed, used, and saved. Our QA process management effectively manages all these testing steps.
 
|Design Services|  |Internet Services|  |Software Services|  |System Integration|  
|E-Learning|
 |Cad Services|  |Offshore Outsourcing|  |Project Management|
 
 
   
  © Amartech Convergence India (P) Ltd.                          Terms & Conditions of accessing this website