Quality Assurance

Every organization now-a-days faces tough competition and hence it is essential for them to provide goods or services of high quality at low cost to their customers. Optotelelinks has developed a very good code of conduct and practice for quality control, this approach is very well blended with our development process. And we ensure that with the new technologies, hack threats and scalability being integral part of the future applications, our system stays up to date so our client's products are not compromised with quality may it be performance, security, scalability, logical or cosmetic issues.

- When we think of the term "Quality Assurance", all activities like design, development, production, installation, servicing and documentation are related with it.
- One of the most widely used paradigms for Quality Assurance management is the PDCA (Plan-Do-Check-Act) approach, also known as the Shewhart cycle.
- Quality control involves series of inspection, reviews and tests used throughout the software process to ensure each work product meets the requirements placed upon it.
- The goal of Quality Assurance is to provide management with the data necessary to be informed about product quality, thereby gaining insight and confidence that product Quality is meeting its goals.

Quality Assurance Process
- Conduct a meeting with analyst team, design team and study the requirements of the system
- Analyze the system behavior and plan accordingly
- Prepare test case
- Select test data relative to the system
- Execute test cases with the help of the selected test data
- Perform GUI and designing testing
- Post the bugs in our bug tracking system
- Designing bugs are posted with the appropriate screen shots
- Verify the actual result against expected results
- Analysis result generated
- Save the result in form of pass or fail
- Automated reports are generated from CRM for detailed analysis
- Reports are finally analyzed by senior team
- Beta version delivered to client for review

Quality Assurance Approaches
Optotelelinks follows below approaches based on the project requirement. But above all we work on more practical approach for Quality Assurance of an application. Our team follows two different approaches for application testing.

Basic Approach
Unit Testing
focuses verification effort on the smallest unit of software
Integration Testing
uncovers errors associated with interface
Validation Testing
Software requirement analysis are validated against the software that has been constructed
System Testing
Checking of whole system and its component as one
White box Testing: White box testing guarantees All independent paths within a module have been excised at least once.
Exercises all logical decision on their true and false sides
Executes all loops at their boundaries and operational boundaries
Black box Testing: attempts to find errors in following categories
Interface errors
Errors in external database access
Incorrect or missing function
Regression Testing
Checking whether previously working functionalities have not stopped working due to some other changes
Alpha Testing
Conducted at the Optotelelinks by End- user
Browser compatibility
Check system in each browser like IE6, IE7, Firefox, Safari, Opera and Chrome

Specialized Testing Approach
Security Testing
Verifies that protection mechanism built into the system will, in fact, protect it from improper behavior like code hijack, SQL injection, Code Injection, XSS testing, Spam prevention etc.
Performance Testing
Verifies system will work on different platform, environment
Stress Testing
Verifies system will not crash under peak load

Checklist while we do application testing Logical issues
Designing / cosmetic issues
Cross browser compatibility
Automated email and its formatting
Broken links
W3C Validations

Tools & Reporting
At Optotelelinks we have developed our own bug tracking system, which can be accessed by client from anywhere, so they are up to date with the status. So clients can also post the bugs to the team directly and when the bugs are fixed they get email notification for the same, so client doesn’t have to follow up for the bugs and task that are assigned to the team.

We have a customised CRM, which our team uses for task assignment and bug tracking system. This CRM is capable of generating almost all the reports which helps
- The team leader and the client to see the bugs and its status
- Developers can check also check their pending bug, fix and close it
- Generate various reports to analyze the work done by the developer hence to ensure that quality standards are at the highest level.
- CRM sends the automated report with daily and weekly summary of pending bugs to the team leader, project manager and the client. Following are some of the reports generated by CRM.
     - Status wise bug report to filter the bugs by their status like open, fixed, closed, etc.
     - Bug type report to analyze where the development team should improve on - like cosmetic bugs, logical bugs and also stupid bugs which should not be there in the system
     - User wise bugs
- Priority wise bug report to get the bugs resolved in order of their priority like high, medium and low

The whole purpose of this system is to make sure that we improve on quality and make sure the system is transparent to our clients, as we believe in complete transparency.

Our clients also have the access to the bug and work tracking system.

Clients involvement

At Optotelelinks we have matured a process where the product is thoroughly checked before it is released in various releases. but as clients knows its industry and logic, we recommend that client also does the basic testing i.e. the logical testing of the product to ensure that the application is following the business logic that the client is expecting. To ensure this we submit the modules as and when completed to client to check for the logical issues. So client knows what is being developed and how the application is shaping up to avoid last minute surprises. This also allows us to get the feedback from client on regular basis to make sure that we are on proper development track.

But as said, its up to client to do regular checks, our team is highly capable of understanding, deploying and testing the business logic.