Monday, February 19, 2007

Quality Assurance

Quality assurance services have gained considerable significance in these times where a lot of players are offering their services in IT domain, thanks to the outsourcing and off-shoring model of business. Software solutions / services / products get more demanding and as such involve too much complex functionalities. In addition to that, Product / Development lifecycle is getting shorter too due to time-dependent business viability factor. In such a scenario, the quality of the software needs special focus during the entire development phase because a software development process needs to gauge itself against end-users’ requirements. Software that proves to be usable and reliable to the target users can only be termed as Quality software. The domain of QA and testing undertakes this responsibility of assuring a target user of correctness and robustness of the software that was agreed-upon. The QA also keeps the track that all the mutually agreed upon standards and procedures are followed and maintained during whole of the cycle.

Mastiff Tech Quality Assurance and Testing Division is totally dedicated towards the mission to deliver QUALITY solutions in QUALITY time. With a team of highly motivated testers with great insight in various forms of QA and testing, Mastiff Tech is incessantly reaching newer heights in delivering cost effective yet highly standardized software to its clients.

Mastiff Tech QA and Testing Division is independent in its functioning and considers Mastiff’s internal software development in the same league as outsourced QA and Testing projects from outside. Thus, the division handles internal as well as external projects with the same dedication and diligence. As a matter of fact, QA and Testing Division of Mastiff Tech is amongst the highest revenue generating divisions of the company.


Service Models:

The QA and Testing Team have evolved two models of extending their services to the clients. However, keeping the fact in mind that each and every project is unique in itself and as such requires specific way of handling, these two models can be custom tailored as per the demands of the project.

The models are:

Central Lab QA and Testing Model -
In this model, Mastiff Tech undertakes all the QA related works at its central lab base, Mumbai, India. If the project demands, a small member team can go to the client site and can work as an interface between offshore development team and the client.

Client Base QA and Testing Model –
Our teams of QA experts work as an extension of client’s team and bring in their testing expertise to enhance the results. Domain experts from various industry verticals are members of our Onsite consulting team.






Services offered:
Many Clients use Mastiff Tech as their sole QA resource. Other clients partner Mastiff Tech to augment their testing team or to provide independent, third party validation of their testing processes and results. We work with their internal product development teams to ensure the highest degree of software quality before product release.
For every kind of testing service, intelligent proportion of manual and automation is decided upon. The purposes of the automation through various kinds of automation tools are:
· Increased Cost and Time efficiency
· Better human resource management
· Absolute nullification of human error
· Multitasking can be performed with ease
Mastiff Tech has experienced resources who have implemented testing solutions using industry leading testing tools like Mercury Test Director, Rational Test Manager, Quick Test Pro, Win Runner, Rational Robot.
Our testing services primarily include the following:
1. Functional Testing –
We identify the functional, operational requirements and build comprehensive test plans to verify the product conformance with all the functional specifications. During functionality testing, a range of inputs as test data is created and tests are performed to validate whether each feature conforms to the requirements. Based on the product and its needs we customize our testing process and choose the appropriate testing type. Our team of project managers, QA engineers and systems administrators work with each client to determine the best framework for testing. We can replicate our clients' staging environments in our QA laboratory or connect directly into our clients' staging environments to perform the necessary testing activities.
2. Regression Testing –
A software product goes through multiple releases, with each release requiring a complete testing effort. Thus, every new release needs to be checked for a.) proper functioning of new features in the release b.) existing/older features still function as they used to and have not adversely affected due to the introduction of additional new features. Our Regression testing is the re-execution of a set of tests that have already been conducted to ensure that changes have not propagated unintended side affects.
3. Performance Testing –
Mastiff Tech Performance testing service is specifically meant for testing stability, robustness and load efficiency of the system. A practical situation is simulated for the testing purpose and system is thoroughly monitored for its response behavior for different set of requests. After Performance Tests for various requirements are done, detailed custom report is generated against every critical aspect like how many virtual users were created, Transactions/sec (successful / unsuccessful), average time for different requests, performance under stress condition and many others.

4. Compatibility Testing –
Every user has a unique set of software and hardware combination with him. Quite obviously, it is absolutely imperative for any software system to function efficiently on every combination that has been agreed upon before its development. The system should function the same across all platforms, browsers, processors and configurations. Mastiff Tech provides an extensive and less expensive compatibility testing services with huge gamut of operating systems, platforms, databases, servers, browsers and hardware devices.
5. Usability Testing –
Usability 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. Mastiff Tech Usability Testing entails detailed analysis of the navigation system, the user interfaces, etc. In addition, we also test whether all the links in the applications are functioning; whether the response times adhere to specifications and how well the information is organized in the user interface.
6. White Box Testing –
Mastiff Tech QA and Testing Team does intensive source code review, code coverage analysis, cyclomatic testing, data flow testing, loop testing, profiling, etc. on various technologies. White Box testing strategies include designing tests such that every line of source code is executed at least once, or every function is tested individually.





Quality Policy:

Mastiff Tech QA Team works diligently with the single objective policy of delivering such service to the clients that it exceeds his best of imagination. The QA team ensures the services delivered to be adhering to standard global professional practices. The Team maintains its expertise in the field by always remaining agile on learning newer concepts and technologies.


Quality Framework

Mastiff Tech Pvt. Ltd trusts that the quality is the “KEY” for the clients’ and its own long term success. Hence, to make “QUALITY” an uncompromising component, Mastiff Tech has a dedicated, wholly independent QA and Testing Team, which treats external as well as internal projects with the same level of commitment.

Implementation of the Quality Standards

The Mastiff Team strictly maintains the globally accepted and benchmarked standards of QA services. All the required processes and procedures are followed in accordance with the established industry practices. Besides maintaining the best of process standards, Mastiff Team maintains a point to include “Proper Documentation” as an integral part of their Quality Standard maintenance.

Role Definition and authority for Quality

At the starting of the project, The Mastiff QA Team decides the specific role for each team member, who would be involved with the project. All the team members are encouraged to ask any clarifications about his / her role and authority in clear terms so that no confusion of any sort creeps up in future regarding role or authority crossovers.

Project Management Lifecycle

Mastiff Tech QA team has modularized the Project Management Lifecycle into different stages of the project so that proper monitor able management and auditing standards can be done with seamless ease. The policies regarding modularized components of the project management are:

· Requirement Management - Software Requirement are controlled to establish a baseline for software engg and management activities. Also, the Software plans are fixed in such a way that it remains in consistent with the requirements.
· Software Project Planning – project activities and estimated timelines are planned and documented. The members concerned are then intimated about their commitments and roles.
· Software Project Tracking – actual results with the planned scenarios are tracked and documented. The course of action based upon the results is then taken. If corrective actions are to be taken, redefined role definition is properly communicated in the team.
· Project Transparency - During the cycle, all the non compliance issues are clearly marked and clients are always kept informed about the issues. The clients are also kept in synchronization with the development of the project QA developments.
· Software Configuration Management – all the configuration aspects are explicitly dealt with the client and team members are kept in sync.


QA Methodology:

The success of any QA activity gets mapped to the Methodology, designed and executed to get the testing done. Mastiff QA and Testing Team gives up most importance to the meticulously planned QA methodology. The unique aspect of the methodology is that it is flexible enough to custom tailor itself to the specific requirements of the projects.
The following steps of QA Methodology are generally followed tailored with the specific requirements of the project:

· Requirement Analysis
Testing begins in the requirements phase of the software life cycle. All the requirements are analyzed and their respective degrees on various bases are established, so that controlled focus area can be mapped. The team also analyzes the new testing system controls and other specifications that would enhance the overall efficiency of the QA project.

· Development
In this stage, the QA planners and testers work with developers in determining what aspects of a design are testable and under what parameter those testers work. In accordance with the planning, test planning and scheduling are done under various scenarios and their priorities are set. Whether the system is to be tested manually, automation is required or mixture of both is required is decided too. For automation, team moves forward with required further steps like script generation, scenario capturing etc.

· Implementation
All the test plans are tested against the system requirements in accordance with the standard procedures. Various controlled scenarios are simulated in which the system is tested on many parameters.

· Evaluation and assessment
The test results are properly documented and based upon these results, the system is evaluated. The errors found out in the implementation stage are reported back to the concerned party and next round of testing for these reported errors are prepared. The assessment of the system is done on many pre-agreed aspects and detailed report on each of the aspect is sent.










Infrastructure:
Mastiff Tech has a dedicated Test Lab for Automation and Performance testing.
On a case-to-case basis Mastiff Tech also offers dedicated functional test lab facilities for doing product validation testing and automation test lab facilities for doing automation development and execution.

Detailed Tool Description:
Mastiff Tech QA and Testing Team has reckoning experience in some of the leading industry automation tools:
1. Mercury Test Director
2. Quick Test Pro
3. Win Runner
4. JMeter
5. Mantis(Bug Tracking)
6. Microsoft Web application Stress Tool
7. JUnit, NUnit
8. Jakarta Cactus









Projects Implemented:
Some of the key Quality projects performed by Mastiff team are

1. World Tavern and Poker Tournament Site Testing (www.worldtavernpoker.com )
Client Overview
The client is an organizer of poker tournaments in US. Poker, as one of the hottest game played in there, has many interested players, who want quality environment to play. The World Tavern Poker Tour is bringing these games to favorite Taverns around the world.

Business Context
The client has a site developed, which is www.worldtavernpoker.com . The client wanted the site to register taverns and players for live poker tournaments at the client’s desired place across the country. The client also wished the site be so user friendly and simple that everybody should be using the site with seamless ease.
Challenges
There were two challenges for the QA and Testing Team:
· The Site is NOT an online gaming site. It is, in fact, a site to register taverns and players for live Poker tournament. The site would also be displaying the most recent records and points for each registered player on 24 X 7 basis. Thus, the business model of the site was quite unique and a lot of understanding about the poker game was needed to test the site.
· The client’s requirement to make the site one of the most coveted poker site in the world was indeed a challenging task. With so many competitors around, the testing team had to rigorously do the Usability Testing to judge the User friendliness of the site.


How Mastiff Tech Helped
The QA and Testing Team at first did the detailed study about the poker game, so as to grasp the understanding about what an end user as a poker player desires from the site he/she is using. Having gained sufficient understanding, Mastiff Team then performed extensive manual and automated Usability Testing of the site. The automation drastically reduced the Execution Cycle Time.
Mercury Test Director was used as the Test Management tool with Quick Test Professional (QTP) being used as the Test Automation tool. The client provided the test cases for this product, with Mastiff Tech taking up the responsibility of creating and maintaining the automated test scripts apart from executing them. The creation of automation test scripts taken up at offshore was done using the latest released build. The test cases were integrated with Test Director for better visibility and tracking. For each release, the detailed test cases were maintained by Mastiff Tech test team in the Test Director depending on the changes made in the release. Along with the Mastiff Tech test team, the client then did the Regression Test Planning for the release. Once the planning was complete, the client did the logical grouping of the test cases to be executed for that release using the Test Director. With sequential Regression and Usability Tests, the site turned into an excellent User friendly site.
Mastiff QA and Testing Team also did Performance Testing (Stress Testing) of the site to gauge its response in times of excessive load.

Result
With QA and Testing Team working in total sync with the Development team developed a site that is ranked No. 1 on Google Search. The success of the site can be understood by the fact that www.worldtavernpoker.com gets the highest number of hits as a poker portal, ranking number one on Google, today. Currently the site is managing around 30,000 registered users and around 350 registered taverns across two countries. Players are pleasantly amazed with the facility of handle their account so smoothly through web, while Taverns are at ease by maneuvering the whole events and championship through web interface in quick seconds.

This is one of the most successful projects of its kind. World Tavern Poker is still with Mastiff Tech for continuous up gradation and feature enhancement of new ideas in gaming.
We had done functional and regression testing of Poker application by using winrunner and Load Testing by Microsoft Stress Tool. Test Director was used for the test Management.




2. Functional/Regression and Stress Testing of a Learning Management System(LMS)
Company Overview
The Company is a leading Educational Service provider in US. It has got many modules for different kinds of Learning Domains.
Business Context
The company has got a Learning Management System (LMS) application, which manages, delivers contents for the users and conducts Evaluation Tests. The application also manages the user profiles and allows different roles for different users.
Challenges
The company wanted to go web with the application as soon as it could. Considering the time criticality of the project, The Company wanted us to
· Check the web version compatibility with all available standard platforms and browsers.
· Check all the functionalities of the application through functional and regression testing while changing to the web version.
· Test the site for the stress condition.
· Report and document the status within the completion time plan.
How Mastiff Tech Helped
Mastiff Tech Team understood the application and seeing the time criticality of the project, designed the testing environment in such a way that the whole QA process strictly follow the time schedule without compromising on the quality part. After thoroughly analyzing the System Requirement Specifications, the team developed the Test plans. The test plan had details about test cases, methods and tools selection for automation. The mix of manual and automation testing methodology was followed up and all the detected bugs and defects were properly documented and reported. This was of course followed by the regression testing when the reported bugs and defects were fixed by the client’s development partner.
Mastiff QA and Testing Team also did the stress testing for the site simultaneously.
Result
Mastiff Team completed the assigned task within the time frame. Due to early detection of the defects, the application got upgraded in quality during the development phase itself, which helped the client to go web in schedule time without any overhead budgeting. Since the system was rigorously tested for Stress, the system stability was robust under any circumstances.

3. Prisma Firewall
Company Overview
Icode is a Romania based company with a firewall product called Prisma.

Business Context
The Icode & Ideas developed a Firewall System called Prisma. Prisma Firewall software provides a reliable solution to intrusion prevention; a personal firewall for individual PCs. Using multi-layered protection, Prisma filters the traffic at network packet level as well as controls the applications network access.
Challenges
The company wanted to do market release of New Version within very short span of Time. Considering the time criticality of the project, Company wanted Mastiff to:
· Check the version compatibility with all available standard platforms.
· Check all the functionalities of the Product through functional and regression testing.
Multi-layered Protection
Packet Filtering
Network Traffic graph
Monitoring the in/out connections
· Test the Firewall for the stress condition.
· Report and document the status within the completion time plan.

How Mastiff Tech Helped
Mastiff Tech Team understood the Product and seeing the time criticality of the project, designed the testing environment in such a way that the whole QA process strictly follow the time schedule without compromising on the quality part. After thoroughly analyzing the System Requirement Specifications, the team developed the Test plans. The test plan had details about test cases, methods and tools selection for automation. The mix of manual and automation testing methodology was followed up and all the detected bugs and defects were properly documented and reported. This was of course followed by the regression testing when the reported bugs and defects were fixed by the client’s development partner. We have tested the product with firehole, Ghost, jumper, leaktest, outbound, pcaudit, WallBreaker, Yalta etc. Automated tools

Result
Mastiff Team completed the assigned task within the time frame. Due to early detection of the defects, the application got upgraded in quality during the development phase itself, which helped the client to release Prisma in schedule time without any overhead budgeting.


Domains we cater:
Mastiff QA team is pool of strong Quality assurance people with various domain expertise. Domains that we specialize in:
· Health Care
· Small Devices
· Online Media
· Network Performance Benchmarking
· Gaming Solutions
· Telecom
· Web Services and ASP Offerings
· Internet Infrastructure and Applications

Client benefit:
· Clients get served by the best in the field. So, QA component of their business value gets huge enhancement.
· Cost effectiveness
· A dedicated Mastiff Tech QA team for the project and Single point of contact provided by the Mastiff Tech. Thus, time schedule, Quality and Transparency guaranteed to the client.
· Custom tailored methodology for each project as every project is treated as a unique project in itself. Thus, all the finest details of the project are covered in the Mastiff Tech Methodology.