At Musikaar, we believe that 'A well functioning software means a well tested software'.
There are many technical and aesthetical aspects involved in making sure that a piece of software works as designed but let us try to glance through some of the things we take pride in!
- Dedicated teams setup solely to address individual client needs i.e. resources are not shared across different projects
- Using virtualization for efficient and reliable test-beds
- Designing and setting up of secure and isolated test environments
- Storing various artifacts related to AUT design and testing securely
- Conducting regular sync-up meetings and sending daily email reports
During the course of testing the software what we do is one or more of the following activities:
Consultation on the testing strategy and test plan creation
- Functional, Regression and White Box testing
- Performance and Scalability testing
- Compatibility testing
- Automation of tests
- Usability testing
- Security testing
Generally an engagement with Musikaar looks something like this:
- To start with, the client sends the installable/builds or provides a URL from where the team can access and go through the application.
Conference calls are held initially for knowledge transfer of the product and also for clearing doubts that the QA team has in order to get better understanding of the product.
Each team is headed by a lead and this lead is the point of contact for the client.
- Once the team gets familiar with the functionality of the product, a test strategy document is provided to the client for review. A test plan is then created.
- After getting an approval of the test plan, detailed test cases are written by the QA team and reviewed by the other members of engineering team.
- The QA team executes the tests based on these test cases.
- The QA team updates the test cases periodically as needed and enhance them as the product evolves with each release.
- The Team Lead provides a daily status report along with test results and bugs opened/closed.
- During the test case execution cycle, we open bugs in the client's bug tracking system. We also help Developers troubleshoot the problems to expedite the bug fixing period for the Developers.
- We become an integral part of the Engineering organization of the client and work on the releases as planned as part of the bigger team. Our team becomes the expert on the product they are testing.
- When necessary, on-site visits are done to have better collaboration between the two teams.
Scenarios such as load testing, stress testing or running functionality tests overnight for a release can be easily handled by automating tests. Our automation tests for functional testing are based on the test cases that we use for manual testing.
Some of the tools and technologies used:
- For virtualization - VMware ESXi, Citrix XenServer
- Test-beds comprise of Windows, Linux , Mac OSX, iOS & Android family of OS
- Various antimalware and encryption software for security
- Test case management tools like TestLink, Redmine, TestCollab
- Bug management tools like Jira, Bugzilla, Mantis
- Debugging tools like WinDbg, XCode, ProcMon, ProcExp etc