 |
 |
| Quality Assurance & Testing Services |
Software has grown in complexity, size and organisations invest huge sums in making a perfect software product. The key word being “perfect” as in acceptable to the end-user or target audience. We usually associate Quality assurance and testing services with correctness, completeness but it is much more. This function extends beyond this to include more technical aspects like efficiency, capability, reliability, maintainability, portability and usability. At Hurix, we perform this function on behalf of stakeholders as part of the technical process.
|
|
|
|
| More than half of all software projects fail to meet objectives or suffer significant schedule and/or budget slippage because defects are discovered too late. Studies show that finding and fixing defects during test execution can cost 50 times more than during the early requirements phase-and 200 times more if left until production. |
 |
| |
Hurix provides comprehensive testing solutions ranging from functional, usability, and performance to interoperability testing. These solutions help organizations achieve predictable software quality gains while reducing the time and cost associated with testing activities by leveraging our Global Delivery Model.
Manual Testing Solutions:
A snapshot of our functional and non-functional manual testing offering is as follows: |
| |
 |
Functional testing |
| |
 |
Globalization and localization testing |
| |
 |
Accessibility testing |
| |
 |
Usability testing |
| |
 |
Configuration, Compatibility, & Conformance testing |
| |
 |
Installation testing |
| |
 |
Standards and logo compliance testing |
| |
 |
Regression testing |
| |
 |
Alpha testing |
| |
 |
Beta testing |
| |
 |
Third party validations and acceptance testing |
|
| |
Automation Testing Solutions:
Automation testing means execution of test cases in an automated way without manual intervention. Automation testing can be achieved either by using a third party tool or by developing an in-house tool suited to the testing need. Hurix has developed its expertise in automation of functional as well as in load/ performance testing solutions for software systems with sophisticated human interfaces.
When is Automation testing recommended?
Automation testing is primarily used for performing regression testing of a product. Regression testing requires execution of test cases with every build. Product releases are usually incremental and have a short development time span and hence require rigorous QA activities. Since the builds to QA are released at short and regular intervals, it is not possible to execute all test cases of a product manually. This is where automated test cases help as it provides quick and accurate results on the build status.
Advantages of Automation Testing Solutions:
Hurix System’s unique combination of test automation technology, services and methodology adds value to the test by giving product companies a maintainable automated solution that allows them to reduce test cycle time, increase coverage, improve test accuracy and accelerate time to market. Some of the advantages realized are:
|
| |
 |
Site/product build status can be determined quickly with the help of automated test cases as it generates a report on the execution status of each test case. |
| |
 |
Automation testing can be scheduled to run independently during night and the results of the execution become available in the morning thus saving time. |
| |
 |
Execution of automated test cases can be done by developers as well thus providing them with an additional tool to determine the quality of code they develop. |
| |
 |
Site/product releases can be achieved at shorter intervals as QA cycles are shortened. |
| |
 |
Automation testing guarantees quality result of test execution as it is not prone to human error. |
| |
 |
A small QA team is sufficient to certify a product with the aid of automation testing solutions. |
|
| Test Automation Framework: |
| |
 |
| |
Performance Testing:
Load/Performance testing is the process by which software is tested to determine the current system performance. It is done to assess how the site/product holds up under different loads and provide the customer with extensive data to help scale the site/product up to meet higher loads.
Why Performance Testing?
Speed - Does the application respond quickly enough for the intended users?
Scalability – Will the application handle the expected user load and beyond? (Capacity)
Stability – Is the application stable under expected and unexpected user loads? (Robustness)
Confidence – Are you sure that users will have a positive experience on go-live day?
Benefits of Performance Testing:
If you know what the performance is… |
| |
 |
You can assess risk. |
| |
 |
You can make informed decisions. |
| |
 |
You can plan for the future. |
|
| |
Application Tuning: The performance of the application is improved and the application is fine tuned by finding out the Performance bottlenecks, architectural defects and fixing them.
Infrastructure Tuning: The efficiency of existing hardware can be improved (speed and volume of responses) by referring the facts and figures obtained in the form of performance testing results.
Capacity Planning: Performance Testing also helps in analyzing and planning as to how much hardware we need in the present and would require in the future in satisfying the growing performance requirements?
ConfidenceBuilding: Performance testing builds confidence that users will not encounter problems in a live operation, and is a type of risk-mitigating insurance. It enables us to evaluate whether: |
| |
 |
A system is ready for release into production. |
| |
 |
A system is likely to meet its goals. |
| |
 |
The users will be satisfied with the service they receive. |
| |
 |
Resources are being used effectively. |
| |
 |
The system operation is likely to be trouble-free. |
|
| |
Security testing:
Web Application Penetration Testing:
Despite common use of defenses such as firewalls and intrusion detection or prevention systems, hackers can access valuable proprietary and customer data, shut-down websites and servers and defraud businesses, as well as introduce serious legal liability without being stopped or, in many cases, even detected.
Web applications allow users access to resources from any part of the globe. Due to the ease of accessibility, web applications have turned out to be common targets for hackers. Vulnerabilities may be inherent within the application due to flawed design, improper coding practices or configuration errors. These vulnerabilities, if not identified and fixed, could adversely impact the business processes and the reputation of an organization. To effectively address these security vulnerabilities Hurix Systems offers our Web Application Penetration Testing service, which includes comprehensive tests to discover vulnerabilities and to determine risk index of the application.
Product Security Testing:
Product Security Testing has the capability to break the security mechanism built into the product, identifying scenarios where the application fails, behaves abnormally and can withstand the attack/exploit. Based upon the application type, Hurix Systems attempts various exploits and attacks on it. Tests like tampering the licensing mechanism, editing any registry entries (specific to the OS) are also attempted.
Network Testing:
As important as understanding if an application performs as expected is understanding if the network infrastructure performs as expected. To meet this need we have developed dedicated Network testing services.
These services are aimed at determining how well the network and infrastructure will cope with change. Our testing services are tailored for different scenarios, such as: |
| |
 |
introducing new applications or new services |
| |
 |
increasing the existing user population or transaction throughput |
| |
 |
troubleshooting by locating and resolving problems with the network or infrastructure |
| |
 |
rationalizing the existing infrastructure |
|
| |
Usability Testing:
What is Usability testing?
Usability tests focus on human factors, aesthetics, user interface consistency, online and context sensitive help, wizards, agents and user documentation. This is testing for 'user-friendliness'.
Why to do Usability testing?
A usability test gauges operability of an application. It ensures ease, simplicity and comfort of use of the software. Such tests facilitate identification of areas of an application which, if presented in a different way, would assist users to operate the application more effectively and with ease. Of importance here would be identification of areas where users would need context sensitive help.
How to do Usability testing?
A usability test is subjective, and will depend on the targeted end-user or customer. User interviews, surveys, video recording of user sessions, and other techniques are used to determine the test process. Over time Hurix Systems has derived empirical benchmarks to gauge applications from a user’s perspective.
Expertise in Testing Tools:
Hurix Systems works with multiple test tool vendors, allowing us to provide informed, objective advice on test tool selection. Our recommendations can include a hands-on inspection of your products, including tests of the fit between your application and different tool sets.
Listed below are various tools we use in our projects: |
| |
| Test Project Management |
|
Mercury Quality Center |
| Defect Management |
|
Bugzilla, PVCS Defect Tracker, Mercury Quality Center and Rational Clear Quest |
| Functional & Regression Testing |
|
Jira, Selenium, Mercury Win Runner, Quick TestPro, Rational Robot, AutomatedQA TestComplete, QEngine, Ruby Scripts using libraries of WET & Watir |
| Coverage Management |
|
Rational Requisite Pro and Mercury Test Director |
| Performance Testing |
|
OpenSTA, JMeter, Mercury LoadRunner, Rational Performance Tester, Rational Robot, Silk Performer, QEngine, AutomatedQA TestComplete |
| Configuration Management |
|
Visual Source Safe, SVN, PVCS |
| Dynamic Code Coverage |
|
JProbe Suite, Rational PureCoverage |
|
|
|
|
|
 |
 |
 |
|