The best combinations of methodologies and tools are used for each client need and each scenario. Here is an overview of our testing process and the tools we make use of to provide the best services
Our quality assurance practices span the entire organization’s operations and are not limited to just the software development process alone. We believe that quality is the sum total of all the activities – direct as well as support – that go into the making of the final service or product. Our quality policy therefore influences even the smallest of actions that individuals take on a day-to-day basis.
HR & Training Process
Capable people make the backbone of any organization. At PIT Solutions, we believe in the strengths and capabilities of our employees and give chance to enhance their capabilities. Training programs on soft skills, technical and quality related aspects are conducted on a regular basis. We give special stress to quality during the induction program, which enables the employee to imbibe the element of quality into the mind.
The recruitment process is organized in such a way as to attract the best intellect in the area and then a rigorous screening process is used to find the best among the best. We take special care in identifying process-oriented persons who are striving for continuous improvement.
The management is pledged to provide a pleasant atmosphere and environment conducive to enhance the skills and motivate the employees to the hilt. Here we follow an open culture where there is every chance for an individual to pursue his/her professional aspirations.
Code review is given utmost importance at PITS, with the philosophy in mind that defects/bugs found out at the earliest stage reduces the quality related problems at a later stage when it is costly to make the fixes. Our rich experience in project execution has taught us that code review is more economical than bug fixing. So the emphasis of our quality assurance is more on eliminating chances of program failure early on as against identifying bugs at a later stage through testing and then fixing them.
At PIT Solutions, we never allow a delivery to happen without extensive testing by our well-equipped test team. Here we have a capable testing team of 15-20 members who can handle any type of testing requirement for any software. The team has extensive experience in testing web applications, client-server applications, stand-alone consumer products as well as educational software. This is one way of ensuring the quality of the project we deliver.
We collect 360 degree feedback within and outside the organization. By soliciting feedback from the client on a regular basis, we measure how good the quality of our services is. Internally, we solicit feedback at all levels to identify and enhance the best practices, and to isolate and eliminate the bad practices.
We believe in the popular principle that we cannot control what we cannot measure. To have control over processes and change them for the better, we have a few metrics in place even for abstract functions. Individual, team and project performances and successes are translated to accepted measures. The accumulated detailed metrics gives us tremendous information about what is going on, and throws up clear indications on where to tweak next.
Our verification & validation processes follow very stringent & proven methodologies for Quality Assurance. Even more, our development methodology closely embraces test driven development practices thereby making quality consciousness ingrained in our development process itself.
Our testing capabilities include the following:
1. Unit Tests and Integration Tests
Unit Tests play a very vital role in producing quality product. They ensure that all internal components are built as per specs. However, the greatest advantage is that these unit tests, being automated test scripts, can be effectively used for regression tests.Integration Tests are again white box tests that operate at a higher level than the unit tests. For example, if Unit tests operate at the class level, then Integration tests operate at the module level. Integration tests often test the interfaces of subsystems or modules.We have extensive experience in writing useful and effective unit tests and Integration Tests.
2. Functional Tests
Functional Tests are black box tests that verify that all of the functionality is met. It is very common that functionality tests reduce to User Interface based tests. We have certified testers to conduct functionality level tests.
3. Regression Tests
Regular regression testing is critical to quality assurance of software projects and products. Surprisingly, regression testing is not widely practiced. Many verify critical functionality once, and then assume that the software and applications will continue to work unless they are intentionally modified. Our team works closely with clients to develop customer specific guidelines for regression system usage throughout a project’s lifecycle. Regression is closely linked with functional testing. Internally we use Unit Test suites and automated functional tests to ensure thorough and regular regression tests.
4. Usability Tests
Usability testing is a continuous process to ensure that applications and web sites remain effective and user-friendly in all usage environments. This kind of tests generally involves measuring how well test subjects respond in areas like efficiency, accuracy, recall, and emotional response.
5. User Acceptance Tests
User Acceptance tests are an integral part of the PIT testing process. This is the final testing for requirement validation and is often done in a simulated environment or real-world conditions before a software application is released to final users. User Acceptance tests provide assurance that the delivered system meets business requirements.
6. Application Vulnerability Tests
Security vulnerability testing is of utmost important for public web applications. Our testing processes for web applications include tests for the following common attacks: Directory traversal attacks, Injection flaws, SQL insertion attacks, verification and validation, buffer overflow vulnerabilities, cross-site scripting attacks, session & cookies management issues.
7. Load Tests
Load Testing help determine how an application performs under load or stress. This verifies and validates key attributes of the software, such as scalability and reliability. Performance tests help verify application compliance against non functional requirements and are also useful to benchmark applications. At PIT Solutions, performance testing is carried out using JMeter, which is a powerful performance testing tool that is absolutely open-sourced and Java based.
8. Automated Tests
Automated software testing plays a vital role in build verification tests, regression tests, and tests which include many simple and repetitive steps. Test automation provides the ideal solution to businesses by enhancing the speed, accuracy and cost-effectiveness of the testing process. We have a team of Selenium testing professionals, trusted by clients. At PIT Solutions, our team of experts provides the right automation test service to ensure better performance.
At PIT Solutions, we use the following tools to support our testing activities: