The QA Testing Methodology is precisely
defined at ZSL. Project Management, Maintenance of Time
Schedules, Quality Assurance, and Software Engineering
are some of the key areas we focus on in the Software
Development Life Cycle process. Our exhaustive Methodology
ensures thorough and effective QA Testing of software
products and applications.
We have an independent Quality assurance
team that conducts various testing methodologies. The
QA team performs various testing methodologies like
-
System Testing: System Testing
is concerned with evaluating a system’s ease
of use and the level of convenience it provides to
non-technical people to enable them to utilize the
various tools and functionalities offered by the system.
This helps users derive the maximum benefit from the
system. System Testing further entails detailed analysis
of the navigation system, the user interfaces, etc.
-
Black Box Testing : This testing
technique is most effective whereby the tester does
not know the internal workings of the software being
tested. This test does not ever examine the programming
code and does not need any further knowledge of the
program other than its specifications. The advantages
of this type of testing are that test is unbiased
because the designer and the tester are independent
of each other, the tester does not need knowledge
of any specific programming languages. The test is
done from the point of view of the user, not the designer.
Test cases can be designed as soon as the specifications
are complete.
-
White-Box testing : A software
testing technique whereby explicit knowledge of the
internal workings of the item being tested are used
to select the test data. White box testing uses specific
knowledge of the programming code to examine outputs.
The test is accurate only if the tester knows what
the program is supposed to do. He or she can then
see if the program diverges from its intended goal.
White box testing does not account for errors caused
by omission, and all visible code must also be legible.
For a thorough Software evaluation
both Black box testing and White box testing is required.
-
Stress/ Load Testing: In Stress
Testing, the parameters typically tested are: Storage,
Computing Time, Communication Capacity, and Database
Recovery Time. This process drives the system to the
very limits of its endurance in order to determine
what features in the application design can fail during
implementation. The features that do fail can turn
out to be defects capable of causing disastrous failure.
Load testing is used to test the load-bearing capacity
of the system and to measure the response time and
throughput of the various components of the system.
-
Platform Portability Testing : Platform
portability testing addresses concerns regarding a
product’s capability to interface with other
software and hardware. ZSL is equipped to test
Client products across a varied range of software
and hardware platforms to evaluate the related issues
involved in Platform Portability Testing.
-
Functionality Testing: Functionality
Testing is performed to ensure the conformance of
the application to the specified requirements. In
Functionality testing, as the name suggests, the test
engineer does not access the source code and the testing
is more behavioural. The sole focus of Functionality
Testing is to ensure that the system conforms to the
expected results under various test scenarios.
-
Regression Testing: During the
development cycle, the regression testing is carried
out for each of the intermediate builds promoted periodically,
by a pre-planned regression testing cycle. Whenever
defects are fixed, ZSL does regression testing on
the entire application/system. Most of test cases
in the test suite are automated to minimize manual
testing effort.
-
Integration Testing: Testing the
interface between ‘items’ previously tested
in isolation. Examples of items are components, integrated
components, and entire applications.
-
Performance Testing: After identifying
the scenarios representing the functionality that
are critical from the point of view of stress and
scalability, they are tested using an automated tool.
ZSL uses automated tools to simulate the load and
measure the metrics with respect to performance, durability
and scalability. Finally, the output is analyzed based
on various parameters including the response time,
failures, CPU utilization and throughput.
-
Installation Testing: Checking
that the correct version of application has been installed
correctly on the targeted OS/Hardware environment.
This is done in conjunction with Configuration Management.
De-installation should also be tested if appropriate.
-
Acceptance Testing : The Client
Project Manager/Team will prepare acceptance Testing
Plan and Test Cases based on the system requirement.
The test cases will be executed and treated as exit
criteria if those cases passed successfully. The Business
User of the end product i.e. the Software Deliverable
performs this test.. The focus of this test is primarily
the Business Functionality of the software product.
The User may perform Volume, Regression, Stress and
Chain tests at an application level.
All the Test results are documented
in a structured manner. The test data and results are
used to improve the quality of the software over few
iterations.