|
|
| |
| |
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 |
|
|