QA Testing Methodology is precisely defined at ENoptions.
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 the software products and applications.
Data
Integrity Testing - Data integrity testing, a key component of
QA testing, has to do with verifying the reliability of data procurement
and storage methods in order to ensure that the data obtained is in the
required format, and that it is reliable and consistent with the data expected
to be present in the database. Data Integrity Testing also ensures that
all relevant information is stored in a timely manner, thus avoiding data
loss, which has the potential to prove catastrophic to a business. Parameters
can also be customized as per client requirements for the data integrity
testing during the setup phase.
Data Integrity of a product can be assessed using the following parameters:
- Does data get saved when one closes a window
- Check maximum field lengths to ensure that there are no truncated characters
- Where a database requires a value (other than null) are defaults in place
- If numeric fields accept negative values can these be stored correctly on the database and does it make sense for the field to accept negative numbers
- If a particular set of data is saved to the database check that each value gets saved fully to the database. i.e. analyze for truncation (of strings) and rounding of numeric values.
Additional parameters to assess data integrity can be readily incorporated during the Testing set up phase.
Functionality Testing - A thorough review of a client's application needs and of their existing systems helps us develop the Functionality tests. These tests are performed by MachroTech on the basis of our systematic methodology for Internal Documentation, Reporting, and Resolution of defects and bugs detected during the various testing processes.
The analysis of these defects and bugs are carefully documented to provide our clients with:
- A Complete description of the bug/defect and the process of reproducing it
- A clear assessment of the usability of the product and its relation to the business objectives
- Critical data and information needed by the developers involved in debugging. This involves a cost/benefit tradeoff.
Performance Testing - As per a client's system specification document, performance testing on the following parameters is conducted:
- Stress Testing: The system is checked for race conditions, memory leaks, and parameters as required by client during stress testing. Typical parameters tested are: storage, computing time, communication capacity, and database retrieval time. Stress testing is designed to drive the system to the point where these limits are reached. Such tests often reveal the omission of features in the implementation designed to deal with such limitations. They also often turn up potential defects that could result in catastrophic failures.
- Availability Testing: The system is put to test for failure of processor, memory, database, and network errors. All architectural components are identified and testing is done to provide data in support to make application up and running in minimum standard conditions.
- Response/Throughput Testing: Load is simulated on the system to create peak run-time load conditions and the response time and throughput of various components of the system is measured.
Performance testing involves testing the product on the basis of the following criteria and other Custom criteria as required by the Client:
- Stress 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.
- Availability Testing - Availability testing involves testing the reliability of the network, database processor, memory, etc. This involves testing the capability to have the support for critical data required by the applications to be up and running in minimum standard conditions. All the architectural components that need to be available are also made sure to be present and functional.
- Response/Throughput Testing - Response / Throughput 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.
- Usability Testing
: This entails an analysis of the existing User Interfaces, ease of navigation, and use of the existing system. This does not involve any analysis of the graphic appeal/ look-and-feel of the system.
Illustrative aspects that can be tested and analyzed include:
- Authentication
- GUI: Forms and Selections such as;
- Text Boxes
- Radio Buttons
- Radio Buttons
- Check Boxes
- Drop down list boxes
- Combo Boxes
- Screen Validations/ Validation Conditions
- Navigation Conditions
- Usability Conditions
- Other Generic Requirements
- Compatability
: Compatibility testing addresses concerns regarding a product’s capability to interface with other software and hardware. ENoptions is equipped to test Client products across a varied range of software and hardware platforms to evaluate the related issues involved in Compatibility Testing. The objective of compatibility testing is to reveal issues related to the product's interaction with other software (operating systems, browsers, installed applications, among others) as well as hardware (video cards, sound cards, processors, among others).
We have libraries of drivers, various versions of browsers, operating systems, and platforms. With all of its tools and equipment at its disposal, ENoptions's consultants are more than qualified to take a client's product and distribute it across every browser, operating system, and platform that meets minimum specifications and discover and analyze the issues involved.